Jelajahi Sumber

重写分配成员

Joe 3 tahun lalu
induk
melakukan
785b038e45

+ 4 - 1
public/index.html

@@ -7,6 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-olOxEXxDwd20BlATUibkEnjPN3sVq2YWmYOnsMYutq7X8YcUdD6y/1I+f+ZOq/47" crossorigin="anonymous">
 	  <style>
     html,
     body,
@@ -202,6 +203,8 @@
 		    <div class="loader-section section-right"></div>
 		    <div class="load_title">正在加载系统资源,请耐心等待</div>
         </div>
-	</div>
+  </div>
+  <!-- <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-NU/T4JKmgovMiPaK2GP9Y+TVBQxiaiYFJB6igFtfExinKlzVruIK6XtKqxCGXwCG" crossorigin="anonymous"></script> -->
   </body>
 </html>

+ 6 - 1
src/components/Pagination/index.vue

@@ -10,6 +10,7 @@
       v-bind="$attrs"
       @size-change="handleSizeChange"
       @current-change="handleCurrentChange"
+      :pager-count="pagerCount"
     />
   </div>
 </template>
@@ -53,7 +54,11 @@ export default {
     hidden: {
       type: Boolean,
       default: false
-    }
+    },
+    pagerCount:{
+      type: Number,
+      default: 10
+    },
   },
   computed: {
     currentPage: {

+ 2 - 2
src/views/label/Label_AddLabel.vue

@@ -1,7 +1,7 @@
 <template>
   <div v-if="pageStatus == 0">配置加载中...</div>
   <div v-else-if="pageStatus == 1">此页面只对站点用户开发</div>
-  <div v-else-if="pageStatus == 4" >
+  <div v-else-if="pageStatus == 4">
     <div
       style="
         width: 450px;
@@ -128,7 +128,7 @@ export default {
       },
       editable: true,
       tempForm: undefined,
-      pageStatus:0,
+      pageStatus: 0,
     };
   },
   created() {

+ 350 - 116
src/views/label/Label_AddUser.vue

@@ -1,82 +1,213 @@
 <template>
   <div v-if="pageStatus == 0">配置加载中...</div>
   <div v-else-if="pageStatus == 1">此页面只对站点用户开发</div>
-  <div v-else-if="pageStatus == 4" >
-    <div v-if="labelList.labelFlag == 1" class="Label_AddUser">
-    <div v-if="labelList.labelArr.length == 0">
-      你未添加标签,请先添加标签后再来设置规则
-    </div>
-    <el-collapse
-      v-model="activeNames"
-      @change="handleChange"
-      class="collapse"
-      accordion
-    >
-      <el-collapse-item
-        :name="ele.id"
-        v-for="(ele, index) in labelList.labelArr"
-        :key="ele.id"
+  <div v-else-if="pageStatus == 4">
+    <div  class="Label_AddUser">
+    <!-- v-if="labelList.labelFlag == 1" -->
+      <div v-if="(labelList.labelArr||[]).length == 0">
+        你未添加标签,请先添加标签后再来设置规则
+      </div>
+      
+      <el-collapse
+        v-model="activeNames"
+        @change="openLabel"
+        class="collapse"
+        accordion
       >
-        <template slot="title">
-          标签{{ index + 1 }} <i class="header-icon el-icon-info"></i>
-          <b>{{ ele.labelName }}</b>
-        </template>
-        <el-transfer
-          v-model="customerLabelList"
-          :props="{
-            key: 'phone',
-            label: 'label',
-          }"
-          :data="notCustomerLabelListCom"
-          @change="transfer"
-          filterable
-          :titles="['可添加的人员', '已加入']"
+        <el-collapse-item
+          :name="ele.id"
+          v-for="(ele, index) in labelList.labelArr"
+          :key="ele.id"
         >
-          <div
-            class="transfer-footer"
-            slot="left-footer"
-            style="text-align: center"
-            v-show="!loading"
-          >
-            数据拉取完成,可点击操作
-          </div>
-          <div
-            class="transfer-footer"
-            slot="right-footer"
-            style="text-align: center"
-            v-show="loading"
-          >
-            数据拉取中,请稍后...
-          </div>
-          <div
-            class="transfer-footer"
-            slot="right-footer"
-            style="text-align: center"
-            v-show="error"
-          >
-            数据失败,请刷新重试
-          </div>
-        </el-transfer>
-      </el-collapse-item>
-    </el-collapse>
-  </div>
-  <div v-else>你未启用标签功能</div>
+          <template slot="title">
+            标签{{ index + 1 }} <i class="header-icon el-icon-info"></i>
+            <b>{{ ele.labelName }}</b>
+          </template>
+            <el-col :span="11">
+              <div>
+                <el-input
+                  v-model="leftQuery.customerName"
+                  placeholder="输入姓名"
+                  style="width: 150px"
+                  size="mini"
+                  clearable
+                />
+                <el-input
+                  v-model="leftQuery.phone"
+                  placeholder="输入手机号"
+                  style="width: 150px; margin-left: 3px"
+                  size="mini"
+                  clearable
+                />
+                <el-button
+                  type="primary"
+                  size="mini"
+                  icon="el-icon-search"
+                  style="margin-left: 6px"
+                  @click="getLeftData"
+                  >查询</el-button
+                >
+                <el-button
+                  type="danger"
+                  size="mini"
+                  icon="el-icon-delete"
+                  style="margin-left: 6px"
+                  @click="clearLeftQuery"
+                  >清空</el-button
+                >
+              </div>
+              <el-table
+                :data="leftData"
+                border
+                size="mini"
+                :resizable="false"
+                highlight-current-row
+                height="500"
+                @selection-change="handleSelectionChange"
+                disabled
+              >
+                >
+                <el-table-column label="可选">
+                  <el-table-column
+                    prop="phone"
+                    label="姓名"
+                    type="selection"
+                  ></el-table-column>
+                  <el-table-column
+                    prop="customerName"
+                    label="姓名"
+                  ></el-table-column>
+                  <el-table-column
+                    prop="phone"
+                    label="手机号"
+                  ></el-table-column>
+                  <el-table-column label="添加" width="60px">
+                    <template slot-scope="scope">
+                      <el-button
+                        type="text"
+                        icon="el-icon-circle-plus-outline"
+                        class="underline btn24"
+                        size="mini"
+                        @click="handleMoveLabel('right', 1, scope.row)"
+                      >添加</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table-column>
+              </el-table>
+  
+              <pagination
+                v-show="leftTotal > 0"
+                :total="leftTotal"
+                :page.sync="leftQuery.pageNum"
+                :limit.sync="leftQuery.pageSize"
+                @pagination="getLeftData"
+                style="margin-bottom:30px"
+                :pagerCount="5"
+                layout="total, prev, pager, next"
+              />
+              
+            </el-col>
+            <el-col :span="2">
+               <el-button type="primary" size="mini" @click="toggleLabel">主要</el-button>
+            </el-col>
+            <el-col :span="11">
+              <div>
+                <el-input
+                  v-model="rightQuery.customerName"
+                  placeholder="输入姓名"
+                  style="width: 150px"
+                  size="mini"
+                  clearable
+                />
+                <el-input
+                  v-model="rightQuery.phone"
+                  placeholder="输入手机号"
+                  style="width: 150px; margin-left: 3px"
+                  size="mini"
+                  clearable
+                />
+                <el-button
+                  type="primary"
+                  size="mini"
+                  icon="el-icon-search"
+                  style="margin-left: 6px"
+                  @click="getRightData"
+                  >查询</el-button
+                >
+                <el-button
+                  type="danger"
+                  size="mini"
+                  icon="el-icon-delete"
+                  style="margin-left: 6px"
+                  @click="clearRightQuery"
+                  >清空</el-button
+                >
+              </div>
+              <el-table
+                :data="rightData"
+                border
+                size="mini"
+                highlight-current-row
+                :resizable="false"
+                height="500"
+                @selection-change="handleSelectionChange"
+                disabled
+                
+                :loading="true"
+              >
+                <el-table-column label="已选" :resizable="false">
+                  <el-table-column
+                    prop="phone"
+                    type="selection"
+                  ></el-table-column>
+                  <el-table-column
+                    prop="customerName"
+                    label="姓名"
+                  ></el-table-column>
+                  <el-table-column
+                    prop="phone"
+                    label="手机号"
+                  ></el-table-column>
+                  <el-table-column label="移除" width="60px">
+                    <template slot-scope="scope">
+                      <el-button
+                        type="text"
+                        icon="el-icon-remove-outline"
+                        class="underline btn24"
+                        size="mini"
+                        @click="handleMoveLabel('left', 1, scope.row)"
+                        >移除</el-button
+                      >
+                    </template>
+                  </el-table-column>
+                </el-table-column>
+              </el-table>
+              <pagination
+                v-show="rightTotal > 0"
+                :total="rightTotal"
+                :page.sync="rightQuery.pageNum"
+                :limit.sync="rightQuery.pageSize"
+                @pagination="getRightData"
+                style="margin-bottom:30px"
+                :pagerCount="5"
+                layout="total, prev, pager, next"
+              />
+            </el-col>
+          
+        </el-collapse-item>
+      </el-collapse>
+    </div>
+    <!-- <div v-else>你未启用标签功能</div> -->
   </div>
-
-
 </template>
 
 <script>
-import { listPrice } from "@/api/station/price";
 import {
   sysDeptDemoList,
-  labelRulelist,
-  selectLabelList,
-  deleteLabelRuleDetail,
-  addDetail,
   selectCustomerLabelInfo,
   addAndDelCustomerLabel,
   selectPhoneList,
+  selectNotCustomerLabelInfo,
 } from "@/api/label/label";
 export default {
   name: "Label_SetLabel",
@@ -89,68 +220,167 @@ export default {
       loading: false,
       error: false,
       currentLabelId: undefined,
-      pageStatus:0
+      pageStatus: 4,
+      timer: null,
+      leftData: [],
+      rightData: [],
+      leftTotal:100,
+      rightTotal:100,
+      leftQuery: {
+        pageNum: 1,
+        pageSize: 10,
+        labelId:null,
+        customerName: null,
+        phone:null
+      },
+      rightQuery: {
+        pageNum: 1,
+        pageSize: 10,
+        labelId:null,
+        customerName: null,
+        phone:null
+      },
     };
   },
-  computed: {
-    notCustomerLabelListCom() {
-      return (this.notCustomerLabelList || []).map((ele) => {
-        ele.label = ele.phone + "_" + ele.customerName;
-        return ele;
-      });
-    },
-  },
   created() {
     this.init();
   },
   methods: {
+    getLeftData(){
+      // this.leftData = [];
+      selectNotCustomerLabelInfo(this.leftQuery)
+        .then((res) => {
+          if (res.code == 200) {
+            this.leftData = res.rows;
+            this.leftTotal = res.total
+          } else {
+            throw new Error("");
+          }
+        })
+        .catch((err) => {
+          this.leftData = [];
+          this.leftTotal = 0;
+          this.msgError("拉取左边标签用户失败,请刷新~");
+        });
+      
+    },
+    getRightData(){
+      // this.rightData = [];
+      selectPhoneList(this.rightQuery)
+        .then((res) => {
+          if (res.code == 200) {
+            this.rightData = res.rows;
+            this.rightTotal = res.total;
+          } else {
+            throw new Error("");
+          }
+        })
+        .catch(() => {
+          this.rightData = [];
+          this.rightTotal = 0;
+          this.msgError("拉取右边标签用户失败,请刷新~");
+        });
+
+    },
+    handleMoveLabel(direction = 'right', type = 1, row, labelIdArr){  // type 1 传row  type 2 idArr    direction right 向右转移 left 向左转移
+       const changeArr = []
+       if(type == 1){
+          changeArr.push(row.phone)
+       }else if(type == 2){
+         changeArr = labelIdArr
+       }
+      const query = {
+        labelId: direction == 'right' ? this.leftQuery.labelId : this.rightQuery.labelId,
+        flag: "1",
+        phoneList: changeArr,
+      };
+      if (direction == "right") {
+        query.flag = "0";
+      } else if (direction == "left") {
+        query.flag = "1";
+      }
+      addAndDelCustomerLabel(query).then((res) => {
+        if (res.code == 200) {
+          this.getLeftData();
+          this.getRightData();
+        } else {
+          throw new Error("");
+        }
+      }).catch((err)=>{
+        
+      });
+
+    },
+    clearLeftQuery(labelId = null){
+      this.leftQuery =  {
+        pageNum: 1,
+        pageSize: 10,
+        labelId,
+        customerName: null,
+        phone:null
+      }
+    },
+    clearRightQuery(labelId = null){
+      this.rightQuery =  {
+        pageNum: 1,
+        pageSize: 10,
+        labelId,
+        customerName: null,
+        phone:null
+      }
+    },
+    handleSelectionChange(val) {
+      let changeArr = [];
+      val.map((ele) => {
+        changeArr.push(ele.phone);
+      });
+    },
+
     init() {
-      this.setPageStatus()
-      this.getList();
+      this.getLabelList();
     },
     setPageStatus() {
       this.queryPageStatus([2]).then((res) => {
         this.pageStatus = res;
       });
     },
-    handleChange(val) {
-      this.getLabelUser(val);
+    openLabel(id) {
+      this.clearLeftQuery(id);
+      this.clearRightQuery(id);
+      this.getLeftData();
+      this.getRightData();
     },
     getLabelUser(id) {
+      this.loading = true;
+
       selectCustomerLabelInfo({
         labelId: id,
-      }).then((res) => {
-        if (res.code == 200) {
-          this.notCustomerLabelList = res.data.notCustomerLabelList;
-          this.customerLabelList = res.data.phoneList;
-        } else {
-          this.msgError("拉取标签下用户信息失败");
-        }
-      });
-    },
-    getRightUser() {
-      this.loading = true;
-      selectPhoneList({
-        labelId: this.activeNames,
       })
         .then((res) => {
           if (res.code == 200) {
-            this.customerLabelList = res.rows;
-            this.loading = false;
+            this.notCustomerLabelList = res.data.notCustomerLabelList;
+            this.customerLabelList = res.data.phoneList;
           } else {
-            this.customerLabelList = [];
             throw new Error("");
           }
         })
         .catch(() => {
           this.loading = false;
           this.error = true;
-          this.customerLabelList = [];
-          this.notCustomerLabelList = [];
-          this.msgError("拉取数据失败,请刷新重试");
+          this.msgError("拉取标签下用户信息失败");
         });
     },
-    getList() {
+    getLeftUser(id) {
+
+    },
+    toggleLabel(){
+      console.log('hahaha');
+    },
+    getRightUser() {
+      this.loading = true;
+
+    },
+    getLabelList() {
       return sysDeptDemoList().then((res) => {
         if (res.code == 200) {
           this.labelList = res.data;
@@ -159,24 +389,28 @@ export default {
         }
       });
     },
-    transfer(originlArr, direction, changeArr) {
-      const query = {
-        labelId: this.activeNames,
-        flag: "1",
-        phoneList: changeArr,
-      };
-      if (direction == "right") {
-        query.flag = "0";
-      } else if (direction == "left") {
-        query.flag = "1";
-      }
-      addAndDelCustomerLabel(query).then((res) => {
-        if (res.code == 200) {
-          this.getRightUser();
-        } else {
-        }
-      });
+    handleRight(row) {
+      console.log(row)
     },
+    // transfer(originlArr, direction, changeArr) {
+      
+    //   const query = {
+    //     labelId: this.activeNames,
+    //     flag: "1",
+    //     phoneList: changeArr,
+    //   };
+    //   if (direction == "right") {
+    //     query.flag = "0";
+    //   } else if (direction == "left") {
+    //     query.flag = "1";
+    //   }
+    //   addAndDelCustomerLabel(query).then((res) => {
+    //     if (res.code == 200) {
+    //       this.getRightUser();
+    //     } else {
+    //     }
+    //   });
+    // },
   },
 };
 </script>
@@ -184,7 +418,7 @@ export default {
 <style lang="scss">
 .Label_AddUser {
   .collapse {
-    width: 800px;
+    width: 1200px;
     margin: 0 auto;
 
     //.el-collapse-item__wrap {

+ 212 - 0
src/views/label/Label_AddUser1.vue

@@ -0,0 +1,212 @@
+<template>
+  <div v-if="pageStatus == 0">配置加载中...</div>
+  <div v-else-if="pageStatus == 1">此页面只对站点用户开发</div>
+  <div v-else-if="pageStatus == 4">
+    <div v-if="labelList.labelFlag == 1" class="Label_AddUser">
+      <div v-if="labelList.labelArr.length == 0">
+        你未添加标签,请先添加标签后再来设置规则
+      </div>
+      <el-collapse
+        v-model="activeNames"
+        @change="handleChange"
+        class="collapse"
+        accordion
+      >
+        <el-collapse-item
+          :name="ele.id"
+          v-for="(ele, index) in labelList.labelArr"
+          :key="ele.id"
+        >
+          <template slot="title">
+            标签{{ index + 1 }} <i class="header-icon el-icon-info"></i>
+            <b>{{ ele.labelName }}</b>
+          </template>
+          <el-transfer
+            v-model="customerLabelList"
+            :props="{
+              key: 'phone',
+              label: 'label',
+            }"
+            :filter-method="filterMethod"
+            :data="notCustomerLabelListCom"
+            @change="transfer"
+            filterable
+            :titles="['可添加的人员', '已加入']"
+          >
+            <div
+              class="transfer-footer"
+              slot="left-footer"
+              style="text-align: center"
+              v-show="!loading"
+            >
+              数据拉取完成,可点击操作
+            </div>
+            <div
+              class="transfer-footer"
+              slot="right-footer"
+              style="text-align: center"
+              v-show="loading"
+            >
+              数据拉取中,请稍后...
+            </div>
+            <div
+              class="transfer-footer"
+              slot="right-footer"
+              style="text-align: center"
+              v-show="error"
+            >
+              数据失败,请刷新重试
+            </div>
+          </el-transfer>
+        </el-collapse-item>
+      </el-collapse>
+    </div>
+    <div v-else>你未启用标签功能</div>
+  </div>
+</template>
+
+<script>
+// import { listPrice } from "@/api/station/price";
+import {
+  sysDeptDemoList,
+  selectCustomerLabelInfo,
+  addAndDelCustomerLabel,
+  selectPhoneList,
+} from "@/api/label/label";
+export default {
+  name: "Label_SetLabel",
+  data() {
+    return {
+      activeNames: undefined,
+      labelList: {},
+      notCustomerLabelList: [],
+      customerLabelList: [],
+      loading: false,
+      error: false,
+      currentLabelId: undefined,
+      pageStatus: 0,
+      timer: null,
+    };
+  },
+  computed: {
+    notCustomerLabelListCom() {
+      return (this.notCustomerLabelList || []).map((ele) => {
+        ele.label = ele.phone + "_" + ele.customerName;
+        return ele;
+      });
+    },
+  },
+  created() {
+    this.init();
+  },
+  methods: {
+    filterMethod(query, item) {
+        clearTimeout(this.timer)
+        this.timer = setTimeout(() =>{
+          this.customerLabelList = ['15684000059']
+        },3000)
+      return true
+    },
+    init() {
+      this.setPageStatus();
+      this.getList();
+    },
+    setPageStatus() {
+      this.queryPageStatus([2]).then((res) => {
+        this.pageStatus = res;
+      });
+    },
+    handleChange(val) {
+      this.getLabelUser(val);
+    },
+    getLabelUser(id) {
+      this.loading = true;
+      selectCustomerLabelInfo({
+        labelId: id,
+      }).then((res) => {
+        if (res.code == 200) {
+          this.notCustomerLabelList = res.data.notCustomerLabelList;
+          this.customerLabelList = res.data.phoneList;
+        } else {
+          throw new Error('')
+        }
+      }).catch(() => {
+        this.loading = false;
+        this.error = true;
+        this.msgError("拉取标签下用户信息失败");
+      });
+    },
+    getRightUser() {
+      this.loading = true;
+      selectPhoneList({
+        labelId: this.activeNames,
+      })
+        .then((res) => {
+          if (res.code == 200) {
+            this.customerLabelList = res.rows;
+            this.loading = false;
+          } else {
+            this.customerLabelList = [];
+            throw new Error("");
+          }
+        })
+        .catch(() => {
+          this.loading = false;
+          this.error = true;
+          this.customerLabelList = [];
+          this.notCustomerLabelList = [];
+          this.msgError("拉取数据失败,请刷新重试");
+        });
+    },
+    getList() {
+      return sysDeptDemoList().then((res) => {
+        if (res.code == 200) {
+          this.labelList = res.data;
+        } else {
+          this.msgError("初始化数据失败");
+        }
+      });
+    },
+    transfer(originlArr, direction, changeArr) {
+      const query = {
+        labelId: this.activeNames,
+        flag: "1",
+        phoneList: changeArr,
+      };
+      if (direction == "right") {
+        query.flag = "0";
+      } else if (direction == "left") {
+        query.flag = "1";
+      }
+      addAndDelCustomerLabel(query).then((res) => {
+        if (res.code == 200) {
+          this.getRightUser();
+        } else {
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.Label_AddUser {
+  .collapse {
+    width: 800px;
+    margin: 0 auto;
+
+    //.el-collapse-item__wrap {
+    // border-bottom: 1px solid;
+    //}
+
+    .el-transfer-panel {
+      width: 300px;
+      height: 600px;
+    }
+
+    .el-transfer-panel__list.is-filterable {
+      height: 465px;
+    }
+  }
+}
+</style>

+ 225 - 25
src/views/market/Market_Discount.vue

@@ -1,7 +1,9 @@
 <template>
   <div v-if="pageStatus == 0">配置加载中...</div>
   <div v-else-if="pageStatus == 1">此页面不对此账号开放</div>
-  <div v-else-if="pageStatus == 2">没有此页内容的配置权限,请检查集团上的配置</div>
+  <div v-else-if="pageStatus == 2">
+    没有此页内容的配置权限,请检查集团上的配置
+  </div>
   <div v-else-if="pageStatus == 3">加载发生错误</div>
   <div v-else-if="pageStatus == 4" class="app-container">
     <el-form
@@ -86,7 +88,9 @@
               :min="0"
             />
 
-            <span>{{ updateForm.discountTerm == 1 && discountSetting == 3 ? "L" : "元" }}</span>
+            <span>{{
+              updateForm.discountTerm == 1 && discountSetting == 3 ? "L" : "元"
+            }}</span>
             ,{{ ["", "减", "减", "每升优惠"][discountSetting] }}
             <el-input-number
               v-model="updateForm.gasoilDiscountAmt"
@@ -95,6 +99,144 @@
             />元
           </div>
         </el-form-item>
+        <el-form-item
+          label="会员日"
+          prop="discountSettingAAA"
+          :rules="{
+            required: true,
+            message: '请选择是否开启会员日',
+            trigger: 'change',
+          }"
+        >
+          <el-radio-group v-model="updateForm.discountSettingAAA">
+            <el-radio label="0">关闭</el-radio>
+            <el-radio label="1">开启</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item
+          label="会员日周期类型"
+          prop="discountType"
+          v-show="updateForm.discountSettingAAA == 1"
+          :rules="{
+            required: updateForm.discountSettingAAA == 1,
+            message: '请选择会员日的周期类型',
+            trigger: 'change',
+          }"
+        >
+          <el-select
+            v-model="updateForm.discountType"
+            clearable
+            size="small"
+            @change="timeClear"
+          >
+            <el-option label="每周指定日" value="1"></el-option>
+            <el-option label="每月指定日" value="2"></el-option>
+            <el-option label="固定活动日" value="3"></el-option>
+          </el-select>
+          <div
+            v-show="updateForm.discountType != 3"
+            style="
+              display: flex;
+              flex-wrap: wrap;
+              border-style: solid;
+              border-color: #f5f7fa;
+            "
+          >
+            <div
+              v-for="(item, index) in timeSelect[updateForm.discountType]"
+              :key="index"
+              style="margin: 3px"
+            >
+              <div
+                class="hover-style"
+                style="
+                  border-radius: 5px;
+                  font-weight: bold;
+                  font-size: 12px;
+                  cursor: pointer;
+                "
+                @click="clickCalendar(index)"
+              >
+                <div>{{ item }}</div>
+                <div
+                  v-if="updateForm.collectClickCalendar.indexOf(index) > -1"
+                  style="
+                    width: 4px;
+                    height: 4px;
+                    border-radius: 50%;
+                    background-color: red;
+                    position: relative;
+                    left: calc(50% - 2px);
+                  "
+                ></div>
+                <div v-else style="width: 4px; height: 4px"></div>
+              </div>
+            </div>
+          </div>
+          <div v-show="updateForm.discountType == 3">
+            <el-date-picker
+              clearable
+              size="small"
+              style="margin-left: 10px; width: 200px"
+              v-model="updateForm.collectClickDay"
+              type="dates"
+              value-format="yyyy-MM-dd"
+              placeholder="选择提醒时间设置"
+            >
+            </el-date-picker>
+          </div>
+        </el-form-item>
+        <el-form-item
+          label="会员日优惠条件"
+          prop="discountActivityAmt"
+          v-show="updateForm.discountSettingAAA == 1"
+          :rules="{
+            required: updateForm.discountSettingAAA == 1,
+            message: '请填写会员日的优惠金额',
+            trigger: 'change',
+          }"
+        >
+          <div>
+            {{ ["", "每满", "满", "满"][discountSetting] }}
+            <el-input-number
+              v-model="updateForm.discountAmt"
+              size="mini"
+              :min="0"
+              disabled
+            />
+
+            <span>{{
+              updateForm.discountTerm == 1 && discountSetting == 3 ? "L" : "元"
+            }}</span>
+            ,{{ ["", "减", "减", "每升优惠"][discountSetting] }}
+            <el-input-number
+              v-model="updateForm.gasoilDiscountAmt"
+              size="mini"
+              :min="0"
+            />元
+          </div>
+          <!-- <el-input-number
+            v-model="updateForm.integralProportion"
+            :min="1"
+            placeholder="请输入加倍比例"
+            size="small"
+          />
+          <span>倍</span> -->
+          <!-- 满
+          <el-input-number
+            v-model="updateForm.discountAmt"
+            size="mini"
+            :min="0"
+            disabled
+          /><span>{{
+            updateForm.discountTerm == 1 && discountSetting == 3 ? "L" : "元"
+          }}</span
+          >,每升优惠<el-input-number
+            v-model="updateForm.discountActivityAmt"
+            size="mini"
+            :min="0"
+          />元 -->
+        </el-form-item>
         <el-form-item label="叠加等级优惠" prop="vipDiscountyPlus">
           <el-radio-group v-model="updateForm.vipDiscountyPlus">
             <el-radio label="1">是</el-radio>
@@ -194,26 +336,15 @@
           {{ scope.row.gasoilDiscountAmt }} 元
         </template>
       </af-table-column>
+
       <af-table-column
-        label="优惠条件金额"
-        v-if="false"
-        align="center"
-        prop="discountAmt"
-      />
-      <af-table-column
-        label="优惠金额"
-        v-if="false"
-        align="center"
-        prop="gasoilDiscountAmt"
-      />
-      <af-table-column
-        label="是否叠加等级优惠"
+        label="叠加等级优惠"
         align="center"
         prop="vipDiscountyPlus"
         :formatter="vipDiscountyPlusFotmat"
       />
       <af-table-column
-        label="可否叠加劵"
+        label="叠加劵"
         align="center"
         prop="couponPlus"
         :formatter="couponPlusFotmat"
@@ -340,8 +471,49 @@ export default {
       },
       dtrules: {},
       discountSetting: 0,
-      updateForm: {},
+      updateForm: {
+        collectClickCalendar: [],
+        collectClickCalendar: [],
+        collectClickDay: "",
+      },
       currentDiscountName: "",
+      timeSelect: [
+        ,
+        ["周天", "周一", "周二", "周三", "周四", "周五", "周六"],
+        [
+          "01",
+          "02",
+          "03",
+          "04",
+          "05",
+          "06",
+          "07",
+          "08",
+          "09",
+          "10",
+          "11",
+          "12",
+          "13",
+          "14",
+          "15",
+          "16",
+          "17",
+          "18",
+          "19",
+          "20",
+          "21",
+          "22",
+          "23",
+          "24",
+          "25",
+          "26",
+          "27",
+          "28",
+          "29",
+          "30",
+          "31",
+        ],
+      ],
     };
   },
   computed: {
@@ -354,17 +526,17 @@ export default {
         ? "直降"
         : "无";
     },
-    filterOilNameOptions(){
-      return this.oilNameOptions.filter((ele)=>{
+    filterOilNameOptions() {
+      return this.oilNameOptions.filter((ele) => {
         let flag = true;
-        this.discountList.forEach(item=>{
-          if(ele.oilName == item.oilName){
+        this.discountList.forEach((item) => {
+          if (ele.oilName == item.oilName) {
             flag = false;
           }
-        })
-        return flag
-      })
-    }
+        });
+        return flag;
+      });
+    },
   },
   created() {
     this.setPageStatus();
@@ -384,6 +556,10 @@ export default {
         this.pageStatus = res;
       });
     },
+    timeClear() {
+      this.updateForm.collectClickCalendar = [];
+      this.updateForm.collectClickDay = [];
+    },
     getPay() {
       return getStationPay().then((response) => {
         this.ruleForm = response.data;
@@ -469,6 +645,18 @@ export default {
     handleSubmit() {
       this.$refs["updateForm"].validate((valid) => {
         if (valid) {
+          if (
+            this.updateForm.discountType == "1" ||
+            this.updateForm.discountType == "2"
+          ) {
+            this.updateForm.datePickerTime =
+              this.updateForm.collectClickCalendar.toString();
+          } else {
+            this.updateForm.datePickerTime =
+              this.updateForm.collectClickDay.toString();
+          }
+
+          console.log(this.updateForm);
           if (this.updateForm.id != null) {
             updatePlan(this.updateForm).then((response) => {
               this.msgSuccess("修改成功");
@@ -485,6 +673,18 @@ export default {
         }
       });
     },
+    clickCalendar(index) {
+      if (this.updateForm.collectClickCalendar.indexOf(index) === -1) {
+        this.updateForm.collectClickCalendar.push(index);
+      } else if (this.updateForm.collectClickCalendar.indexOf(index) > -1) {
+        const temp = this.updateForm.collectClickCalendar.findIndex((ele) => {
+          return ele == index;
+        });
+        this.updateForm.collectClickCalendar.splice(temp, 1);
+      }
+      this.$refs.updateForm.validateField("discountType");
+      this.updateForm = { ...this.updateForm };
+    },
     cancelSubmit() {
       this.openDialog = false;
     },