Ver Fonte

电子卡明细

Joe há 4 anos atrás
pai
commit
da7be983e3

+ 15 - 6
src/api/integral/wares.js

@@ -1,6 +1,6 @@
 import request from '@/utils/request'
 
-// 查询【请填写功能名称】列表
+// 查询积分商品列表
 export function listWares(query) {
   return request({
     url: '/integral/wares/list',
@@ -9,7 +9,7 @@ export function listWares(query) {
   })
 }
 
-// 查询【请填写功能名称】详细
+// 查询积分商品详细
 export function getWares(id) {
   return request({
     url: '/integral/wares/' + id,
@@ -17,7 +17,7 @@ export function getWares(id) {
   })
 }
 
-// 新增【请填写功能名称】
+// 新增积分商品
 export function addWares(data) {
   return request({
     url: '/integral/wares',
@@ -26,7 +26,7 @@ export function addWares(data) {
   })
 }
 
-// 修改【请填写功能名称】
+// 修改积分商品
 export function updateWares(data) {
   return request({
     url: '/integral/wares',
@@ -35,7 +35,16 @@ export function updateWares(data) {
   })
 }
 
-// 删除【请填写功能名称】
+// 修改
+export function editInfoWares(data) {
+  return request({
+    url: '/integral/wares/editInfoWares',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除积分商品
 export function delWares(id) {
   return request({
     url: '/integral/wares/' + id,
@@ -43,7 +52,7 @@ export function delWares(id) {
   })
 }
 
-// 导出【请填写功能名称】
+// 导出积分商品
 export function exportWares(query) {
   return request({
     url: '/integral/wares/export',

+ 71 - 37
src/views/dzk/Dzk_Rule.vue

@@ -100,7 +100,11 @@
           </el-radio-group>
         </el-form-item>
         <div v-show="settingForm.discountTimeSetting == 1">
-          <el-form-item label="活动的周期类型" prop="discountTimeType" :required="settingForm.discountTimeSetting==1">
+          <el-form-item
+            label="活动的周期类型"
+            prop="discountTimeType"
+            :required="settingForm.discountTimeSetting == 1"
+          >
             <el-select
               v-model="settingForm.discountTimeType"
               clearable
@@ -166,7 +170,11 @@
               </el-date-picker>
             </div>
           </el-form-item>
-          <el-form-item label="活动的赠送比例" prop="presentScale" :required="settingForm.discountTimeSetting==1">
+          <el-form-item
+            label="活动的赠送比例"
+            prop="presentScale"
+            :required="settingForm.discountTimeSetting == 1"
+          >
             <el-input
               v-model="settingForm.presentScale"
               placeholder="请输入赠送比例"
@@ -175,26 +183,41 @@
           </el-form-item>
         </div>
 
-
-        <el-form-item prop="isMarket" label="是否叠加营销方案" :required="settingForm.cardEnabledFlag==1">
+        <el-form-item
+          prop="isMarket"
+          label="是否叠加营销方案"
+          :required="settingForm.cardEnabledFlag == 1"
+        >
           <el-radio-group v-model="settingForm.isMarket">
             <el-radio label="1">叠加</el-radio>
             <el-radio label="0">不叠加</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item prop="isGradeSetting" label="是否叠加等级优惠" :required="settingForm.cardEnabledFlag==1">
+        <el-form-item
+          prop="isGradeSetting"
+          label="是否叠加等级优惠"
+          :required="settingForm.cardEnabledFlag == 1"
+        >
           <el-radio-group v-model="settingForm.isGradeSetting">
             <el-radio label="1">叠加</el-radio>
             <el-radio label="0">不叠加</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item prop="isDiscountCoupon" label="是否叠加优惠券" :required="settingForm.cardEnabledFlag==1">
+        <el-form-item
+          prop="isDiscountCoupon"
+          label="是否叠加优惠券"
+          :required="settingForm.cardEnabledFlag == 1"
+        >
           <el-radio-group v-model="settingForm.isDiscountCoupon">
             <el-radio label="1">叠加</el-radio>
             <el-radio label="0">不叠加</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item prop="enjoyIntegralMultiple" label="支付产生积分倍数" :required="settingForm.cardEnabledFlag==1">
+        <el-form-item
+          prop="enjoyIntegralMultiple"
+          label="支付产生积分倍数"
+          :required="settingForm.cardEnabledFlag == 1"
+        >
           <el-input
             v-model="settingForm.enjoyIntegralMultiple"
             style="width: 60px"
@@ -204,7 +227,9 @@
       </div>
     </el-form>
     <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitForm" size="mini">确 定</el-button>
+      <el-button type="primary" @click="submitForm" size="mini"
+        >确 定</el-button
+      >
     </div>
 
     <!-- 添加或修改客户电子会员卡充值优惠设置明细对话框 -->
@@ -346,7 +371,7 @@ export default {
         }
       }
       if (this.settingForm.discountTimeType == 3) {
-        if (!this.settingForm.collectClickDay) {
+        if (this.settingForm.collectClickDay.length <= 0) {
           callback(new Error("请填写活动时间"));
           return;
         }
@@ -423,7 +448,7 @@ export default {
         discountTimeType: [
           { validator: validateDiscountTimeType, trigger: "change" },
         ],
-        discountTimeSetting:[
+        discountTimeSetting: [
           {
             required: true,
             message: "请选择是否启用电子卡",
@@ -434,33 +459,40 @@ export default {
     };
   },
   created() {
-    selectCustomerCardSetting().then((response) => {
-      this.settingForm = response.data;
-      this.settingForm.collectClickCalendar = [];
-      this.settingForm.collectClickDay = "";
-      this.settingForm.cardOilsType = [];
-      if (
-        this.settingForm.discountTimeType == "1" ||
-        this.settingForm.discountTimeType == "2"
-      ) {
-        // if( this.form.discountTime == ""){
-        //   this.form.collectClickCalendar = [];
-        // }
-        this.settingForm.collectClickCalendar = this.settingForm.discountTime
-          .split(",")
-          .map(parseFloat);
-      } else if(this.settingForm.discountTimeType == "3") {
-        if (this.settingForm.discountTime.length == 0) {
-          this.settingForm.collectClickDay = [];
-        } else {
-          this.settingForm.collectClickDay = this.settingForm.discountTime.split(
-            ","
-          );
-        }
-      }
-    });
+    this.init();
   },
   methods: {
+    init() {
+      selectCustomerCardSetting().then((response) => {
+        this.settingForm = response.data;
+        this.settingForm.collectClickCalendar = [];
+        this.settingForm.collectClickDay = "";
+        const cardOilsType = this.settingForm.cardOilsType.split(',').filter((ele)=>{
+          return ele != ''
+        })
+        this.settingForm.cardOilsType = cardOilsType;
+        if (
+          this.settingForm.discountTimeType == "1" ||
+          this.settingForm.discountTimeType == "2"
+        ) {
+          // if( this.form.discountTime == ""){
+          //   this.form.collectClickCalendar = [];
+          // }
+          this.settingForm.collectClickCalendar = this.settingForm.discountTime
+            .split(",")
+            .map(parseFloat);
+        } else if (this.settingForm.discountTimeType == "3") {
+          if (this.settingForm.discountTime.length == 0) {
+            this.settingForm.collectClickDay = [];
+          } else {
+            this.settingForm.collectClickDay = this.settingForm.discountTime.split(
+              ","
+            );
+          }
+        }
+        this.settingForm ={...this.settingForm}
+      });
+    },
     timeClear() {
       this.settingForm.collectClickCalendar = [];
       this.settingForm.collectClickDay = [];
@@ -480,7 +512,7 @@ export default {
         });
         this.settingForm.collectClickCalendar.splice(temp, 1);
       }
-      this.$refs.settingForm.validateField("discountTimeType")
+      this.$refs.settingForm.validateField("discountTimeType");
       this.settingForm = { ...this.settingForm };
     },
     oilNameFormatter(row, column) {
@@ -527,10 +559,12 @@ export default {
           if (this.settingForm.id != null) {
             updateSetting(this.settingForm).then((response) => {
               this.msgSuccess("修改成功");
+              this.init()
             });
           } else {
             addSetting(this.settingForm).then((response) => {
               this.msgSuccess("新增成功");
+              this.init();
             });
           }
         }
@@ -540,7 +574,7 @@ export default {
     handleDelete(index) {
       this.settingForm.detailList.splice(index, 1);
     },
- 
+
     addItem() {
       this.$refs["infoForm"].validate((valid) => {
         if (valid) {

+ 222 - 91
src/views/dzk/Dzk_RuleList.vue

@@ -1,56 +1,103 @@
 <template>
   <div class="app-container">
-    <el-table  :data="detailList" >
-      <el-table-column label="电子会员卡充值规则" align="center" prop="parentId" >
-        <template slot-scope="scope">
-          <span v-show="scope.row.oilName=='1'">汽油</span>
-          <span v-show="scope.row.oilName=='2'">柴油</span>
-          <span>充值金额大于等于{{scope.row.discountAmtStart}}元小于{{scope.row.discountAmtEnd}}元赠送</span>
-          <span v-show="scope.row.settingRuleType==1">{{scope.row.presentAmt}}元</span>
-          <span v-show="scope.row.settingRuleType==2">{{scope.row.presentAmt}}%</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="是否启用充值规则" align="center" prop="cardOilsType" >
-        <template slot-scope="scope1">
-          <span v-show="scope1.row.cardOilsType=='1' && scope1.row.oilName=='1'">开启</span>
-          <span v-show="scope1.row.cardOilsType=='2' && scope1.row.oilName=='2'">开启</span>
-          <span v-show="scope1.row.cardOilsType=='1,2'">开启</span>
-          <span v-show="scope1.row.cardOilsType=='2,1'">开启</span>
-          <span v-show="scope1.row.cardOilsType==''">关闭</span>
-           <span v-show="scope1.row.cardOilsType=='2' && scope1.row.oilName=='1'">关闭</span>
-           <span v-show="scope1.row.cardOilsType=='1' && scope1.row.oilName=='2'">关闭</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="充值活动设置" align="center" prop="discountTimeSetting" :formatter="discountTimeSettingFormatter" width="100px;"/>
-      <el-table-column label="周期类型" align="center" prop="discountTimeType" :formatter="discountTimeTypeFormatter" width="90px;"/>
-      <el-table-column label="赠送比例" align="center" width="90px;" >
-        <template slot-scope="scope1">
-           <span >{{scope1.row.presentScale}}</span>
-           <span v-show="scope1.row.presentScale!=null&&scope1.row.presentScale!=''">%</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="电子卡支付产生积分可享受倍数" align="center" width="90px;" >
-        <template slot-scope="scope2">
-           <span >{{scope2.row.enjoyIntegralMultiple}}</span>
-           <span v-show="scope2.row.enjoyIntegralMultiple!=null&&scope2.row.enjoyIntegralMultiple!=''">倍</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="是否叠加优惠劵" align="center" prop="isDiscountCoupon" :formatter="isDiscountCouponFormatter" width="90px;"/>
-      <el-table-column label="是否叠加营销活动" align="center" prop="isMarket" :formatter="isMarketFormatter" width="90px;"/>
-      <el-table-column label="是否叠加等级设置" align="center" prop="isGradeSetting" :formatter="isGradeSettingFormatter" width="90px;"/>
-    </el-table>
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <el-form :model="sumForm">
+      <el-form-item label="电子卡启动状态">
+        {{ sumForm.cardEnabledFlag == 0 ? "未开启" : "已开启" }}
+      </el-form-item>
+      <el-form-item
+        label="目前启动的电子卡"
+        v-if="sumForm.cardEnabledFlag == 1"
+      >
+        {{
+          sumForm.cardOilsType.length == 0
+            ? "你尚未选择要启动的电子卡"
+            : sumForm.cardOilsType.join(", ")
+        }}
+      </el-form-item>
+
+      <!-- <el-form-item
+        label="所有积分规则的失效时间"
+        v-if="sumForm.termDateManage == 2"
+      >
+        {{
+          sumForm.termDateManage == 0 ? "积分规则永久有效" : sumForm.emptyDate
+        }}
+      </el-form-item>
+      <el-form-item label="多倍积分活动的状态">
+        {{
+          sumForm.integralActivity == 0 ? "未开启" : integralActivityDatePicker
+        }}
+      </el-form-item> -->
+      <el-form-item 
+        label="正在生效中的充值规则" 
+        v-if="sumForm.cardEnabledFlag == 1"
+      >
+          {{ sumForm.detailList.length===0 ? "你尚没有正在生效的规则":"" }}
+          <el-table :data="sumForm.detailList" v-if="sumForm.detailList.length!==0">
+            <af-table-column
+              label="电子卡"
+              align="center"
+              :formatter="oilNameFormatter"
+            />
+            <af-table-column label="条件" align="center" prop="discountAmtTerm">
+              <template slot-scope="scope1">
+                {{ scope1.row.discountAmtStart }}≤充值金额(元)&lt;{{
+                  scope1.row.discountAmtEnd
+                }}
+              </template>
+            </af-table-column>
+
+            <af-table-column label="赠送" align="center">
+              <template slot-scope="scope">
+                {{
+                  scope.row.settingRuleType == 1
+                    ? "按金额赠送"
+                    : scope.row.settingRuleType == 2
+                    ? "按比例赠送"
+                    : ""
+                }}
+                --- 额度为 {{ scope.row.presentAmt }}
+                {{
+                  scope.row.settingRuleType == "1"
+                    ? "元"
+                    : scope.row.settingRuleType == "2"
+                    ? "%"
+                    : ""
+                }}
+              </template>
+            </af-table-column>
+          </el-table>
+      </el-form-item>
+
+      
+      
+      <el-form-item
+        label="电子卡会执行的优惠方案"
+        v-if="sumForm.cardEnabledFlag == 1"
+      >
+        <div>
+          {{ sumForm.isMarket == 1 ? "营销方案 ":""}}
+          {{ sumForm.isGradeSetting == 1 ? "等级优惠 ":""}}
+          {{ sumForm.isDiscountCoupon == 1 ? "优惠券 ":""}}
+          {{ sumForm.isMarket == 1 || sumForm.isGradeSetting == 1 || sumForm.isDiscountCoupon == 1 ? '' : "您未启动叠加,电子卡不会执行任何优惠方案" }}
+        </div>
+      </el-form-item>
+
+      <el-form-item
+        label="充值活动"
+        v-if="sumForm.cardEnabledFlag == 1"
+      >
+        {{
+          sumForm.discountTimeSetting == 0 ? "未开启" : integralActivityDatePicker
+        }}
+      </el-form-item>
+    </el-form>
   </div>
 </template>
 
 <script>
-import { listDetailInfo} from "@/api/customer/cardSettingDetail";
+import { listDetailInfo } from "@/api/customer/cardSettingDetail";
+import { selectCustomerCardSetting } from "@/api/customer/cardSetting";
 export default {
   name: "Detail",
   data() {
@@ -66,72 +113,156 @@ export default {
       // 查询参数
       queryParams: {
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
+      rules: {},
+      sumForm: {},
+      timeSelect: [
+        ,
+        ["周天", "周一", "周二", "周三", "周四", "周五", "周六"],
+        [
+          "1号",
+          "2号",
+          "3号",
+          "4号",
+          "5号",
+          "6号",
+          "7号",
+          "8号",
+          "9号",
+          "10号",
+          "11号",
+          "12号",
+          "13号",
+          "14号",
+          "15号",
+          "16号",
+          "17号",
+          "18号",
+          "19号",
+          "20号",
+          "21号",
+          "22号",
+          "23号",
+          "24号",
+          "25号",
+          "26号",
+          "27号",
+          "28号",
+          "29号",
+          "30号",
+          "31号",
+        ],
+      ],
     };
   },
   created() {
     this.getList();
+    this.init();
   },
-  methods: {
-    cardOilsTypeFormatter(row, column){
-      if(row.cardOilsType === '1'){
-        return '汽油卡'
-      }else if(row.cardOilsType === '2'){
-        return '柴油卡'
-      }else if(row.cardOilsType === '1,2'){
-        return '汽油卡,柴油卡'
+  computed:{
+    integralActivityDatePicker() {
+      if (!this.sumForm.discountTime) {
+        return "";
       }
-    },
-    discountTimeSettingFormatter(row, column){
-      if(row.discountTimeSetting === '1'){
-        return '开启'
-      }else if(row.discountTimeSetting === '2'){
-        return '关闭'
+      if (this.sumForm.integralActivity == 0) {
+        return "";
       }
-    },
-    discountTimeTypeFormatter(row, column){
-      if(row.discountTimeSetting === '1'){
-        return '每周指定日'
-      }else if(row.discountTimeSetting === '2'){
-        return '每月指定日'
-      }else if(row.discountTimeSetting === '2'){
-        return '固定活动日'
+
+      let timeString = "";
+      const discountTimeType = this.sumForm.discountTimeType;
+      console.log("time", this.sumForm.discountTime);
+
+      if (discountTimeType == 1) {
+        timeString += "每周的";
       }
-    },
-    isDiscountCouponFormatter(row, column){
-      if(row.isDiscountCoupon === '0'){
-        return '是'
-      }else if(row.isDiscountCoupon === '1'){
-        return '否'
+      if (discountTimeType == 2) {
+        timeString += "每月的";
       }
-    },
-    isMarketFormatter(row, column){
-      if(row.isMarket === '0'){
-        return '是'
-      }else if(row.isMarket === '1'){
-        return '否'
+      if (discountTimeType == 3) {
+        timeString += "指定的日期 ";
       }
+      if (discountTimeType == 1 || discountTimeType == 2) {
+        this.sumForm.discountTime.forEach((ele) => {
+          timeString += this.timeSelect[discountTimeType][ele] + "、";
+        });
+      } else if (discountTimeType == 3) {
+        console.log(this.sumForm.discountTime);
+        timeString += this.sumForm.discountTime.toString();
+      }
+
+      timeString = timeString.replace(/(、)$/g, "") + " 享受赠送比例是" + this.sumForm.presentScale + '%的活动优惠';
+      return timeString;
+    },
+  },
+  methods: {
+    init() {
+      selectCustomerCardSetting().then((response) => {
+        this.sumForm = response.data;
+        this.sumForm.cardOilsType = this.sumForm.cardOilsType
+          .split(",")
+          .filter((ele) => {
+            return ele != "";
+          });
+
+        this.sumForm.detailList = this.sumForm.detailList.filter((ele)=>{
+          return this.sumForm.cardOilsType.includes(ele.cardType)
+        })
+
+        const oilType = ["汽油卡", "柴油卡", "非油品卡", "LNG卡", "CNG卡"];
+        this.sumForm.cardOilsType.map((ele, index) => {
+          this.sumForm.cardOilsType[index] = oilType[ele];
+        });
+        console.log(this.sumForm);
+
+
+
+        if (
+          this.sumForm.discountTimeType == "1" ||
+          this.sumForm.discountTimeType == "2"
+        ) {
+          // if( this.form.discountTime == ""){
+          //   this.form.discountTime = [];
+          // }
+          this.sumForm.discountTime = this.sumForm.discountTime
+            .split(",")
+            .map(parseFloat);
+        } else if (this.sumForm.discountTimeType == "3") {
+          if (this.sumForm.discountTime.length == 0) {
+            this.sumForm.discountTime = [];
+          } else {
+            this.sumForm.discountTime = this.sumForm.discountTime.split(
+              ","
+            );
+          }
+        }
+      });
     },
-    isGradeSettingFormatter(row, column){
-      if(row.isGradeSetting === '0'){
-        return '是'
-      }else if(row.isGradeSetting === '1'){
-        return '否'
+    oilNameFormatter(row, column) {
+      if (row.cardType === "1") {
+        return "汽油卡";
+      } else if (row.cardType === "2") {
+        return "柴油卡";
+      } else if (row.cardType === "3") {
+        return "非油品卡";
+      } else if (row.cardType === "4") {
+        return "LNG卡";
+      } else if (row.cardType === "5") {
+        return "CNG卡";
+      } else {
+        return row.cardType;
       }
     },
     /** 查询客户电子会员卡充值优惠设置明细列表 */
     getList() {
-      listDetailInfo(this.queryParams).then(response => {
+      listDetailInfo(this.queryParams).then((response) => {
         this.detailList = response.rows;
         this.total = response.total;
       });
     },
-  }
+  },
 };
 </script>

+ 134 - 0
src/views/dzk/index(15).vue

@@ -0,0 +1,134 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true"  label-width="68px">
+    <el-form-item label="会员名" prop="customerName">
+        <el-input
+          v-model="queryParams.customerName"
+          placeholder="请输入客户名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="油品" prop="cardOilsType">
+        <el-select
+          v-model="queryParams.cardOilsType"
+          placeholder="请选择油品"
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in oilOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="类型" prop="usageType">
+        <el-select v-model="queryParams.usageType" placeholder="请选择消费充值类型" clearable size="small">
+          <el-option label="充值" value="+" />
+          <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-table :data="recordList" >
+      <el-table-column label="id" align="center" prop="id" v-if="false"/>
+      <el-table-column label="充值/消费单号" align="center" prop="orderNo" />
+      <el-table-column label="微信用户唯一标识" align="center" prop="unionId" v-if="false" />
+      <el-table-column label="会员号ID" align="center" prop="customerNo" />
+      <el-table-column label="客户名" align="center" prop="customerName" />
+      <el-table-column label="消费充值类型" align="center" prop="usageType"  :formatter="usageTypeFotmat"/>
+      <el-table-column label="电子会员卡充值消费类型:1.微信;2.POS机" align="center" prop="payType" v-if="false" />
+      <el-table-column label="油类" align="center" prop="cardOilsType"  :formatter="cardOilsTypeFotmat"/>
+      <el-table-column label="充值,消费金额" align="center" prop="amt" />
+      <el-table-column label="赠送金额" align="center" prop="presentAmt" />
+      <el-table-column label="余额" align="center" prop="balance" />
+      <el-table-column label="油站ID" align="center" prop="stationId" v-if="false" />
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listRecord} from "@/api/customer/record";
+
+export default {
+  name: "Record",
+  data() {
+    return {
+      // 总条数
+      total: 0,
+      // 客户电子会员卡充值消费记录表格数据
+      recordList:[],
+      oilOptions:[],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderNo: null,
+        customerNo: null,
+        customerName: null,
+        usageType: null,
+        payType: null,
+        cardOilsType: null,
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("oil").then(response => {
+      this.oilOptions = response.data;
+    });
+  },
+  methods: {
+    usageTypeFotmat(row, column){
+      if(row.usageType === '+'){
+        return '充值'
+      }else if(row.usageType === '-'){
+        return '消费'
+      }
+    },
+    cardOilsTypeFotmat(row, column){
+      if(row.cardOilsType === '1'){
+        return '汽油'
+      }else if(row.cardOilsType === '2'){
+        return '柴油'
+      }else if(row.cardOilsType === '3'){
+        return '非油品'
+      }else if(row.cardOilsType === '4'){
+        return 'LNG'
+      }else if(row.cardOilsType === '4'){
+        return 'CNG'
+      }
+    },
+    /** 查询客户电子会员卡充值消费记录列表 */
+    getList() {
+      listRecord(this.queryParams).then(response => {
+        this.recordList = response.rows;
+        this.total = response.total;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    }
+  }
+};
+</script>

+ 5 - 5
src/views/integral/wares/index.vue

@@ -17,7 +17,7 @@
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="loading" :data="waresList" @selection-change="handleSelectionChange">
+    <el-table :data="waresList" >
       <el-table-column label="商品id" align="center" prop="id"  v-if="false" />
       <el-table-column label="商品类别" align="center" prop="waresType"  v-if="false" />
       <el-table-column label="商品名称" align="center" prop="waresName" />
@@ -102,7 +102,7 @@
 </template>
 
 <script>
-import { listWares, getWares, delWares, addWares, updateWares, exportWares } from "@/api/integral/wares";
+import { listWares, getWares, editInfoWares, addWares, updateWares, exportWares } from "@/api/integral/wares";
 import {getToken} from "@/utils/auth";
 import { getDept } from "@/api/system/dept";
 export default {
@@ -224,8 +224,8 @@ export default {
         this.form.waresStatus = 1;
       }
       if (this.form.id != null) {
-        updateWares(this.form).then(response => {
-          this.msgSuccess("修改成功");
+        editInfoWares(this.form).then(response => {
+          this.msgSuccess("修改成功1");
           this.getList();
         });
       }
@@ -236,7 +236,7 @@ export default {
         if (valid) {
           if (this.form.id != null) {
             updateWares(this.form).then(response => {
-              this.msgSuccess("修改成功");
+              this.msgSuccess("修改成功2");
               this.open = false;
               this.getList();
             });

+ 142 - 99
src/views/point/Point_Product.vue

@@ -35,82 +35,87 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          >商品上新</el-button
+          >新</el-button
         >
       </el-form-item>
     </el-form>
 
-    <el-table
-      v-loading="loading"
-      :data="waresList"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column label="商品id" align="center" prop="id" v-if="false" />
-      <el-table-column
+    <el-table :data="waresList">
+      <af-table-column label="商品id" align="center" prop="id" v-if="false" />
+      <af-table-column
         label="商品类别"
         align="center"
         prop="waresType"
         v-if="false"
       />
-      <el-table-column label="商品名称" align="center" prop="waresName" />
-      <el-table-column label="消费积分" align="center" prop="saleIntegral" />
-      <el-table-column
+      <af-table-column label="商品名称" align="center" prop="waresName" />
+      <af-table-column label="兑换所需积分" align="center" prop="saleIntegral" />
+      <af-table-column
         label="商品图片"
         align="center"
         prop="waresPic"
         v-if="false"
       />
-      <el-table-column
-        label="商品详情"
+      <af-table-column
+        label="商品详情文案"
         align="center"
         prop="waresDetail"
         width="155"
       />
-      <el-table-column
-        label="油站ID"
-        align="center"
-        prop="stationId"
-        v-if="false"
-      />
-      <el-table-column label="现有库存" align="center" prop="waresCount" />
-      <el-table-column
+      <af-table-column label="油站名称" align="center" prop="stationName" />
+      <af-table-column label="库存" align="center" prop="waresCount" />
+      <af-table-column
         label="商品状态"
         align="center"
         prop="waresStatus"
         :formatter="waresStatusFotmat"
       />
-      <el-table-column
+      <af-table-column
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
+        
       >
         <template slot-scope="scope">
-          <div v-if="scope.row.waresStatus == 2">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="updateSJ(scope.row)"
-              >上架</el-button
-            >
-          </div>
-          <div v-if="scope.row.waresStatus == 1">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              >下架</el-button
-            >
-          </div>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            >修改</el-button
+            @click="updateSJ(scope.row)"
+          >
+            {{
+              scope.row.waresStatus == 1
+                ? "下架"
+                : scope.row.waresStatus == 2
+                ? "上架"
+                : ""
+            }}
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleDataUpdate(scope.row)"
+          >
+            修改资料
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleStockUpdate(scope.row)"
+          >
+            修改库存
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleDelete(scope.row)"
+            >删除</el-button
           >
         </template>
-      </el-table-column>
+      </af-table-column>
     </el-table>
 
     <pagination
@@ -123,8 +128,13 @@
 
     <!-- 添加或修改【请填写功能名称】对话框 -->
     <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="waresPic">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-form-item
+          label="商品图片"
+          prop="waresPic"
+          :required="operation == 1 || operation == 3"
+          v-if="operation == 1 || operation == 3"
+        >
           <el-upload
             class="avatar-uploader"
             :action="addressUrl"
@@ -141,29 +151,49 @@
             />
             <i v-else class="el-icon-plus avatar-uploader-icon"></i>
             <div class="el-upload__tip" slot="tip">
-              点击图片重新上传,只能上传jpg/png文件,图片大小不超过2M
+              点击图片重新上传,图片大小不超过5M
             </div>
           </el-upload>
         </el-form-item>
-        <el-form-item label="商品名称" prop="waresName">
+        <el-form-item
+          label="商品名称"
+          prop="waresName"
+          :required="operation == 1 || operation == 3"
+          v-if="operation == 1 || operation == 3"
+        >
           <el-input v-model="form.waresName" placeholder="请输入商品名称" />
         </el-form-item>
-        <el-form-item label="商品详情" prop="waresDetail">
+        <el-form-item
+          label="商品介绍文案"
+          prop="waresDetail"
+          :required="operation == 1 || operation == 3"
+          v-if="operation == 1 || operation == 3"
+        >
           <textarea
             v-model="form.waresDetail"
-            placeholder="请输入商品详情"
+            placeholder="介绍文案"
             rows="4"
-            cols="50"
+            cols="40"
           ></textarea>
         </el-form-item>
-        <el-form-item label="消费积分" prop="saleIntegral">
+        <el-form-item
+          label="兑换所需积分"
+          prop="saleIntegral"
+          :required="operation == 1 || operation == 3"
+          v-if="operation == 1 || operation == 3"
+        >
           <el-input-number
             v-model="form.saleIntegral"
             :min="0"
-            placeholder="请输入消费积分"
+            placeholder="兑换积分"
           />
         </el-form-item>
-        <el-form-item label="库存" prop="waresCount">
+        <el-form-item
+          label="库存"
+          prop="waresCount"
+          :required="operation == 2 || operation == 3"
+          v-if="operation == 2 || operation == 3"
+        >
           <el-input-number
             v-model="form.waresCount"
             :min="0"
@@ -183,7 +213,7 @@
 import {
   listWares,
   getWares,
-  delWares,
+  editInfoWares,
   addWares,
   updateWares,
   exportWares,
@@ -220,6 +250,7 @@ export default {
         location.host +
         process.env.VUE_APP_BASE_API +
         "/common/upload",
+      operation: 1, // 1 修改资料 2修改库存 3 添加
     };
   },
   created() {
@@ -248,20 +279,7 @@ export default {
     },
     // 表单重置
     reset() {
-      this.form = {
-        id: null,
-        waresType: null,
-        waresName: null,
-        saleIntegral: null,
-        waresPic: null,
-        waresDetail: null,
-        waresStatus: "1",
-        createTime: null,
-        createBy: null,
-        updateTime: null,
-        updateBy: null,
-        waresCount: null,
-      };
+      this.form = {};
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -277,30 +295,29 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
-      this.deptId = this.$store.selectDeptId;
-      if (this.deptId == null || this.deptId == "") {
-        this.deptId = this.$store.state.user.deptId;
-      }
-      getDept(this.deptId).then((response) => {
-        this.deptInfo = response.data;
-        if (this.deptInfo.jiBie == 2) {
-          this.open = true;
-          this.title = "添加商品信息";
-        } else {
-          this.msgSuccess("请选择油站");
-        }
-      });
+      this.operation = 3;
+      this.open = true;
+      this.title = "添加商品信息";
     },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
+    /** 修改资料操作 */
+    handleDataUpdate(row) {
       const id = row.id;
+      this.operation = 1;
       getWares(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "修改商品信息";
       });
     },
+    handleStockUpdate(row) {
+      const id = row.id;
+      this.operation = 2;
+      getWares(id).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改库存信息";
+      });
+    },
     updateSJ(row) {
       this.reset();
       this.form.id = row.id;
@@ -310,7 +327,7 @@ export default {
         this.form.waresStatus = 1;
       }
       if (this.form.id != null) {
-        updateWares(this.form).then((response) => {
+        editInfoWares(this.form).then((response) => {
           this.msgSuccess("修改成功");
           this.getList();
         });
@@ -320,22 +337,47 @@ export default {
     submitForm() {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          if (this.form.id != null) {
-            updateWares(this.form).then((response) => {
+          if (this.operation == 1 || this.operation == 3) {
+            if (this.form.id != null) {
+              updateWares(this.form).then((response) => {
+                this.msgSuccess("修改成功2");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addWares(this.form).then((response) => {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          } else {
+            editInfoWares(this.form).then((response) => {
               this.msgSuccess("修改成功");
-              this.open = false;
               this.getList();
-            });
-          } else {
-            addWares(this.form).then((response) => {
-              this.msgSuccess("新增成功");
               this.open = false;
-              this.getList();
             });
           }
         }
       });
     },
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm("是否确认此商品?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(()=>{
+          this.form = row
+          this.form.waresStatus = 3;
+          editInfoWares(this.form).then((response) => {
+            this.msgSuccess("删除成功");
+            this.getList();
+          });
+        });
+
+    },
     // 文件上传成功处理++ =
     handleAvatarSuccess(res, file) {
       let imgurl =
@@ -347,15 +389,16 @@ export default {
       this.form.waresPic = imgurl;
     },
     beforeAvatarUpload(file) {
-      const isJPG = file.type === "image/jpeg" || "image/png";
-      const isLt2M = file.size / 1024 / 1024 < 2;
-      if (!isJPG) {
-        this.$message.error("上传头像图片只能是 JPG 格式!");
-      }
+      // const isJPG = file.type === "image/jpeg" || "image/png";
+      const isLt2M = file.size / 1024 / 1024 < 5;
+      // if (!isJPG) {
+      //   this.$message.error("上传头像图片只能是 JPG 格式!");
+      // }
       if (!isLt2M) {
-        this.$message.error("上传头像图片大小不能超过 2MB!");
+        this.$message.error("上传头像图片大小不能超过 5MB!");
       }
-      return isJPG && isLt2M;
+      // return isJPG && isLt2M;
+      return isLt2M;
     },
   },
 };

+ 1 - 1
src/views/point/Point_Rule.vue

@@ -355,7 +355,7 @@ export default {
         }
       }
       if(this.form.datePicker == 3){
-        if(!this.form.collectClickDay){
+        if(!this.form.collectClickDay.length<= 0){
           callback(new Error("请填写指定的多倍积分日"));
           return;
         }

+ 93 - 121
src/views/point/Point_RuleList.vue

@@ -1,85 +1,69 @@
 <template>
   <div class="app-container">
-
-
-
-    <el-form
-      :model="sumForm"
-    >
-      <el-form-item 
-        label="开始积分功能"
-      >
-      {{sumForm.integralFlag  == 0 ? '未关闭':'已开启'}}
+    <el-form :model="sumForm">
+      <el-form-item label="开始积分功能">
+        {{ sumForm.integralFlag == 0 ? "未关闭" : "已开启" }}
       </el-form-item>
-      <el-form-item 
+      <el-form-item
         label="积分清空的日期"
-        v-if="sumForm.integralTermSetting==2"
+        v-if="sumForm.integralTermSetting == 2"
       >
-        {{ sumForm.integralFlag  == 0 ? '积分永久有效':sumForm.integralEmptyTime }}
+        {{
+          sumForm.integralFlag == 0 ? "积分永久有效" : sumForm.integralEmptyTime
+        }}
       </el-form-item>
-      <el-form-item 
+      <el-form-item
         label="所有积分规则的失效时间"
-        v-if="sumForm.termDateManage==2"
+        v-if="sumForm.termDateManage == 2"
       >
-        {{ sumForm.termDateManage  == 0 ? '积分规则永久有效':sumForm.emptyDate}}
+        {{
+          sumForm.termDateManage == 0 ? "积分规则永久有效" : sumForm.emptyDate
+        }}
       </el-form-item>
-      <el-form-item 
-        label="多倍积分活动的状态"
-      >
-        {{ sumForm.integralActivity  == 0 ? '未开启' : integralActivityDatePicker}}
+      <el-form-item label="多倍积分活动的状态">
+        {{
+          sumForm.integralActivity == 0 ? "未开启" : integralActivityDatePicker
+        }}
       </el-form-item>
-    </el-form>
-
-
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      :inline="true"
-      label-width="68px"
-    >
-      <el-form-item style="float: right">
-        <el-button
-          type="cyan"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >刷新</el-button
-        >
+      <el-form-item label="正在生效的积分规则">
+        {{ ruleList.length == 0 ? "当前尚没有正在生效的规则" : "" }}
+        <el-table :data="ruleList">
+          <af-table-column
+            label="油站id"
+            align="center"
+            prop="stationId"
+            v-if="false"
+          />
+          <af-table-column label="油品" align="center" prop="oilName" />
+          <af-table-column label="会员等级" align="center">
+            <template slot-scope="scope">
+              <span>{{
+                scope.row.gradeName === null ? "所有人" : scope.row.gradeName
+              }}</span>
+            </template>
+          </af-table-column>
+          <af-table-column label="规则" align="center">
+            <template slot-scope="scope">
+              <span>{{
+                (!scope.row.ruleType
+                  ? ""
+                  : ruleTypeFormat[scope.row.ruleType] + "---") +
+                "满" +
+                scope.row.ruleTerms +
+                (!scope.row.ruleType
+                  ? "元开始积分"
+                  : ruleTermsFormat[scope.row.ruleType] + "---") +
+                "---每消费" +
+                scope.row.saleAmt +
+                "元获得" +
+                scope.row.integral +
+                "积分"
+              }}</span>
+            </template>
+          </af-table-column>
+        </el-table>
       </el-form-item>
     </el-form>
-    <el-table :data="ruleList">
-      <af-table-column
-        label="油站id"
-        align="center"
-        prop="stationId"
-        v-if="false"
-      />
-      <af-table-column
-        label="油品"
-        align="center"
-        prop="oilName"
-      />
-      <af-table-column
-        label="会员等级"
-        align="center"
-        >
-          <template slot-scope="scope">
-          <span>{{scope.row.gradeName === null ? '所有人' : scope.row.gradeName}}</span>
-        </template>
-      </af-table-column>
-      <af-table-column label="规则" align="center">
-        <template slot-scope="scope">
-          <span>{{(!scope.row.ruleType? '' : ruleTypeFormat[scope.row.ruleType]+"---") + '满' + scope.row.ruleTerms + (!scope.row.ruleType? '元开始积分' : ruleTermsFormat[scope.row.ruleType]+"---") + '---每消费' + scope.row.saleAmt + '元获得' + scope.row.integral + '积分'}}</span>
-        </template>
-      </af-table-column>
-    </el-table>
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
   </div>
 </template>
 
@@ -94,7 +78,7 @@ export default {
       // 查询参数
       queryParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 10000,
       },
       queryInfo: {},
       // 表单参数
@@ -105,11 +89,11 @@ export default {
       },
       // 表单校验
       rules: {},
-      ruleTypeFormat:[,'以订单实付累计','以订单应付累计','以加油升数累计'],
-      ruleTermsFormat:[,'元开始积分','元开始积分','L开始积分'], 
-      datePickerFormat:['','每周指定日','每月指定日','固定活动日'],
-      sumForm:{},
-      
+      ruleTypeFormat: [, "以订单实付累计", "以订单应付累计", "以加油升数累计"],
+      ruleTermsFormat: [, "元开始积分", "元开始积分", "L开始积分"],
+      datePickerFormat: ["", "每周指定日", "每月指定日", "固定活动日"],
+      sumForm: {},
+
       timeSelect: [
         ,
         ["周天", "周一", "周二", "周三", "周四", "周五", "周六"],
@@ -146,45 +130,43 @@ export default {
           "30号",
           "31号",
         ],
-      ]
+      ],
     };
   },
   computed: {
-    integralActivityDatePicker(){
-      if(!this.sumForm.datePickerTime){
-        return ''
+    integralActivityDatePicker() {
+      if (!this.sumForm.datePickerTime) {
+        return "";
       }
-      if(this.sumForm.integralActivity == 0){
-        return ''
+      if (this.sumForm.integralActivity == 0) {
+        return "";
       }
 
-      let timeString = ''
-      const datePicker = this.sumForm.datePicker 
-      console.log('time',this.sumForm.datePickerTime);
+      let timeString = "";
+      const datePicker = this.sumForm.datePicker;
+      console.log("time", this.sumForm.datePickerTime);
 
-      if(datePicker == 1){
-        timeString += "每周的"
+      if (datePicker == 1) {
+        timeString += "每周的";
       }
-      if(datePicker == 2){
-        timeString += "每月的"
+      if (datePicker == 2) {
+        timeString += "每月的";
       }
-      if(datePicker == 3){
-        timeString += "指定的日期 "
+      if (datePicker == 3) {
+        timeString += "指定的日期 ";
       }
-      if(datePicker == 1 || datePicker == 2){
-        this.sumForm.datePickerTime.forEach((ele)=>{
-          timeString += this.timeSelect[datePicker][ele] + '、'
-        })
-      }else if(datePicker == 3){
+      if (datePicker == 1 || datePicker == 2) {
+        this.sumForm.datePickerTime.forEach((ele) => {
+          timeString += this.timeSelect[datePicker][ele] + "、";
+        });
+      } else if (datePicker == 3) {
         console.log(this.sumForm.datePickerTime);
-        timeString += this.sumForm.datePickerTime.toString()
+        timeString += this.sumForm.datePickerTime.toString();
       }
 
-      timeString = timeString.replace(/(、)$/g,'') + " 启动双倍积分"
-      return timeString
+      timeString = timeString.replace(/(、)$/g, "") + " 启动双倍积分";
+      return timeString;
     },
-  
-  
   },
   created() {
     // 5.20
@@ -194,40 +176,30 @@ export default {
     }).then((response) => {
       this.sumForm = response.data;
       if (this.sumForm.datePicker == "1" || this.sumForm.datePicker == "2") {
-        if(this.sumForm.datePickerTime.indexOf(',') == -1) {
-          const temp = [parseFloat(this.sumForm.datePickerTime)]
-          this.sumForm.datePickerTime = temp
+        if (this.sumForm.datePickerTime.indexOf(",") == -1) {
+          const temp = [parseFloat(this.sumForm.datePickerTime)];
+          this.sumForm.datePickerTime = temp;
           return;
         }
         this.sumForm.datePickerTime = this.sumForm.datePickerTime
           .split(",")
-          .map(parseFloat).sort((a,b)=>{return a-b});
-      } else if (this.sumForm.datePicker == '3'){
-        this.sumForm.datePickerTime = this.sumForm.datePickerTime
-          .split(",");
+          .map(parseFloat)
+          .sort((a, b) => {
+            return a - b;
+          });
+      } else if (this.sumForm.datePicker == "3") {
+        this.sumForm.datePickerTime = this.sumForm.datePickerTime.split(",");
       }
     });
 
     this.getList();
-    this.getDicts("term_date").then((response) => {
-      this.termDateManageOptions = response.data;
-    });
-    this.getDicts("expiration").then((response) => {
-      this.expirationOptions = response.data;
-    });
-    this.getDicts("integral_deduction_oil").then((response) => {
-      this.integralDeductionOilOptions = response.data;
-    });
-    this.getDicts("integral_manage").then((response) => {
-      this.integralActivityOptions = response.data;
-    });
   },
   methods: {
     /** 查询列表 */
     getList() {
       //积分规则信息
       listRuleInfo(this.queryParams).then((response) => {
-        console.log('getList',response)
+        console.log("getList", response);
         this.ruleList = response.rows;
         this.total = response.total;
       });