Ver Fonte

油站班结管理

XF--LRQYEJOKYDS\Administrator há 4 anos atrás
pai
commit
3c5589a1e1

+ 7 - 7
Yijia-SaaS/yijia-ui/src/api/customer/manage.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询客户管理列表
 export function listManage(query) {
   return request({
-    url: '/station/manage/list',
+    url: '/customer/manage/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listManage(query) {
 // 查询客户管理详细
 export function getManage(id) {
   return request({
-    url: '/station/manage/' + id,
+    url: '/customer/manage/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getManage(id) {
 // 新增客户管理
 export function addManage(data) {
   return request({
-    url: '/station/manage',
+    url: '/customer/manage',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addManage(data) {
 // 修改客户管理
 export function updateManage(data) {
   return request({
-    url: '/station/manage',
+    url: '/customer/manage',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateManage(data) {
 // 删除客户管理
 export function delManage(id) {
   return request({
-    url: '/station/manage/' + id,
+    url: '/customer/manage/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delManage(id) {
 // 导出客户管理
 export function exportManage(query) {
   return request({
-    url: '/station/manage/export',
+    url: '/customer/manage/export',
     method: 'get',
     params: query
   })
-}
+}

+ 25 - 1
Yijia-SaaS/yijia-ui/src/api/station/structure.js

@@ -9,6 +9,30 @@ export function listStructure(query) {
   })
 }
 
+export function listPersonnelStructure(query) {
+  return request({
+    url: '/station/structure/listPersonnelStructure',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function listOilStructure(query) {
+  return request({
+    url: '/station/structure/listOilStructure',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询油站信息列表
+export function stationinfo() {
+  return request({
+    url: '/station/info/selectStationInfo',
+    method: 'get'
+  })
+}
 // 查询班结管理详细
 export function getStructure(id) {
   return request({
@@ -50,4 +74,4 @@ export function exportStructure(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 83 - 32
Yijia-SaaS/yijia-ui/src/views/customer/manage/index.vue

@@ -1,10 +1,10 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="会员id" prop="memberId">
+      <el-form-item label="会员" prop="memberId">
         <el-input
           v-model="queryParams.memberId"
-          placeholder="请输入会员id"
+          placeholder="请输入会员"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
@@ -56,13 +56,18 @@
         />
       </el-form-item>
       <el-form-item label="油品" prop="oils">
-        <el-input
+        <el-select
           v-model="queryParams.oils"
-          placeholder="请输入油品"
+          placeholder="请选择油品"
           clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          size="small">
+          <el-option
+            v-for="dict in oilsOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="余额" prop="balance">
         <el-input
@@ -95,24 +100,24 @@
           placeholder="选择注册时间">
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="油站id" prop="stationId">
-        <el-input
+
+      <el-form-item label="油站名称" prop="stationId">
+        <el-select
           v-model="queryParams.stationId"
-          placeholder="请输入油站id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="油站名称" prop="stationNam">
-        <el-input
-          v-model="queryParams.stationNam"
-          placeholder="请输入油站名称"
+          placeholder="请选择油站"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+
+        >
+          <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>
         <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>
@@ -163,7 +168,7 @@
 
     <el-table v-loading="loading" :data="manageList" @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="id" v-if="false" />
       <el-table-column label="会员id" align="center" prop="memberId" />
       <el-table-column label="客户姓名" align="center" prop="customerName" />
       <el-table-column label="推荐人" align="center" prop="commendMan" />
@@ -179,7 +184,7 @@
           <span>{{ parseTime(scope.row.regtime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="油站id" align="center" prop="stationId" />
+      <el-table-column label="油站id" align="center" prop="stationId" v-if="false"/>
       <el-table-column label="油站名称" align="center" prop="stationNam" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -200,7 +205,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -212,7 +217,7 @@
     <!-- 添加或修改客户管理对话框 -->
     <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="会员id" prop="memberId">
+        <el-form-item label="会员" prop="memberId">
           <el-input v-model="form.memberId" placeholder="请输入会员id" />
         </el-form-item>
         <el-form-item label="客户姓名" prop="customerName">
@@ -231,7 +236,15 @@
           <el-input v-model="form.carNumber" placeholder="请输入车牌号" />
         </el-form-item>
         <el-form-item label="油品" prop="oils">
-          <el-input v-model="form.oils" placeholder="请输入油品" />
+          <el-select v-model="form.oils" multiple placeholder="请选择">
+            <el-option
+              v-for="dict in oilsOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+
         </el-form-item>
         <el-form-item label="余额" prop="balance">
           <el-input v-model="form.balance" placeholder="请输入余额" />
@@ -252,11 +265,22 @@
             placeholder="选择注册时间">
           </el-date-picker>
         </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="stationNam">
-          <el-input v-model="form.stationNam" placeholder="请输入油站名称" />
+
+        <el-form-item label="油站名称" prop="stationId">
+            <el-select
+              v-model="form.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-form>
       <div slot="footer" class="dialog-footer">
@@ -268,7 +292,8 @@
 </template>
 
 <script>
-import { listManage, getManage, delManage, addManage, updateManage, exportManage } from "@/api/station/manage";
+import { listManage, getManage, delManage, addManage, updateManage, exportManage } from "@/api/customer/manage";
+import {stationinfo} from "@/api/station/gun";
 
 export default {
   name: "Manage",
@@ -288,10 +313,13 @@ export default {
       total: 0,
       // 客户管理表格数据
       manageList: [],
+      //油站信息
+      stationOptions:[],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
       open: false,
+      oilsOptions:[],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -319,6 +347,12 @@ export default {
   },
   created() {
     this.getList();
+    stationinfo().then(response => {
+      this.stationOptions = response.rows;
+    });
+    this.getDicts("oil").then(response => {
+      this.oilsOptions = response.data;
+    });
   },
   methods: {
     /** 查询客户管理列表 */
@@ -330,6 +364,23 @@ export default {
         this.loading = false;
       });
     },
+    oilsOptionsFotmat(row, column){
+      if(row.oils === '1'){
+        return '汽油'
+      }else if(row.oils === '2'){
+        return '柴油'
+      }else if(row.oils === '3'){
+        return '柴油和汽油'
+      }
+    },
+    onInstitutionChang(e){
+      let obj = {};
+      obj = this.stationOptions.find((item)=>{//这里的userList就是上面遍历的数据源
+        return item.stationId === e;//筛选出匹配数据
+      })
+      console.log("油站名称"+obj.stationName);
+      this.form.stationNam=obj.stationName;
+    },
     // 取消按钮
     cancel() {
       this.open = false;

+ 82 - 32
Yijia-SaaS/yijia-ui/src/views/market/plan/index.vue

@@ -2,20 +2,22 @@
   <div class="app-container">
     <!--满减方案-->
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item>
-        <el-button icon="el-icon-refresh" size="mini" @click="handleAdd" v-hasPermi="['market:setting:add']" >添加等级</el-button>
-      </el-form-item>
+      <div>
+        <span  style="color:#ff9955;font-size:25px;" >|</span><span style="font-size:25px;">满减方案</span>
+        <el-button icon="el-icon-plus" size="mini" @click="handleAdd" style="float:right" type="warning" v-hasPermi="['market:setting:add']" >添加满减信息</el-button>
+      </div>
     </el-form>
     <el-table v-loading="loading" :data="planList" >
-      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="id" align="center" prop="id" v-if="false" />
       <el-table-column label="等级名称" align="center" prop="grade" />
       <el-table-column label="优惠条件" align="center" prop="discountTerm" />
-      <el-table-column label="优惠条件金额" v-show="false" align="center" prop="discountAmt" />
+      <el-table-column label="优惠条件金额" v-if="false" align="center" prop="discountAmt" />
       <el-table-column label="汽油优惠金额" align="center" prop="gasoilDiscountAmt" />
       <el-table-column label="柴油优惠金额" align="center" prop="dieseloilDiscountAmt" />
-      <el-table-column label="会员优惠是否叠加" align="center" prop="vipDiscountyPlus" />
-      <el-table-column label="可否叠加劵" align="center" prop="couponPlus" />
-      <el-table-column label="优惠方案类型" v-show="false" align="center" prop="discountPlanType" />
+      <el-table-column label="会员优惠是否叠加" align="center" prop="vipDiscountyPlus" :formatter="vipDiscountyPlusFotmat" />
+      <el-table-column label="可否叠加劵" align="center" prop="couponPlus" :formatter="couponPlusFotmat"
+      />
+      <el-table-column label="优惠方案类型" v-if="false" align="center" prop="discountPlanType" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -37,14 +39,14 @@
     </el-table>
     <!-- 添加或修改客户优惠等级设置对话框 -->
     <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 ref="form" :model="form" :rules="rules" label-width="130px">
         <el-form-item label="等级名称" prop="grade">
           <el-input v-model="form.grade" placeholder="请输入等级名称" />
         </el-form-item>
         <el-form-item label="优惠条件" prop="discountTerm">
           <el-input v-model="form.discountTerm" placeholder="请输入优惠条件" />
         </el-form-item>
-        <el-form-item label="优惠条件金额" prop="discountAmt">
+        <el-form-item v-show="false" label="优惠条件金额" prop="discountAmt">
           <el-input v-model="form.discountAmt" placeholder="请输入优惠条件金额" />
         </el-form-item>
         <el-form-item label="汽油优惠金额" prop="gasoilDiscountAmt">
@@ -54,12 +56,24 @@
           <el-input v-model="form.dieseloilDiscountAmt" placeholder="请输入柴油优惠金额" />
         </el-form-item>
         <el-form-item label="会员优惠是否叠加" prop="vipDiscountyPlus">
-          <el-input v-model="form.vipDiscountyPlus" placeholder="请输入会员优惠是否叠加" />
+          <el-radio-group v-model="form.vipDiscountyPlus">
+            <el-radio
+              v-for="dict in vipDiscountyPlusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="可否叠加劵" prop="couponPlus">
-          <el-input v-model="form.couponPlus" placeholder="请输入可否叠加劵" />
+          <el-radio-group v-model="form.couponPlus">
+            <el-radio
+              v-for="dict in couponPlusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
         </el-form-item>
-        <el-form-item label="优惠方案类型" prop="discountPlanType">
+        <el-form-item v-show="false" label="优惠方案类型" prop="discountPlanType">
           <el-select v-model="form.discountPlanType" placeholder="请选择优惠方案类型">
             <el-option label="请选择字典生成" value="" />
           </el-select>
@@ -71,21 +85,20 @@
       </div>
     </el-dialog>
     <!--立减方案-->
-    <el-form :model="selectParams" ref="selectFrom" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item>
-        <el-button icon="el-icon-refresh" size="mini" @click="handleAddDT" v-hasPermi="['market:setting:add']" >添加动态等级</el-button>
-      </el-form-item>
+    <el-form :model="selectParams" ref="selectFrom" :inline="true" v-show="showSearch" label-width="68px" style="margin-top: 25px;">
+      <span  style="color:#ff9955;font-size:25px;" >|</span><span style="font-size:25px;">立减方案</span>
+      <el-button icon="el-icon-plus" size="mini" @click="handleAddDT" style="float:right"  type="warning" v-hasPermi="['market:setting:add']" >添加立减方案</el-button>
     </el-form>
     <el-table v-loading="loading" :data="DTplanList" >
       <el-table-column label="id" align="center" prop="id" v-if="false" />
       <el-table-column label="等级名称" align="center" prop="grade" />
       <el-table-column label="优惠条件" align="center" prop="discountTerm" />
-      <el-table-column label="优惠条件金额" v-show="false" align="center" prop="discountAmt" />
+      <el-table-column label="优惠条件金额" v-if="false" align="center" prop="discountAmt" />
       <el-table-column label="汽油优惠金额" align="center" prop="gasoilDiscountAmt" />
       <el-table-column label="柴油优惠金额" align="center" prop="dieseloilDiscountAmt" />
-      <el-table-column label="会员优惠是否叠加" align="center" prop="vipDiscountyPlus" />
-      <el-table-column label="可否叠加劵" align="center" prop="couponPlus" />
-      <el-table-column label="优惠方案类型" v-show="false" align="center" prop="discountPlanType" />
+      <el-table-column label="会员优惠是否叠加" align="center" prop="vipDiscountyPlus" :formatter="vipDiscountyPlusFotmat" />
+      <el-table-column label="可否叠加劵" align="center" prop="couponPlus" :formatter="couponPlusFotmat" />
+      <el-table-column label="优惠方案类型" v-if="false" align="center" prop="discountPlanType" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope1">
           <el-button
@@ -107,14 +120,14 @@
     </el-table>
     <!-- 添加或修改动态客户优惠等级设置对话框 -->
     <el-dialog :title="title" :visible.sync="opendt" width="500px" append-to-body>
-      <el-form ref="dtform" :model="dtform" :rules="dtrules" label-width="110px">
+      <el-form ref="dtform" :model="dtform" :rules="dtrules" label-width="130px">
         <el-form-item label="等级名称" prop="grade">
           <el-input v-model="dtform.grade" placeholder="请输入等级名称" />
         </el-form-item>
         <el-form-item label="优惠条件" prop="discountTerm">
           <el-input v-model="dtform.discountTerm" placeholder="请输入优惠条件" />
         </el-form-item>
-        <el-form-item label="优惠条件金额" prop="discountAmt">
+        <el-form-item label="优惠条件金额" v-show="false" prop="discountAmt">
           <el-input v-model="dtform.discountAmt" placeholder="请输入优惠条件金额" />
         </el-form-item>
         <el-form-item label="汽油优惠金额" prop="gasoilDiscountAmt">
@@ -123,13 +136,25 @@
         <el-form-item label="柴油优惠金额" prop="dieseloilDiscountAmt">
           <el-input v-model="dtform.dieseloilDiscountAmt" placeholder="请输入柴油优惠金额" />
         </el-form-item>
-        <el-form-item label="会员优惠是否叠加" prop="vipDiscountyPlus">
-          <el-input v-model="dtform.vipDiscountyPlus" placeholder="请输入会员优惠是否叠加" />
+        <el-form-item label="会员优惠是否叠加"  prop="vipDiscountyPlus">
+          <el-radio-group v-model="dtform.vipDiscountyPlus">
+            <el-radio
+              v-for="dict in vipDiscountyPlusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="可否叠加劵" prop="couponPlus">
-          <el-input v-model="dtform.couponPlus" placeholder="请输入可否叠加劵" />
+          <el-radio-group v-model="dtform.couponPlus">
+            <el-radio
+              v-for="dict in couponPlusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
         </el-form-item>
-        <el-form-item label="优惠方案类型" prop="discountPlanType">
+        <el-form-item label="优惠方案类型" v-show="false" prop="discountPlanType">
           <el-select v-model="dtform.discountPlanType" placeholder="请选择优惠方案类型">
             <el-option label="请选择字典生成" value="" />
           </el-select>
@@ -165,6 +190,8 @@
         // 客户优惠等级设置表格数据
         planList: [],
         DTplanList: [],
+        couponPlusOptions:[],
+        vipDiscountyPlusOptions:[],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -218,11 +245,17 @@
     created() {
       this.getList();
       this.getList2();
+      this.getDicts("coupon_plus").then(response => {
+        this.couponPlusOptions = response.data;
+      });
+      this.getDicts("vip_discounty_plus").then(response => {
+        this.vipDiscountyPlusOptions = response.data;
+      });
     },
     methods: {
       /** 查询客户优惠等级设置列表 */
       getList() {
-        this.queryParams.gradeType="1";
+        this.queryParams.discountPlanType="1";
         this.loading = true;
         listPlan(this.queryParams).then(response => {
           this.planList = response.rows;
@@ -231,7 +264,7 @@
         });
       },
       getList2() {
-        this.selectParams.gradeType="3";
+        this.selectParams.discountPlanType="2";
         this.loading = true;
         listPlan(this.selectParams).then(response => {
           this.DTplanList = response.rows;
@@ -241,6 +274,20 @@
         });
       },
 
+      vipDiscountyPlusFotmat(row, column){
+        if(row.vipDiscountyPlus === '1'){
+          return '是'
+        }else if(row.vipDiscountyPlus === '2'){
+          return '否'
+        }
+      },
+      couponPlusFotmat(row, column){
+        if(row.couponPlus === '1'){
+          return '是'
+        }else if(row.couponPlus === '2'){
+          return '否'
+        }
+      },
       // 取消按钮
       cancel() {
         this.open = false;
@@ -305,7 +352,7 @@
       },
       /** 提交按钮 */
       submitForm() {
-        this.form.gradeType="1";
+        this.form.discountPlanType="1";
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.id != null) {
@@ -326,7 +373,7 @@
       },
       /** 提交按钮 */
       submitFormDT() {
-        this.dtform.gradeType="3";
+        this.dtform.discountPlanType="2";
         this.$refs["dtform"].validate(valid => {
           if (valid) {
             if (this.dtform.id != null) {
@@ -369,7 +416,7 @@
         }).then(function() {
           return delPlan(ids);
         }).then(() => {
-          this.getList();
+          this.getList2();
           this.msgSuccess("删除成功");
         })
       },
@@ -389,3 +436,6 @@
     }
   };
 </script>
+<style>
+
+</style>

+ 147 - 331
Yijia-SaaS/yijia-ui/src/views/station/structure/index.vue

@@ -1,279 +1,48 @@
 <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
+      <el-form-item label="油站名称" prop="stationId" >
+        <el-select
           v-model="queryParams.stationId"
-          placeholder="请输入班结人"
+          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-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>
         <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-button icon="el-icon-refresh" size="mini" @click="handleAdd">添加班结</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>
+    <!--按员工汇总-->
+    <span  style="color:#ff9955;font-size:25px;" >|</span><span style="font-size:25px;">按员工汇总</span>
+    <el-table v-loading="loading" show-summary :data="structureList"   :summary-method="getTotal">
+      <el-table-column label="员工姓名" align="center" prop="oilPersonnel" />
+      <el-table-column label="负责枪号" align="center" prop="oilGun" />
+      <el-table-column label="销量" align="center" prop="orderLiters" />
+      <el-table-column label="销额" align="center" prop="amt" />
+      <el-table-column label="销售笔数" align="center" prop="orderNo" />
+    </el-table>
+    <!--按油品汇总-->
+    <span  style="color:#ff9955;font-size:25px;padding-top: 15px;" >|</span><span style="font-size:25px;">按油品汇总</span>
+    <el-table v-loading="loading" :data="structureList1"  show-summary   :summary-method="getTotal2" >
+      <el-table-column label="油品" align="center" prop="oilName"  />
+      <el-table-column label="负责枪号" align="center" prop="oilGun" />
+      <el-table-column label="销量" align="center" prop="orderLiters" />
+      <el-table-column label="销额" align="center" prop="amt" />
+      <el-table-column label="销售笔数" align="center" prop="orderNo" />
     </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>
+      <span>请确认没有车主使用系统支付</span>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -283,26 +52,20 @@
 </template>
 
 <script>
-import { listStructure, getStructure, delStructure, addStructure, updateStructure, exportStructure } from "@/api/station/structure";
-
+import { stationinfo,listStructure,listPersonnelStructure,listOilStructure, 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: [],
+      structureList1: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -326,6 +89,7 @@ export default {
         classStructureDate: null,
         classStructureMan: null
       },
+      stationOptions:[],
       // 表单参数
       form: {},
       // 表单校验
@@ -335,17 +99,118 @@ export default {
   },
   created() {
     this.getList();
+    this.getList2();
+    stationinfo().then(response => {
+      this.stationOptions = response.rows;
+      this.loading = false;
+    });
   },
   methods: {
     /** 查询班结管理列表 */
     getList() {
       this.loading = true;
-      listStructure(this.queryParams).then(response => {
+      listPersonnelStructure(this.queryParams).then(response => {
         this.structureList = response.rows;
-        this.total = response.total;
         this.loading = false;
       });
     },
+    getList2() {
+      this.loading = true;
+      listOilStructure(this.queryParams).then(response => {
+        this.structureList1 = response.rows;
+        this.loading = false;
+      });
+    },
+    getTotal(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计';
+          return;
+        }
+        const values = data.map(item => Number(item[column.property]));
+        if (column.property === 'orderLiters') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(2);
+        }else if(column.property === 'amt'){
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(2);
+        }else if(column.property === 'orderNo'){
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(0);
+        } else {
+          sums[index] = '';
+        }
+      });
+      return sums;
+    },
+    getTotal2(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计';
+          return;
+        }
+        const values = data.map(item => Number(item[column.property]));
+        if (column.property === 'orderLiters') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(2);
+        }else if(column.property === 'amt'){
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(2);
+        }else if(column.property === 'orderNo'){
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index]=sums[index].toFixed(0);
+        } else {
+          sums[index] = '';
+        }
+      });
+      return sums;
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -374,7 +239,6 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
@@ -382,75 +246,27 @@ export default {
       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();
-            });
-          }
-        }
+      //获取当前登录人信息
+      //根据获取的用户信息来生成班结数据
+      this.form.stationName=this.$store.state.user.stationName;
+      this.form.stationId=this.$store.state.user.stationId;
+      this.form.classStructureMan=this.$store.state.user.name;
+      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>