XF--LRQYEJOKYDS\Administrator %!s(int64=4) %!d(string=hai) anos
pai
achega
b767a96f67
Modificáronse 25 ficheiros con 4668 adicións e 444 borrados
  1. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/adjust.js
  2. 1 0
      Yijia-SaaS/yijia-ui/src/api/station/common.js
  3. 60 0
      Yijia-SaaS/yijia-ui/src/api/station/gun.js
  4. 60 53
      Yijia-SaaS/yijia-ui/src/api/station/info.js
  5. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/manage.js
  6. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/notice.js
  7. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/order.js
  8. 60 0
      Yijia-SaaS/yijia-ui/src/api/station/pay.js
  9. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/personnel.js
  10. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/price.js
  11. 53 0
      Yijia-SaaS/yijia-ui/src/api/station/structure.js
  12. 372 0
      Yijia-SaaS/yijia-ui/src/views/station/adjust/index.vue
  13. 79 0
      Yijia-SaaS/yijia-ui/src/views/station/common/index.vue
  14. 36 0
      Yijia-SaaS/yijia-ui/src/views/station/common/priceAdjust.vue
  15. 40 0
      Yijia-SaaS/yijia-ui/src/views/station/common/stationTable.vue
  16. 368 0
      Yijia-SaaS/yijia-ui/src/views/station/gun/index.vue
  17. 422 391
      Yijia-SaaS/yijia-ui/src/views/station/info/index.vue
  18. 403 0
      Yijia-SaaS/yijia-ui/src/views/station/manage/index.vue
  19. 349 0
      Yijia-SaaS/yijia-ui/src/views/station/notice/index.vue
  20. 520 0
      Yijia-SaaS/yijia-ui/src/views/station/order/index.vue
  21. 154 0
      Yijia-SaaS/yijia-ui/src/views/station/pay/index.vue
  22. 328 0
      Yijia-SaaS/yijia-ui/src/views/station/personnel/index.vue
  23. 312 0
      Yijia-SaaS/yijia-ui/src/views/station/price/index.vue
  24. 456 0
      Yijia-SaaS/yijia-ui/src/views/station/structure/index.vue
  25. 277 0
      Yijia-SaaS/yijia-ui/src/views/station/structure/index1.vue

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/adjust.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询油品调价信息列表
+export function listAdjust(query) {
+  return request({
+    url: '/station/adjust/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油品调价信息详细
+export function getAdjust(adjustPriceId) {
+  return request({
+    url: '/station/adjust/' + adjustPriceId,
+    method: 'get'
+  })
+}
+
+// 新增油品调价信息
+export function addAdjust(data) {
+  return request({
+    url: '/station/adjust',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油品调价信息
+export function updateAdjust(data) {
+  return request({
+    url: '/station/adjust',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油品调价信息
+export function delAdjust(adjustPriceId) {
+  return request({
+    url: '/station/adjust/' + adjustPriceId,
+    method: 'delete'
+  })
+}
+
+// 导出油品调价信息
+export function exportAdjust(query) {
+  return request({
+    url: '/station/adjust/export',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 0
Yijia-SaaS/yijia-ui/src/api/station/common.js

@@ -0,0 +1 @@
+import request from '@/utils/request'

+ 60 - 0
Yijia-SaaS/yijia-ui/src/api/station/gun.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询油枪管理列表
+export function listGun(query) {
+  return request({
+    url: '/station/gun/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询油站信息列表
+export function stationinfo() {
+  return request({
+    url: '/station/info/selectStationInfo',
+    method: 'get'
+  })
+}
+
+// 查询油枪管理详细
+export function getGun(oilGunId) {
+  return request({
+    url: '/station/gun/' + oilGunId,
+    method: 'get'
+  })
+}
+
+// 新增油枪管理
+export function addGun(data) {
+  return request({
+    url: '/station/gun',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油枪管理
+export function updateGun(data) {
+  return request({
+    url: '/station/gun',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油枪管理
+export function delGun(oilGunId) {
+  return request({
+    url: '/station/gun/' + oilGunId,
+    method: 'delete'
+  })
+}
+
+// 导出油枪管理
+export function exportGun(query) {
+  return request({
+    url: '/station/gun/export',
+    method: 'get',
+    params: query
+  })
+}

+ 60 - 53
Yijia-SaaS/yijia-ui/src/api/station/info.js

@@ -1,53 +1,60 @@
-import request from '@/utils/request'
-
-// 查询油站信息列表
-export function listInfo(query) {
-  return request({
-    url: '/station/info/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 查询油站信息详细
-export function getInfo(stationId) {
-  return request({
-    url: '/station/info/' + stationId,
-    method: 'get'
-  })
-}
-
-// 新增油站信息
-export function addInfo(data) {
-  return request({
-    url: '/station/info',
-    method: 'post',
-    data: data
-  })
-}
-
-// 修改油站信息
-export function updateInfo(data) {
-  return request({
-    url: '/station/info',
-    method: 'put',
-    data: data
-  })
-}
-
-// 删除油站信息
-export function delInfo(stationId) {
-  return request({
-    url: '/station/info/' + stationId,
-    method: 'delete'
-  })
-}
-
-// 导出油站信息
-export function exportInfo(query) {
-  return request({
-    url: '/station/info/export',
-    method: 'get',
-    params: query
-  })
-}
+import request from '@/utils/request'
+
+// 查询油站信息列表
+export function listInfo(query) {
+  return request({
+    url: '/station/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站信息详细
+export function getInfo(stationId) {
+  return request({
+    url: '/station/info/' + stationId,
+    method: 'get'
+  })
+}
+
+// 新增油站信息
+export function addInfo(data) {
+  return request({
+    url: '/station/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油站信息
+export function updateInfo(data) {
+  return request({
+    url: '/station/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油站信息
+export function delInfo(stationId) {
+  return request({
+    url: '/station/info/' + stationId,
+    method: 'delete'
+  })
+}
+
+// 导出油站信息
+export function exportInfo(query) {
+  return request({
+    url: '/station/info/export',
+    method: 'get',
+    params: query
+  })
+}
+//查询油站信息
+export function selectStationInfo() {
+  return request({
+    url: '/station/info/selectStationInfo',
+    method: 'get'
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/manage.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询油站设备管理列表
+export function listManage(query) {
+  return request({
+    url: '/station/manage/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站设备管理详细
+export function getManage(deviceId) {
+  return request({
+    url: '/station/manage/' + deviceId,
+    method: 'get'
+  })
+}
+
+// 新增油站设备管理
+export function addManage(data) {
+  return request({
+    url: '/station/manage',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油站设备管理
+export function updateManage(data) {
+  return request({
+    url: '/station/manage',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油站设备管理
+export function delManage(deviceId) {
+  return request({
+    url: '/station/manage/' + deviceId,
+    method: 'delete'
+  })
+}
+
+// 导出油站设备管理
+export function exportManage(query) {
+  return request({
+    url: '/station/manage/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/notice.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询油站通知管理列表
+export function listNotice(query) {
+  return request({
+    url: '/station/notice/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站通知管理详细
+export function getNotice(noticeId) {
+  return request({
+    url: '/station/notice/' + noticeId,
+    method: 'get'
+  })
+}
+
+// 新增油站通知管理
+export function addNotice(data) {
+  return request({
+    url: '/station/notice',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油站通知管理
+export function updateNotice(data) {
+  return request({
+    url: '/station/notice',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油站通知管理
+export function delNotice(noticeId) {
+  return request({
+    url: '/station/notice/' + noticeId,
+    method: 'delete'
+  })
+}
+
+// 导出油站通知管理
+export function exportNotice(query) {
+  return request({
+    url: '/station/notice/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/order.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询订单支付列表
+export function listOrder(query) {
+  return request({
+    url: '/station/order/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询订单支付详细
+export function getOrder(orderId) {
+  return request({
+    url: '/station/order/' + orderId,
+    method: 'get'
+  })
+}
+
+// 新增订单支付
+export function addOrder(data) {
+  return request({
+    url: '/station/order',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改订单支付
+export function updateOrder(data) {
+  return request({
+    url: '/station/order',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除订单支付
+export function delOrder(orderId) {
+  return request({
+    url: '/station/order/' + orderId,
+    method: 'delete'
+  })
+}
+
+// 导出订单支付
+export function exportOrder(query) {
+  return request({
+    url: '/station/order/export',
+    method: 'get',
+    params: query
+  })
+}

+ 60 - 0
Yijia-SaaS/yijia-ui/src/api/station/pay.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询油站支付设置列表
+export function listPay(query) {
+  return request({
+    url: '/station/pay/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站支付设置详细
+export function getPay(payId) {
+  return request({
+    url: '/station/pay/' + payId,
+    method: 'get'
+  })
+}
+
+// 新增油站支付设置
+export function addPay(data) {
+  return request({
+    url: '/station/pay',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油站支付设置
+export function updatePay(data) {
+  return request({
+    url: '/station/pay',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油站支付设置
+export function delPay(payId) {
+  return request({
+    url: '/station/pay/' + payId,
+    method: 'delete'
+  })
+}
+
+// 导出油站支付设置
+export function exportPay(query) {
+  return request({
+    url: '/station/pay/export',
+    method: 'get',
+    params: query
+  })
+}
+//根据油站id获取支付信息
+export function getStationPay() {
+  return request({
+    url: '/station/pay/queryOne',
+    method: 'get'
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/personnel.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询油站员工信息列表
+export function listPersonnel(query) {
+  return request({
+    url: '/station/personnel/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站员工信息详细
+export function getPersonnel(personnelId) {
+  return request({
+    url: '/station/personnel/' + personnelId,
+    method: 'get'
+  })
+}
+
+// 新增油站员工信息
+export function addPersonnel(data) {
+  return request({
+    url: '/station/personnel',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油站员工信息
+export function updatePersonnel(data) {
+  return request({
+    url: '/station/personnel',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油站员工信息
+export function delPersonnel(personnelId) {
+  return request({
+    url: '/station/personnel/' + personnelId,
+    method: 'delete'
+  })
+}
+
+// 导出油站员工信息
+export function exportPersonnel(query) {
+  return request({
+    url: '/station/personnel/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/price.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询油品价格列表
+export function listPrice(query) {
+  return request({
+    url: '/station/price/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油品价格详细
+export function getPrice(oilPriceId) {
+  return request({
+    url: '/station/price/' + oilPriceId,
+    method: 'get'
+  })
+}
+
+// 新增油品价格
+export function addPrice(data) {
+  return request({
+    url: '/station/price',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改油品价格
+export function updatePrice(data) {
+  return request({
+    url: '/station/price',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除油品价格
+export function delPrice(oilPriceId) {
+  return request({
+    url: '/station/price/' + oilPriceId,
+    method: 'delete'
+  })
+}
+
+// 导出油品价格
+export function exportPrice(query) {
+  return request({
+    url: '/station/price/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
Yijia-SaaS/yijia-ui/src/api/station/structure.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询班结管理列表
+export function listStructure(query) {
+  return request({
+    url: '/station/structure/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询班结管理详细
+export function getStructure(id) {
+  return request({
+    url: '/station/structure/' + id,
+    method: 'get'
+  })
+}
+
+// 新增班结管理
+export function addStructure(data) {
+  return request({
+    url: '/station/structure',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改班结管理
+export function updateStructure(data) {
+  return request({
+    url: '/station/structure',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除班结管理
+export function delStructure(id) {
+  return request({
+    url: '/station/structure/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出班结管理
+export function exportStructure(query) {
+  return request({
+    url: '/station/structure/export',
+    method: 'get',
+    params: query
+  })
+}

+ 372 - 0
Yijia-SaaS/yijia-ui/src/views/station/adjust/index.vue

@@ -0,0 +1,372 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="油品名称" prop="oilName">
+        <el-input
+          v-model="queryParams.oilName"
+          placeholder="请输入油品名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="调整价格" prop="oilAdjustPrice">
+        <el-input
+          v-model="queryParams.oilAdjustPrice"
+          placeholder="请输入油品调整价格"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="生效状态" prop="takeEffectStatus">
+        <el-select v-model="queryParams.takeEffectStatus" placeholder="请选择生效状态" clearable size="small">
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="生效时间" prop="takeEffectDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.takeEffectDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择生效时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="调价时间" prop="adjustDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.adjustDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择调价时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="油站id" v-show="false" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入油站id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作员" prop="operator">
+        <el-input
+          v-model="queryParams.operator"
+          placeholder="请输入操作员"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:adjust:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:adjust:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:adjust:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:adjust:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="adjustList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="调价自增主键id" v-if="getHiddenColumns" align="center" prop="adjustPriceId" />
+      <el-table-column label="油品名称" align="center" prop="oilName" />
+      <el-table-column label="调整价格" align="center" prop="oilAdjustPrice" />
+      <el-table-column label="生效状态" align="center" prop="takeEffectStatus" />
+      <el-table-column label="生效时间" align="center" prop="takeEffectDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.takeEffectDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="调价时间" align="center" prop="adjustDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.adjustDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="油站id" v-if="getHiddenColumns" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="操作员" align="center" prop="operator" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:adjust:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:adjust:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油品调价信息对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="油品名称" prop="oilName">
+          <el-input v-model="form.oilName" placeholder="请输入油品名称" />
+        </el-form-item>
+        <el-form-item label="调整价格" prop="oilAdjustPrice">
+          <el-input v-model="form.oilAdjustPrice" placeholder="请输入油品调整价格" />
+        </el-form-item>
+        <el-form-item label="生效状态">
+          <el-radio-group v-model="form.takeEffectStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="生效时间" prop="takeEffectDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.takeEffectDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择生效时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="调价时间" prop="adjustDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.adjustDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择调价时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="油站id" v-show="false" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入油站id" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="操作员" prop="operator">
+          <el-input v-model="form.operator" placeholder="请输入操作员" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listAdjust, getAdjust, delAdjust, addAdjust, updateAdjust, exportAdjust } from "@/api/station/adjust";
+
+export default {
+  name: "Adjust",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油品调价信息表格数据
+      adjustList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        oilName: null,
+        oilAdjustPrice: null,
+        takeEffectStatus: null,
+        takeEffectDate: null,
+        adjustDate: null,
+        stationId: null,
+        stationName: null,
+        operator: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询油品调价信息列表 */
+    getList() {
+      this.loading = true;
+      listAdjust(this.queryParams).then(response => {
+        this.adjustList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        adjustPriceId: null,
+        oilName: null,
+        oilAdjustPrice: null,
+        takeEffectStatus: "0",
+        takeEffectDate: null,
+        adjustDate: null,
+        stationId: null,
+        stationName: null,
+        operator: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.adjustPriceId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油品调价信息";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const adjustPriceId = row.adjustPriceId || this.ids
+      getAdjust(adjustPriceId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油品调价信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.adjustPriceId != null) {
+            updateAdjust(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addAdjust(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const adjustPriceIds = row.adjustPriceId || this.ids;
+      this.$confirm('是否确认删除油品调价信息编号为"' + adjustPriceIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delAdjust(adjustPriceIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油品调价信息数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportAdjust(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 79 - 0
Yijia-SaaS/yijia-ui/src/views/station/common/index.vue

@@ -0,0 +1,79 @@
+<template>
+  <div id="station">
+    <ul>
+      <li v-for="(tab,index) in tabs" @click="toggle(index,tab.view)" :class="{active:active==index}">
+        {{tab.type}}
+      </li>
+    </ul>
+    <!--:is实现多个组件实现同一个挂载点-->
+    <component :is="currentView"></component>
+  </div>
+</template>
+
+<script>
+  import info from '../info/index.vue'
+  import pay from '../pay/index.vue'
+  import notice from '../notice/index.vue'
+  export default {
+    name: 'Common',
+    data(){
+      return {
+        active:0,
+        currentView:'油站信息',
+        tabs:[
+          {
+            type:'油站信息',
+            view:'info'
+          },
+          {
+            type:'支付配置',
+            view:'pay'
+          },
+          {
+            type:'设备管理',
+            view:'notice'
+          }
+        ]
+      }
+    },
+    methods:{
+      toggle(i,v){
+        this.active=i;
+        this.currentView=v;
+      }
+    },
+    components:{
+      info,
+      pay,
+      notice
+    }
+  }
+</script>
+
+<style>
+  #station {
+    font-family: 'Avenir', Helvetica, Arial, sans-serif;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    /* text-align: center;
+    color: #2c3e50;
+    margin-top: 60px; */
+  }
+  ul{
+    width:500px;
+    display:flex;
+  }
+  ul li{
+    width:100px;
+    height:40px;
+    /*background: #ccc;*/
+    display: inline-flex;
+    border-right:1px solid #ddd;
+    justify-content: center;
+    align-items: center;
+    cursor:pointer
+  }
+  ul li.active{
+    /*background:#333;*/
+  }
+</style>

+ 36 - 0
Yijia-SaaS/yijia-ui/src/views/station/common/priceAdjust.vue

@@ -0,0 +1,36 @@
+<template>
+  <div class="priceAdjust">
+    <el-tabs v-model="activeName" >
+      <el-tab-pane label="油品信息" name="price" :key="'price'">
+        <child1></child1>
+      </el-tab-pane>
+      <el-tab-pane label="调价记录" name="adjust" :key="'adjust'">
+        <child2></child2>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+<script>
+  import price from '../price/index.vue'
+  import adjust from '../adjust/index.vue'
+  export default {
+    name: 'priceAdjust',
+    components:{
+      child1:price,
+      child2:adjust
+    },
+    data() {
+      return {
+        activeName: 'price'
+      };
+    },
+    methods: {
+    }
+  };
+</script>
+<style>
+  .priceAdjust {
+  padding-left:15px;
+  }
+</style>
+

+ 40 - 0
Yijia-SaaS/yijia-ui/src/views/station/common/stationTable.vue

@@ -0,0 +1,40 @@
+<template>
+  <div class="tabZujian">
+    <el-tabs v-model="activeName" >
+      <el-tab-pane label="油站信息" name="info" :key="'info'">
+        <child1></child1>
+      </el-tab-pane>
+      <el-tab-pane label="支付配置" name="pay" :key="'pay'">
+        <child2></child2>
+      </el-tab-pane>
+      <el-tab-pane label="设备管理" name="notice" :key="'notice'">
+        <child3></child3>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+<script>
+  import tabZujianChild1 from '../info/index.vue'
+  import tabZujianChild2 from '../pay/index.vue'
+  import tabZujianChild3 from '../manage/index.vue'
+  export default {
+    name: 'tabZujian',
+    components:{
+      child1:tabZujianChild1,
+      child2:tabZujianChild2,
+      child3:tabZujianChild3
+    },
+    data() {
+      return {
+        activeName: 'info'
+      };
+    },
+    methods: {
+    }
+  };
+</script>
+<style>
+  .tabZujian {
+    padding-left:15px;
+  }
+</style>

+ 368 - 0
Yijia-SaaS/yijia-ui/src/views/station/gun/index.vue

@@ -0,0 +1,368 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="油枪号" prop="oilGunNo">
+        <el-input
+          v-model="queryParams.oilGunNo"
+          placeholder="请输入油枪号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油品名称" prop="oilName">
+        <el-input
+          v-model="queryParams.oilName"
+          placeholder="请输入油品名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站id" prop="stationId">
+          <el-select
+            v-model="queryParams.stationId"
+            placeholder="请选择油站"
+            clearable
+            size="small"
+          >
+          <el-option
+            v-for="item in stationOptions"
+            :key="item.stationId"
+            :label="item.stationName"
+            :value="item.stationId"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作时间" prop="date">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.date"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择操作时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="油枪状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择油枪状态" clearable size="small">
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:gun:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:gun:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:gun:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:gun:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="gunList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="油枪主键自增id" v-if="false" align="center" prop="oilGunId" />
+      <el-table-column label="油枪号" align="center" prop="oilGunNo" />
+      <el-table-column label="油品名称" align="center" prop="oilName" />
+      <el-table-column label="油站id" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="操作时间" align="center" prop="date" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="油枪状态" align="center" prop="status" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:gun:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:gun:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油枪管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="油枪号" prop="oilGunNo">
+          <el-input v-model="form.oilGunNo" placeholder="请输入油枪号" />
+        </el-form-item>
+        <el-form-item label="油品名称" prop="oilName">
+          <el-input v-model="form.oilName" placeholder="请输入油品名称" />
+        </el-form-item>
+        <el-form-item label="油站id" prop="stationId" >
+            <el-select
+              v-model="queryParams.stationId"
+              placeholder="请选择油站"
+              clearable
+              size="small"
+              @change="onInstitutionChang"
+            >
+              <el-option
+                v-for="item in stationOptions"
+                :key="item.stationId"
+                :label="item.stationName"
+                :value="item.stationId"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+<!--          <el-input v-model="form.stationId" placeholder="请输入油站id" />-->
+        <el-form-item v-show="true" label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName"  placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="操作时间" prop="date">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.date"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择操作时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="油枪状态">
+          <el-radio-group v-model="form.status">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listGun, getGun, delGun, addGun, updateGun, exportGun,stationinfo } from "@/api/station/gun";
+
+export default {
+  name: "Gun",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油枪管理表格数据
+      gunList: [],
+      //下拉油站
+      stationOptions:[],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        oilGunNo: null,
+        oilName: null,
+        stationId: null,
+        stationName: null,
+        date: null,
+        status: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    stationinfo().then(response => {
+      this.stationOptions = response.rows;
+    });
+  },
+  methods: {
+    /** 查询油枪管理列表 */
+    getList() {
+      this.loading = true;
+      listGun(this.queryParams).then(response => {
+        this.gunList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        oilGunId: null,
+        oilGunNo: null,
+        oilName: null,
+        stationId: null,
+        stationName: null,
+        date: null,
+        status: "0"
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.oilGunId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油枪管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const oilGunId = row.oilGunId || this.ids
+      getGun(oilGunId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油枪管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.oilGunId != null) {
+            updateGun(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addGun(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    onInstitutionChang(e){
+      let obj = {};
+      obj = this.stationOptions.find((item)=>{//这里的userList就是上面遍历的数据源
+          return item.stationId === e;//筛选出匹配数据
+        })
+      console.log(obj.stationId);//获取的 id
+      console.log(obj.stationName);//获取的 name
+      this.form.stationName=obj.stationName;
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const oilGunIds = row.oilGunId || this.ids;
+      this.$confirm('是否确认删除油枪管理编号为"' + oilGunIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delGun(oilGunIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油枪管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportGun(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 422 - 391
Yijia-SaaS/yijia-ui/src/views/station/info/index.vue

@@ -1,391 +1,422 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="油站名称" prop="stationName">
-        <el-input
-          v-model="queryParams.stationName"
-          placeholder="请输入油站名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油站号" prop="stationNo">
-        <el-input
-          v-model="queryParams.stationNo"
-          placeholder="请输入油站号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油站地址" prop="stationAddress">
-        <el-input
-          v-model="queryParams.stationAddress"
-          placeholder="请输入油站地址"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油枪数量" prop="oilGunNum">
-        <el-input
-          v-model="queryParams.oilGunNum"
-          placeholder="请输入油枪数量"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系人" prop="contacts">
-        <el-input
-          v-model="queryParams.contacts"
-          placeholder="请输入联系人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="电话" prop="phone">
-        <el-input
-          v-model="queryParams.phone"
-          placeholder="请输入电话"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="所属集团id" prop="stationGroupId">
-        <el-input
-          v-model="queryParams.stationGroupId"
-          placeholder="请输入所属集团id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="所属集团名称" prop="stationGroupName">
-        <el-input
-          v-model="queryParams.stationGroupName"
-          placeholder="请输入所属集团名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油站经度" prop="stationLongitude">
-        <el-input
-          v-model="queryParams.stationLongitude"
-          placeholder="请输入油站经度"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油站纬度" prop="stationLatitude">
-        <el-input
-          v-model="queryParams.stationLatitude"
-          placeholder="请输入油站纬度"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['station:info:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['station:info:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['station:info:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['station:info:export']"
-        >导出</el-button>
-      </el-col>
-	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="自增主键id" align="center" prop="stationId" />
-      <el-table-column label="油站名称" align="center" prop="stationName" />
-      <el-table-column label="油站号" align="center" prop="stationNo" />
-      <el-table-column label="油站地址" align="center" prop="stationAddress" />
-      <el-table-column label="油枪数量" align="center" prop="oilGunNum" />
-      <el-table-column label="联系人" align="center" prop="contacts" />
-      <el-table-column label="电话" align="center" prop="phone" />
-      <el-table-column label="所属集团id" align="center" prop="stationGroupId" />
-      <el-table-column label="所属集团名称" align="center" prop="stationGroupName" />
-      <el-table-column label="油站照片" align="center" prop="stationPic" />
-      <el-table-column label="油站经度" align="center" prop="stationLongitude" />
-      <el-table-column label="油站纬度" align="center" prop="stationLatitude" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['station:info:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['station:info:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改油站信息对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="油站名称" prop="stationName">
-          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
-        </el-form-item>
-        <el-form-item label="油站号" prop="stationNo">
-          <el-input v-model="form.stationNo" placeholder="请输入油站号" />
-        </el-form-item>
-        <el-form-item label="油站地址" prop="stationAddress">
-          <el-input v-model="form.stationAddress" placeholder="请输入油站地址" />
-        </el-form-item>
-        <el-form-item label="油枪数量" prop="oilGunNum">
-          <el-input v-model="form.oilGunNum" placeholder="请输入油枪数量" />
-        </el-form-item>
-        <el-form-item label="联系人" prop="contacts">
-          <el-input v-model="form.contacts" placeholder="请输入联系人" />
-        </el-form-item>
-        <el-form-item label="电话" prop="phone">
-          <el-input v-model="form.phone" placeholder="请输入电话" />
-        </el-form-item>
-        <el-form-item label="所属集团id" prop="stationGroupId">
-          <el-input v-model="form.stationGroupId" placeholder="请输入所属集团id" />
-        </el-form-item>
-        <el-form-item label="所属集团名称" prop="stationGroupName">
-          <el-input v-model="form.stationGroupName" placeholder="请输入所属集团名称" />
-        </el-form-item>
-        <el-form-item label="油站经度" prop="stationLongitude">
-          <el-input v-model="form.stationLongitude" placeholder="请输入油站经度" />
-        </el-form-item>
-        <el-form-item label="油站纬度" prop="stationLatitude">
-          <el-input v-model="form.stationLatitude" placeholder="请输入油站纬度" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/station/info";
-
-export default {
-  name: "Info",
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 油站信息表格数据
-      infoList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        stationName: null,
-        stationNo: null,
-        stationAddress: null,
-        oilGunNum: null,
-        contacts: null,
-        phone: null,
-        stationGroupId: null,
-        stationGroupName: null,
-        stationPic: null,
-        stationLongitude: null,
-        stationLatitude: null
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询油站信息列表 */
-    getList() {
-      this.loading = true;
-      listInfo(this.queryParams).then(response => {
-        this.infoList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        stationId: null,
-        stationName: null,
-        stationNo: null,
-        stationAddress: null,
-        oilGunNum: null,
-        contacts: null,
-        phone: null,
-        stationGroupId: null,
-        stationGroupName: null,
-        stationPic: null,
-        stationLongitude: null,
-        stationLatitude: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.stationId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加油站信息";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const stationId = row.stationId || this.ids
-      getInfo(stationId).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改油站信息";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.stationId != null) {
-            updateInfo(this.form).then(response => {
-              this.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addInfo(this.form).then(response => {
-              this.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const stationIds = row.stationId || this.ids;
-      this.$confirm('是否确认删除油站信息编号为"' + stationIds + '"的数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return delInfo(stationIds);
-        }).then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        })
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有油站信息数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return exportInfo(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-        })
-    }
-  }
-};
-</script>
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站地址" prop="stationAddress">
+        <el-input
+          v-model="queryParams.stationAddress"
+          placeholder="请输入油站地址"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油枪数量" prop="oilGunNum">
+        <el-input
+          v-model="queryParams.oilGunNum"
+          placeholder="请输入油枪数量"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="联系人" prop="contacts">
+        <el-input
+          v-model="queryParams.contacts"
+          placeholder="请输入联系人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="电话" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入电话"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="集团id" prop="stationGroupId">
+        <el-input
+          v-model="queryParams.stationGroupId"
+          placeholder="请输入集团id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="集团名称" prop="stationGroupName">
+        <el-input
+          v-model="queryParams.stationGroupName"
+          placeholder="请输入集团名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站经度" prop="stationLongitude">
+        <el-input
+          v-model="queryParams.stationLongitude"
+          placeholder="请输入油站经度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站纬度" prop="stationLatitude">
+        <el-input
+          v-model="queryParams.stationLatitude"
+          placeholder="请输入油站纬度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商户编码" prop="mno">
+        <el-input
+          v-model="queryParams.mno"
+          placeholder="请输入商户编码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:info:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:info:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:info:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:info:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column v-if="getHiddenColumns" label="自增主键id" align="center"  prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="油站地址" align="center" prop="stationAddress" />
+      <el-table-column label="油枪数量" align="center" prop="oilGunNum" />
+      <el-table-column label="联系人" align="center" prop="contacts" />
+      <el-table-column label="电话" align="center" prop="phone" />
+      <el-table-column label="集团id" align="center" prop="stationGroupId" />
+      <el-table-column label="集团名称" align="center" prop="stationGroupName" />
+      <el-table-column label="油站照片" align="center" prop="stationPic" />
+      <el-table-column label="油站经度" align="center" prop="stationLongitude" />
+      <el-table-column label="油站纬度" align="center" prop="stationLatitude" />
+      <el-table-column label="商户编码" align="center" prop="mno" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:info:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:info:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油站信息对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="90px">
+        <el-form-item label="油站形象照" prop="stationPic">
+          <el-upload
+            class="avatar-uploader"
+            action="http://localhost:8080/uploadSignImg'"
+            :show-file-list="false"
+            :on-success="handleAvatarSuccess"
+            :before-upload="beforeAvatarUpload">
+            <img v-if="form.stationPic" :src="form.stationPic" class="avatar">
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+          </el-upload>
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="油站地址" prop="stationAddress">
+          <el-input v-model="form.stationAddress" placeholder="请输入油站地址" />
+        </el-form-item>
+        <el-form-item label="油枪数量" prop="oilGunNum">
+          <el-input v-model="form.oilGunNum" placeholder="请输入油枪数量" />
+        </el-form-item>
+        <el-form-item label="联系人" prop="contacts">
+          <el-input v-model="form.contacts" placeholder="请输入联系人" />
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入电话" />
+        </el-form-item>
+        <el-form-item v-show="false" label="集团id" prop="stationGroupId" >
+          <el-input v-model="form.stationGroupId" placeholder="请输入所属集团id" />
+        </el-form-item>
+        <el-form-item label="集团名称" prop="stationGroupName">
+          <el-input v-model="form.stationGroupName" placeholder="请输入所属集团名称" />
+        </el-form-item>
+        <el-form-item label="油站经度" prop="stationLongitude">
+          <el-input v-model="form.stationLongitude" placeholder="请输入油站经度" />
+        </el-form-item>
+        <el-form-item label="油站纬度" prop="stationLatitude">
+          <el-input v-model="form.stationLatitude" placeholder="请输入油站纬度" />
+        </el-form-item>
+        <el-form-item label="商户编码" prop="mno">
+          <el-input v-model="form.mno" placeholder="请输入商户编码" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/station/info";
+
+export default {
+  name: "Info",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油站信息表格数据
+      infoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        stationName: null,
+        stationAddress: null,
+        oilGunNum: null,
+        contacts: null,
+        phone: null,
+        stationGroupId: null,
+        stationGroupName: null,
+        stationPic: null,
+        stationLongitude: null,
+        stationLatitude: null,
+        mno: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询油站信息列表 */
+    getList() {
+      this.loading = true;
+      listInfo(this.queryParams).then(response => {
+        this.infoList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    handleAvatarSuccess(res, file) {
+      this.form.stationPic = URL.createObjectURL(file.raw);
+    },
+    beforeAvatarUpload(file) {
+      let isJPG = true;
+      console.log(file);
+      if(file.type ==='image/jpeg'){
+        isJPG =true;
+      }else if(file.type =='image/png'){
+        isJPG =true;
+      }
+      const isLt5M = file.size / 1024 / 1024 < 5;
+      if (!isJPG) {
+        this.$message.error('上传头像图片只能是 JPG,格式!');
+      }
+      if (!isLt5M) {
+        this.$message.error('上传头像图片大小不能超过 5MB!');
+      }
+      return isJPG && isLt5M;
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        stationId: null,
+        stationName: null,
+        stationAddress: null,
+        oilGunNum: null,
+        contacts: null,
+        phone: null,
+        stationGroupId: null,
+        stationGroupName: null,
+        stationPic: null,
+        stationLongitude: null,
+        stationLatitude: null,
+        mno: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.stationId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油站信息";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const stationId = row.stationId || this.ids
+      getInfo(stationId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油站信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.stationId != null) {
+            updateInfo(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInfo(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const stationIds = row.stationId || this.ids;
+      this.$confirm('是否确认删除油站信息编号为"' + stationIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(stationIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油站信息数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 403 - 0
Yijia-SaaS/yijia-ui/src/views/station/manage/index.vue

@@ -0,0 +1,403 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="设备编号" prop="deviceNo">
+        <el-input
+          v-model="queryParams.deviceNo"
+          placeholder="请输入设备编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备名称" prop="deviceName">
+        <el-input
+          v-model="queryParams.deviceName"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备名称" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备类型" prop="deviceType">
+        <el-select v-model="queryParams.deviceType" multiple placeholder="请选择">
+          <el-option
+            v-for="dict in deviceTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="设备状态" prop="deviceStatus">
+        <el-select v-model="queryParams.deviceStatus" multiple placeholder="请选择">
+          <el-option
+            v-for="dict in deviceStatusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="设备序列号" prop="deviceSerialNum">
+        <el-input
+          v-model="queryParams.deviceSerialNum"
+          placeholder="请输入设备序列号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="绑定油枪号" prop="gunNo">
+        <el-input
+          v-model="queryParams.gunNo"
+          placeholder="请输入绑定油枪号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="设备厂家" prop="deviceFactory">
+        <el-input
+          v-model="queryParams.deviceFactory"
+          placeholder="请输入设备厂家"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:manage:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:manage:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:manage:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:manage:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="manageList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键自增id" v-if="getHiddenColumns" align="center" prop="deviceId" />
+      <el-table-column label="设备编号" align="center" prop="deviceNo" />
+      <el-table-column label="设备名称" align="center" prop="deviceName" />
+      <el-table-column label="设备名称" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="设备类型" align="center" prop="deviceType" />
+      <el-table-column label="设备序列号" align="center" prop="deviceSerialNum" />
+      <el-table-column label="绑定油枪号" align="center" prop="gunNo" />
+      <el-table-column label="设备状态" align="center" prop="deviceStatus" />
+      <el-table-column label="设备厂家" align="center" prop="deviceFactory" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:manage:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:manage:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油站设备管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="设备编号" prop="deviceNo">
+          <el-input v-model="form.deviceNo" placeholder="请输入设备编号" />
+        </el-form-item>
+        <el-form-item label="设备名称" prop="deviceName">
+          <el-input v-model="form.deviceName" placeholder="请输入设备名称" />
+        </el-form-item>
+        <el-form-item label="设备名称" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入设备名称" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="设备类型" >
+          <el-select v-model="form.deviceType" multiple placeholder="请选择">
+            <el-option
+              v-for="dict in deviceTypeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="设备序列号" prop="deviceSerialNum">
+          <el-input v-model="form.deviceSerialNum" placeholder="请输入设备序列号" />
+        </el-form-item>
+        <el-form-item label="绑定油枪号" prop="gunNo">
+          <el-input v-model="form.gunNo" placeholder="请输入绑定油枪号" />
+        </el-form-item>
+        <el-form-item label="设备状态" prop="deviceStatus">
+          <el-select v-model="form.deviceStatus" multiple placeholder="请选择">
+            <el-option
+              v-for="dict in deviceStatusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="设备厂家" prop="deviceFactory">
+          <el-input v-model="form.deviceFactory" placeholder="请输入设备厂家" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listManage, getManage, delManage, addManage, updateManage, exportManage } from "@/api/station/manage";
+
+export default {
+  name: "Manage",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油站设备管理表格数据
+      manageList: [],
+      //设备状态
+      deviceStatusOptions:[],
+      //设备类型
+      deviceTypeOptions:[],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        deviceNo: null,
+        deviceName: null,
+        stationId: null,
+        stationName: null,
+        deviceType: null,
+        deviceSerialNum: null,
+        gunNo: null,
+        deviceStatus: null,
+        deviceFactory: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    //字典设备状态
+    this.getDicts("device_status").then(response => {
+      this.deviceStatusOptions = response.data;
+    });
+    //字典设备类型
+    this.getDicts("device_type").then(response => {
+      this.deviceTypeOptions = response.data;
+    });
+
+  },
+  methods: {
+    /** 查询油站设备管理列表 */
+    getList() {
+      this.loading = true;
+      listManage(this.queryParams).then(response => {
+        this.manageList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        deviceId: null,
+        deviceNo: null,
+        deviceName: null,
+        stationId: null,
+        stationName: null,
+        deviceType: null,
+        deviceSerialNum: null,
+        gunNo: null,
+        deviceStatus: "0",
+        deviceFactory: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.deviceId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油站设备管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const deviceId = row.deviceId || this.ids
+      getManage(deviceId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油站设备管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.deviceId != null) {
+            updateManage(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addManage(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const deviceIds = row.deviceId || this.ids;
+      this.$confirm('是否确认删除油站设备管理编号为"' + deviceIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delManage(deviceIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油站设备管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportManage(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 349 - 0
Yijia-SaaS/yijia-ui/src/views/station/notice/index.vue

@@ -0,0 +1,349 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="姓名" prop="fullName">
+        <el-input
+          v-model="queryParams.fullName"
+          placeholder="请输入姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="绑定时间" prop="bindDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.bindDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择绑定时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="绑定状态" prop="bindStatus">
+        <el-select v-model="queryParams.bindStatus" placeholder="请选择绑定状态" clearable size="small">
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="微信昵称" prop="wxFullName">
+        <el-input
+          v-model="queryParams.wxFullName"
+          placeholder="请输入微信昵称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站id" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入油站id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:notice:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:notice:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:notice:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:notice:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="通知id 自增主键id" align="center" prop="noticeId" />
+      <el-table-column label="姓名" align="center" prop="fullName" />
+      <el-table-column label="手机号" align="center" prop="phone" />
+      <el-table-column label="绑定时间" align="center" prop="bindDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.bindDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="绑定状态" align="center" prop="bindStatus" />
+      <el-table-column label="微信昵称" align="center" prop="wxFullName" />
+      <el-table-column label="油站id" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:notice:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:notice:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油站通知管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="姓名" prop="fullName">
+          <el-input v-model="form.fullName" placeholder="请输入姓名" />
+        </el-form-item>
+        <el-form-item label="手机号" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入手机号" />
+        </el-form-item>
+        <el-form-item label="绑定时间" prop="bindDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.bindDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择绑定时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="绑定状态">
+          <el-radio-group v-model="form.bindStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="微信昵称" prop="wxFullName">
+          <el-input v-model="form.wxFullName" placeholder="请输入微信昵称" />
+        </el-form-item>
+        <el-form-item label="油站id" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入油站id" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listNotice, getNotice, delNotice, addNotice, updateNotice, exportNotice } from "@/api/station/notice";
+
+export default {
+  name: "Notice",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油站通知管理表格数据
+      noticeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fullName: null,
+        phone: null,
+        bindDate: null,
+        bindStatus: null,
+        wxFullName: null,
+        stationId: null,
+        stationName: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询油站通知管理列表 */
+    getList() {
+      this.loading = true;
+      listNotice(this.queryParams).then(response => {
+        this.noticeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        noticeId: null,
+        fullName: null,
+        phone: null,
+        bindDate: null,
+        bindStatus: "0",
+        wxFullName: null,
+        stationId: null,
+        stationName: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.noticeId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油站通知管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const noticeId = row.noticeId || this.ids
+      getNotice(noticeId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油站通知管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.noticeId != null) {
+            updateNotice(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addNotice(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const noticeIds = row.noticeId || this.ids;
+      this.$confirm('是否确认删除油站通知管理编号为"' + noticeIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delNotice(noticeIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油站通知管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportNotice(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 520 - 0
Yijia-SaaS/yijia-ui/src/views/station/order/index.vue

@@ -0,0 +1,520 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="订单号" prop="orderNo">
+        <el-input
+          v-model="queryParams.orderNo"
+          placeholder="请输入订单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="加油枪号" prop="oilGun">
+        <el-input
+          v-model="queryParams.oilGun"
+          placeholder="请输入加油枪号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油品名称" prop="oilName">
+        <el-input
+          v-model="queryParams.oilName"
+          placeholder="请输入油品名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+<!--      <el-form-item label="用户id(消费者)" prop="consumerId">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.consumerId"-->
+<!--          placeholder="请输入用户id(消费者)"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+      <el-form-item label="消费者" prop="consumer">
+        <el-input
+          v-model="queryParams.consumer"
+          placeholder="请输入消费者"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="金额" prop="amt">
+        <el-input
+          v-model="queryParams.amt"
+          placeholder="请输入金额"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站id" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入油站id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="支付状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in payStatusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="加油升数" prop="orderLiters">
+        <el-input
+          v-model="queryParams.orderLiters"
+          placeholder="请输入加油升数"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="支付类型" prop="payType">
+        <el-select v-model="queryParams.payType" placeholder="请选择支付类型" clearable size="small">
+          <el-option
+            v-for="dict in payTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="支付方式" prop="payWay">
+        <el-select v-model="queryParams.payWay" placeholder="请选择支付类型" clearable size="small">
+          <el-option
+            v-for="dict in payWayOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="支付时间" prop="payDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.payDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择支付时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="加油员" prop="oilPersonnel">
+        <el-input
+          v-model="queryParams.oilPersonnel"
+          placeholder="请输入加油员"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建时间" prop="createdDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.createdDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="订单类型" prop="orderType">
+        <el-select v-model="queryParams.orderType" placeholder="请选择订单类型" clearable size="small">
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:order:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:order:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:order:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:order:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="订单类型" align="center" prop="orderId" />
+      <el-table-column label="订单号" align="center" prop="orderNo" />
+      <el-table-column label="加油枪号" align="center" prop="oilGun" />
+      <el-table-column label="油品名称" align="center" prop="oilName" />
+      <el-table-column v-if="getHiddenColumns" label="用户id(消费者)" align="center" prop="consumerId" />
+      <el-table-column label="消费者" align="center" prop="consumer" />
+      <el-table-column label="金额" align="center" prop="amt" />
+      <el-table-column v-if="getHiddenColumns" label="油站id" align="center" prop="stationId" />
+      <el-table-column label="状态" align="center" prop="status" />
+      <el-table-column label="加油升数" align="center" prop="orderLiters" />
+      <el-table-column label="支付类型" align="center" prop="payType" />
+      <el-table-column label="支付方式" align="center" prop="payWay" />
+      <el-table-column label="支付时间" align="center" prop="payDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.payDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="加油员" align="center" prop="oilPersonnel" />
+      <el-table-column label="创建时间" align="center" prop="createdDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createdDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="订单类型" align="center" prop="orderType" v-if="getHiddenColumns" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:order:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:order:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改订单支付对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="订单号" prop="orderNo">
+          <el-input v-model="form.orderNo" placeholder="请输入订单号" />
+        </el-form-item>
+        <el-form-item label="加油枪号" prop="oilGun">
+          <el-input v-model="form.oilGun" placeholder="请输入加油枪号" />
+        </el-form-item>
+        <el-form-item label="油品名称" prop="oilName">
+          <el-input v-model="form.oilName" placeholder="请输入油品名称" />
+        </el-form-item>
+        <el-form-item label="用户id(消费者)" prop="consumerId">
+          <el-input v-model="form.consumerId" placeholder="请输入用户id(消费者)" />
+        </el-form-item>
+        <el-form-item label="消费者" prop="consumer">
+          <el-input v-model="form.consumer" placeholder="请输入消费者" />
+        </el-form-item>
+        <el-form-item label="金额" prop="amt">
+          <el-input v-model="form.amt" placeholder="请输入金额" />
+        </el-form-item>
+        <el-form-item label="油站id" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入油站id" />
+        </el-form-item>
+        <el-form-item label="状态">
+          <el-radio-group v-model="form.status">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+          <el-select v-model="form.status" placeholder="请选择支付类型:随行付:sxf">
+            <el-option
+              v-for="dict in payStatusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="加油升数" prop="orderLiters">
+          <el-input v-model="form.orderLiters" placeholder="请输入加油升数" />
+        </el-form-item>
+        <el-form-item label="支付类型" prop="payType">
+          <el-select v-model="form.payType" placeholder="请选择支付类型:随行付:sxf">
+            <el-option
+              v-for="dict in payTypeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+
+        </el-form-item>
+        <el-form-item label="支付方式" prop="payWay">
+          <el-select v-model="form.payWay" multiple placeholder="请选择">
+            <el-option
+              v-for="dict in payWayOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+
+        </el-form-item>
+        <el-form-item label="支付时间" prop="payDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.payDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择支付时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="加油员" prop="oilPersonnel">
+          <el-input v-model="form.oilPersonnel" placeholder="请输入加油员" />
+        </el-form-item>
+        <el-form-item label="创建时间" prop="createdDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.createdDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择创建时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="订单类型" prop="orderType">
+          <el-select v-model="form.orderType" placeholder="请选择订单类型">
+            <el-option label="请选择字典生成" value="" />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listOrder, getOrder, delOrder, addOrder, updateOrder, exportOrder } from "@/api/station/order";
+
+export default {
+  name: "Order",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 订单支付表格数据
+      orderList: [],
+      //字典
+      payTypeOptions:[],
+      payWayOptions:[],
+      payStatusOptions:[],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderNo: null,
+        oilGun: null,
+        oilName: null,
+        consumerId: null,
+        consumer: null,
+        amt: null,
+        stationId: null,
+        status: null,
+        orderLiters: null,
+        payType: null,
+        payWay: null,
+        payDate: null,
+        oilPersonnel: null,
+        createdDate: null,
+        orderType: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    //字典
+    this.getDicts("pay_type").then(response => {
+      this.payTypeOptions = response.data;
+    });
+    this.getDicts("pay_way").then(response => {
+      this.payWayOptions = response.data;
+    });
+    this.getDicts("pay_status").then(response => {
+      this.payStatusOptions = response.data;
+    });
+  },
+  methods: {
+    /** 查询订单支付列表 */
+    getList() {
+      this.loading = true;
+      listOrder(this.queryParams).then(response => {
+        this.orderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        orderId: null,
+        orderNo: null,
+        oilGun: null,
+        oilName: null,
+        consumerId: null,
+        consumer: null,
+        amt: null,
+        stationId: null,
+        status: "0",
+        orderLiters: null,
+        payType: null,
+        payWay: null,
+        payDate: null,
+        oilPersonnel: null,
+        createdDate: null,
+        orderType: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.orderId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加订单支付";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const orderId = row.orderId || this.ids
+      getOrder(orderId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改订单支付";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.orderId != null) {
+            updateOrder(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addOrder(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const orderIds = row.orderId || this.ids;
+      this.$confirm('是否确认删除订单支付编号为"' + orderIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delOrder(orderIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有订单支付数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportOrder(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 154 - 0
Yijia-SaaS/yijia-ui/src/views/station/pay/index.vue

@@ -0,0 +1,154 @@
+<template>
+  <div class="app-container">
+      <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="90px">
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index"  style="border-bottom: 1px solid #f0f0f0;padding: 10px;">
+          <el-form-item label="支付模板" style="width: 110px;" :prop="'formList.' + index + '.payMode'">
+            <el-upload
+              action="上传地址"
+              list-type="picture-card"
+              :on-preview="handlePictureCardPreview"
+              :on-remove="handleRemove">
+              <i class="el-icon-plus"></i>
+            </el-upload>
+            <el-dialog :visible.sync="dialogVisible">
+              <img width="100%" :src="dialogImageUrl" alt="">
+            </el-dialog>
+          </el-form-item>
+        </el-row>
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index" style="border-bottom: 1px solid #f0f0f0;padding: 10px;">
+          <el-form-item label="支付页面形象照" style="width: 110px;" prop="'formList.' + index + '.imagePhotosFlag'">
+            <el-radio-group v-model="item.imagePhotosFlag">
+              <el-radio
+                v-for="dict in imagePhotosFlagOptions"
+                :key="dict.dictValue"
+                :label="dict.dictValue"
+              >{{dict.dictLabel}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-row>
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index" style="border-bottom: 1px solid #f0f0f0;padding: 10px;">
+          <el-form-item label="电子会员卡" style="width: 110px;" prop="'formList.' + index + '.cardEnabledFlag'">
+            <el-radio-group v-model="item.cardEnabledFlag">
+              <el-radio
+                v-for="dict in cardEnabledFlagOptions"
+                :key="dict.dictValue"
+                :label="dict.dictValue"
+              >{{dict.dictLabel}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-row>
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index" style="border-bottom: 1px solid #f0f0f0;padding: 10px;" >
+          <el-form-item label="支付回调页面" style="width: 110px;"  :prop="'formList.' + index + '.payCallbackPage'">
+            <el-input v-model="item.payCallbackPage" placeholder="请输入支付回调页面配置" />
+          </el-form-item>
+        </el-row>
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index" style="border-bottom: 1px solid #f0f0f0;padding: 10px;">
+          <el-form-item label="打印张数" style="width: 110px;" :prop="'formList.' + index + '.payPrintNum'">
+            <el-input v-model="item.payPrintNum" placeholder="请输入支付小票打印张数" />
+          </el-form-item>
+        </el-row>
+        <el-row v-for="(item,index) in ruleForm.formList" :key="index" style="border-bottom: 1px solid #f0f0f0;padding: 10px;">
+          <el-form-item label="班结是否打印" style="width: 110px;" :prop="'formList.' + index + '.wsPrintFlag'">
+            <el-radio-group v-model="item.wsPrintFlag">
+              <el-radio
+                v-for="dict in wsPrintFlagOptions"
+                :key="dict.dictValue"
+                :label="dict.dictValue"
+              >{{dict.dictLabel}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+
+  </div>
+</template>
+
+<script>
+import {addPay, updatePay,getStationPay} from "@/api/station/pay";
+
+export default {
+  name: "Pay",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      imagePhotosFlagOptions:[],
+      wsPrintFlagOptions:[],
+      cardEnabledFlagOptions:[],
+      dialogImageUrl: '',
+      dialogVisible: false,
+      ruleForm: {
+        formList: [
+          {
+            payMode: "",
+            imagePhotosFlag: "",
+            cardEnabledFlag: "",
+            payPrintNum: "",
+            payCallbackPage: "",
+            wsPrintFlag: ""
+          }
+        ]
+      },
+    };
+  },
+  created() {
+    this.handleUpdate();
+    this.getDicts("image_photos_flag").then(response => {
+      this.imagePhotosFlagOptions = response.data;
+    });
+    this.getDicts("ws_print_flag").then(response => {
+      this.wsPrintFlagOptions = response.data;
+    });
+    this.getDicts("card_enabled_flag").then(response => {
+      this.cardEnabledFlagOptions = response.data;
+    });
+
+  },
+  methods: {
+    handleRemove(file, fileList) {
+      console.log(file, fileList);
+    },
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    /** 修改按钮操作 */
+    handleUpdate() {
+      getStationPay().then(response => {
+        this.ruleForm.formList = response.data;
+        this.open = true;
+        this.title = "油站支付设置";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.payId != null) {
+            updatePay(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPay(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    }
+  }
+};
+</script>

+ 328 - 0
Yijia-SaaS/yijia-ui/src/views/station/personnel/index.vue

@@ -0,0 +1,328 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="姓名" prop="personnelName">
+        <el-input
+          v-model="queryParams.personnelName"
+          placeholder="请输入姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="负责枪号" prop="gunNo">
+        <el-input
+          v-model="queryParams.gunNo"
+          placeholder="请输入负责枪号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="加油站id" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入加油站id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="二维码" prop="qrCode">
+        <el-input
+          v-model="queryParams.qrCode"
+          placeholder="请输入二维码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="personnelPhone">
+        <el-input
+          v-model="queryParams.personnelPhone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:personnel:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:personnel:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:personnel:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:personnel:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="personnelList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="油站员工主键id" v-if="getHiddenColumns" align="center" prop="personnelId" />
+      <el-table-column label="姓名" align="center" prop="personnelName" />
+      <el-table-column label="负责枪号" align="center" prop="gunNo" />
+      <el-table-column label="加油站id" align="center" prop="stationId" />
+      <el-table-column label="加油站名称" align="center" prop="stationName" />
+      <el-table-column label="二维码" align="center" prop="qrCode" />
+      <el-table-column label="手机号" align="center" prop="personnelPhone" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:personnel:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:personnel:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油站员工信息对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="姓名" prop="personnelName">
+          <el-input v-model="form.personnelName" placeholder="请输入员工姓名" />
+        </el-form-item>
+        <el-form-item label="负责枪号" prop="gunNo">
+          <el-input v-model="form.gunNo" placeholder="请输入员工负责枪号" />
+        </el-form-item>
+        <el-form-item label="油站id" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入加油站id" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入加油站名称" />
+        </el-form-item>
+        <el-form-item label="二维码" prop="qrCode">
+          <el-input v-model="form.qrCode" placeholder="请输入二维码" />
+        </el-form-item>
+        <el-form-item label="手机号" prop="personnelPhone">
+          <el-input v-model="form.personnelPhone" placeholder="请输入员工手机号" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listPersonnel, getPersonnel, delPersonnel, addPersonnel, updatePersonnel, exportPersonnel } from "@/api/station/personnel";
+
+export default {
+  name: "Personnel",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油站员工信息表格数据
+      personnelList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        personnelName: null,
+        gunNo: null,
+        stationId: null,
+        stationName: null,
+        qrCode: null,
+        personnelPhone: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询油站员工信息列表 */
+    getList() {
+      this.loading = true;
+      listPersonnel(this.queryParams).then(response => {
+        this.personnelList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        personnelId: null,
+        personnelName: null,
+        gunNo: null,
+        stationId: null,
+        stationName: null,
+        qrCode: null,
+        personnelPhone: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.personnelId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油站员工信息";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const personnelId = row.personnelId || this.ids
+      getPersonnel(personnelId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油站员工信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.personnelId != null) {
+            updatePersonnel(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPersonnel(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const personnelIds = row.personnelId || this.ids;
+      this.$confirm('是否确认删除油站员工信息编号为"' + personnelIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delPersonnel(personnelIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油站员工信息数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportPersonnel(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 312 - 0
Yijia-SaaS/yijia-ui/src/views/station/price/index.vue

@@ -0,0 +1,312 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="油品名称" prop="oilName">
+        <el-input
+          v-model="queryParams.oilName"
+          placeholder="请输入油品名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油品价格" prop="oilPrice">
+        <el-input
+          v-model="queryParams.oilPrice"
+          placeholder="请输入油品价格"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称"  prop="stationNanme">
+        <el-input
+          v-model="queryParams.stationNanme"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作时间" prop="date">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.date"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择操作时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:price:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:price:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:price:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:price:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="priceList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="油品价格id" v-if="getHiddenColumns" align="center" prop="oilPriceId" />
+      <el-table-column label="油品名称" align="center" prop="oilName" />
+      <el-table-column label="油品价格" align="center" prop="oilPrice" />
+      <el-table-column label="油站id" v-if="getHiddenColumns" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationNanme" />
+      <el-table-column label="操作时间" align="center" prop="date" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:price:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:price:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改油品价格对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="油品名称" prop="oilName">
+          <el-input v-model="form.oilName" placeholder="请输入油品名称" />
+        </el-form-item>
+        <el-form-item label="油品价格" prop="oilPrice">
+          <el-input v-model="form.oilPrice" placeholder="请输入油品价格" />
+        </el-form-item>
+        <el-form-item  label="油站id" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入油站id" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationNanme">
+          <el-input v-model="form.stationNanme" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="操作时间" prop="date">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.date"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择操作时间">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listPrice, getPrice, delPrice, addPrice, updatePrice, exportPrice } from "@/api/station/price";
+
+export default {
+  name: "Price",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 油品价格表格数据
+      priceList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        oilName: null,
+        oilPrice: null,
+        stationId: null,
+        stationNanme: null,
+        date: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询油品价格列表 */
+    getList() {
+      this.loading = true;
+      listPrice(this.queryParams).then(response => {
+        this.priceList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        oilPriceId: null,
+        oilName: null,
+        oilPrice: null,
+        stationId: null,
+        stationNanme: null,
+        date: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.oilPriceId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加油品价格";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const oilPriceId = row.oilPriceId || this.ids
+      getPrice(oilPriceId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改油品价格";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.oilPriceId != null) {
+            updatePrice(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPrice(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const oilPriceIds = row.oilPriceId || this.ids;
+      this.$confirm('是否确认删除油品价格编号为"' + oilPriceIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delPrice(oilPriceIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有油品价格数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportPrice(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 456 - 0
Yijia-SaaS/yijia-ui/src/views/station/structure/index.vue

@@ -0,0 +1,456 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="班结人" prop="stationId">
+        <el-input
+          v-model="queryParams.stationId"
+          placeholder="请输入班结人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油站名称" prop="stationName">
+        <el-input
+          v-model="queryParams.stationName"
+          placeholder="请输入油站名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="员工姓名" prop="person">
+        <el-input
+          v-model="queryParams.person"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="负责枪号" prop="gunNo">
+        <el-input
+          v-model="queryParams.gunNo"
+          placeholder="请输入负责枪号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="销量" prop="salesVolume">
+        <el-input
+          v-model="queryParams.salesVolume"
+          placeholder="请输入销量"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="销额" prop="salesAmount">
+        <el-input
+          v-model="queryParams.salesAmount"
+          placeholder="请输入销额"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="优惠" prop="discount">
+        <el-input
+          v-model="queryParams.discount"
+          placeholder="请输入优惠"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="优惠券" prop="coupon">
+        <el-input
+          v-model="queryParams.coupon"
+          placeholder="请输入优惠券"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="实收" prop="netReceipts">
+        <el-input
+          v-model="queryParams.netReceipts"
+          placeholder="请输入实收"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="销售笔数" prop="salesNum">
+        <el-input
+          v-model="queryParams.salesNum"
+          placeholder="请输入销售笔数"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="打印小票数" prop="printNum">
+        <el-input
+          v-model="queryParams.printNum"
+          placeholder="请输入打印小票数"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="班次号" prop="classStructureNo">
+        <el-input
+          v-model="queryParams.classStructureNo"
+          placeholder="请输入班次号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="班结时间" prop="classStructureDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.classStructureDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择班结时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="班结人" prop="classStructureMan">
+        <el-input
+          v-model="queryParams.classStructureMan"
+          placeholder="请输入班结人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['station:structure:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['station:structure:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['station:structure:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['station:structure:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="structureList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="班结人" align="center" prop="id" />
+      <el-table-column label="班结人" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="员工姓名" align="center" prop="person" />
+      <el-table-column label="负责枪号" align="center" prop="gunNo" />
+      <el-table-column label="销量" align="center" prop="salesVolume" />
+      <el-table-column label="销额" align="center" prop="salesAmount" />
+      <el-table-column label="优惠" align="center" prop="discount" />
+      <el-table-column label="优惠券" align="center" prop="coupon" />
+      <el-table-column label="实收" align="center" prop="netReceipts" />
+      <el-table-column label="销售笔数" align="center" prop="salesNum" />
+      <el-table-column label="打印小票数" align="center" prop="printNum" />
+      <el-table-column label="班次号" align="center" prop="classStructureNo" />
+      <el-table-column label="班结时间" align="center" prop="classStructureDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.classStructureDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="班结人" align="center" prop="classStructureMan" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:structure:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:structure:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改班结管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="班结人" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入班结人" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="员工姓名" prop="person">
+          <el-input v-model="form.person" placeholder="请输入员工姓名" />
+        </el-form-item>
+        <el-form-item label="负责枪号" prop="gunNo">
+          <el-input v-model="form.gunNo" placeholder="请输入负责枪号" />
+        </el-form-item>
+        <el-form-item label="销量" prop="salesVolume">
+          <el-input v-model="form.salesVolume" placeholder="请输入销量" />
+        </el-form-item>
+        <el-form-item label="销额" prop="salesAmount">
+          <el-input v-model="form.salesAmount" placeholder="请输入销额" />
+        </el-form-item>
+        <el-form-item label="优惠" prop="discount">
+          <el-input v-model="form.discount" placeholder="请输入优惠" />
+        </el-form-item>
+        <el-form-item label="优惠券" prop="coupon">
+          <el-input v-model="form.coupon" placeholder="请输入优惠券" />
+        </el-form-item>
+        <el-form-item label="实收" prop="netReceipts">
+          <el-input v-model="form.netReceipts" placeholder="请输入实收" />
+        </el-form-item>
+        <el-form-item label="销售笔数" prop="salesNum">
+          <el-input v-model="form.salesNum" placeholder="请输入销售笔数" />
+        </el-form-item>
+        <el-form-item label="打印小票数" prop="printNum">
+          <el-input v-model="form.printNum" placeholder="请输入打印小票数" />
+        </el-form-item>
+        <el-form-item label="班次号" prop="classStructureNo">
+          <el-input v-model="form.classStructureNo" placeholder="请输入班次号" />
+        </el-form-item>
+        <el-form-item label="班结时间" prop="classStructureDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.classStructureDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择班结时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="班结人" prop="classStructureMan">
+          <el-input v-model="form.classStructureMan" placeholder="请输入班结人" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listStructure, getStructure, delStructure, addStructure, updateStructure, exportStructure } from "@/api/station/structure";
+
+export default {
+  name: "Structure",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 班结管理表格数据
+      structureList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        stationId: null,
+        stationName: null,
+        person: null,
+        gunNo: null,
+        salesVolume: null,
+        salesAmount: null,
+        discount: null,
+        coupon: null,
+        netReceipts: null,
+        salesNum: null,
+        printNum: null,
+        classStructureNo: null,
+        classStructureDate: null,
+        classStructureMan: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询班结管理列表 */
+    getList() {
+      this.loading = true;
+      listStructure(this.queryParams).then(response => {
+        this.structureList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        stationId: null,
+        stationName: null,
+        person: null,
+        gunNo: null,
+        salesVolume: null,
+        salesAmount: null,
+        discount: null,
+        coupon: null,
+        netReceipts: null,
+        salesNum: null,
+        printNum: null,
+        classStructureNo: null,
+        classStructureDate: null,
+        classStructureMan: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加班结管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getStructure(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改班结管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateStructure(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addStructure(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除班结管理编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStructure(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有班结管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportStructure(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 277 - 0
Yijia-SaaS/yijia-ui/src/views/station/structure/index1.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="app-container">
+
+    <el-table v-loading="loading" :data="structureList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="班结人" align="center" prop="id" />
+      <el-table-column label="班结人" align="center" prop="stationId" />
+      <el-table-column label="油站名称" align="center" prop="stationName" />
+      <el-table-column label="员工姓名" align="center" prop="person" />
+      <el-table-column label="负责枪号" align="center" prop="gunNo" />
+      <el-table-column label="销量" align="center" prop="salesVolume" />
+      <el-table-column label="销额" align="center" prop="salesAmount" />
+      <el-table-column label="优惠" align="center" prop="discount" />
+      <el-table-column label="优惠券" align="center" prop="coupon" />
+      <el-table-column label="实收" align="center" prop="netReceipts" />
+      <el-table-column label="销售笔数" align="center" prop="salesNum" />
+      <el-table-column label="打印小票数" align="center" prop="printNum" />
+      <el-table-column label="班次号" align="center" prop="classStructureNo" />
+      <el-table-column label="班结时间" align="center" prop="classStructureDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.classStructureDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="班结人" align="center" prop="classStructureMan" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['station:structure:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['station:structure:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+
+
+    <!-- 添加或修改班结管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="班结人" prop="stationId">
+          <el-input v-model="form.stationId" placeholder="请输入班结人" />
+        </el-form-item>
+        <el-form-item label="油站名称" prop="stationName">
+          <el-input v-model="form.stationName" placeholder="请输入油站名称" />
+        </el-form-item>
+        <el-form-item label="员工姓名" prop="person">
+          <el-input v-model="form.person" placeholder="请输入员工姓名" />
+        </el-form-item>
+        <el-form-item label="负责枪号" prop="gunNo">
+          <el-input v-model="form.gunNo" placeholder="请输入负责枪号" />
+        </el-form-item>
+        <el-form-item label="销量" prop="salesVolume">
+          <el-input v-model="form.salesVolume" placeholder="请输入销量" />
+        </el-form-item>
+        <el-form-item label="销额" prop="salesAmount">
+          <el-input v-model="form.salesAmount" placeholder="请输入销额" />
+        </el-form-item>
+        <el-form-item label="优惠" prop="discount">
+          <el-input v-model="form.discount" placeholder="请输入优惠" />
+        </el-form-item>
+        <el-form-item label="优惠券" prop="coupon">
+          <el-input v-model="form.coupon" placeholder="请输入优惠券" />
+        </el-form-item>
+        <el-form-item label="实收" prop="netReceipts">
+          <el-input v-model="form.netReceipts" placeholder="请输入实收" />
+        </el-form-item>
+        <el-form-item label="销售笔数" prop="salesNum">
+          <el-input v-model="form.salesNum" placeholder="请输入销售笔数" />
+        </el-form-item>
+        <el-form-item label="打印小票数" prop="printNum">
+          <el-input v-model="form.printNum" placeholder="请输入打印小票数" />
+        </el-form-item>
+        <el-form-item label="班次号" prop="classStructureNo">
+          <el-input v-model="form.classStructureNo" placeholder="请输入班次号" />
+        </el-form-item>
+        <el-form-item label="班结时间" prop="classStructureDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.classStructureDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择班结时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="班结人" prop="classStructureMan">
+          <el-input v-model="form.classStructureMan" placeholder="请输入班结人" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listStructure, getStructure, delStructure, addStructure, updateStructure, exportStructure } from "@/api/station/structure";
+
+export default {
+  name: "Structure",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 班结管理表格数据
+      structureList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        stationId: null,
+        stationName: null,
+        person: null,
+        gunNo: null,
+        salesVolume: null,
+        salesAmount: null,
+        discount: null,
+        coupon: null,
+        netReceipts: null,
+        salesNum: null,
+        printNum: null,
+        classStructureNo: null,
+        classStructureDate: null,
+        classStructureMan: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询班结管理列表 */
+    getList() {
+      this.loading = true;
+      listStructure(this.queryParams).then(response => {
+        this.structureList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        stationId: null,
+        stationName: null,
+        person: null,
+        gunNo: null,
+        salesVolume: null,
+        salesAmount: null,
+        discount: null,
+        coupon: null,
+        netReceipts: null,
+        salesNum: null,
+        printNum: null,
+        classStructureNo: null,
+        classStructureDate: null,
+        classStructureMan: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加班结管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getStructure(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改班结管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateStructure(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addStructure(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除班结管理编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStructure(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有班结管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportStructure(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>