From f4e09a3f13bbf63b166c3a149497a93a9fd43bc5 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 13 一月 2026 18:25:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/views/business/orderSet.vue |  265 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 265 insertions(+), 0 deletions(-)

diff --git a/admin/src/views/business/orderSet.vue b/admin/src/views/business/orderSet.vue
new file mode 100644
index 0000000..b5b537b
--- /dev/null
+++ b/admin/src/views/business/orderSet.vue
@@ -0,0 +1,265 @@
+<template>
+  <div class="box" style="max-height:calc(100% - 60px);margin-bottom:50px;overflow-y: auto" >
+    <el-form :model="form" ref="form">
+      <div class="header">
+        <span style="font-size: 15px; font-weight: bold">銆�1銆戞敞鍐屽鍔�</span>
+      </div>
+      <div class="item-content">
+        <el-form-item label="绉垎濂栧姳" label-width="150px"  prop="regIntegralRewardStatus">
+          <el-switch  v-model="form.regIntegralRewardStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <el-form-item label="鏂颁汉娉ㄥ唽閫�" label-width="250px" prop="regIntegralReward">
+          <el-input  style="width: 200px;margin: 0px 20px" type="number"   v-model="form.regIntegralReward"   placeholder="璇疯緭鍏�"   v-trim>
+            <template slot="append">绉垎</template>
+          </el-input>
+        </el-form-item>
+      </div>
+      <div class="item-content">
+        <el-form-item label="浼樻儬鍒稿鍔�" label-width="150px"  prop="regCouponRewardStatus">
+          <el-switch  v-model="form.regCouponRewardStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <div  >
+          <el-form-item label="鏂颁汉娉ㄥ唽閫佷紭鎯犲埜" label-width="250px" prop="regCouponRewardList">
+          </el-form-item>
+          <div  style="margin-left: 150px;border: 1px solid #f2f2f2">
+            <el-table style="width: 600px;"  :data="form.regCouponRewardList">
+              <el-table-column prop="shopPrice" label="浼樻儬鍒�" min-width="300px" align="center">
+                <template slot-scope="{row}" >
+                  <el-select v-model="row.couponId" style="width: 200px;margin: 0px 20px" clearable filterable   placeholder="璇烽�夋嫨浼樻儬鍒�"  >
+                    <el-option v-for="item in couponList"   :label="item.name"  :value="item.id">  </el-option>
+                  </el-select>
+                </template>
+              </el-table-column>
+              <el-table-column prop="num" label="鏁伴噺" min-width="200px" align="center">
+                <template slot-scope="{row}" >
+                  <el-input  style="width: 100px;margin: 0px 20px" type="number"   v-model="row.num"   placeholder="璇疯緭鍏ユ暟閲�"   v-trim/>
+                </template>
+              </el-table-column>
+              <el-table-column  label="鎿嶄綔" min-width="100px" align="center">
+                <template slot-scope="scope" >
+                  <el-button style="color: red;border: none;" @click="delCoupon(0,scope.$index)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-button s type="primary" icon="el-icon-plus" @click="addCoupon(0)" style="height: 30px;margin: 10px;">娣诲姞</el-button>
+          </div>
+        </div>
+      </div>
+      <div class="header">
+        <span style="font-size: 15px; font-weight: bold">銆�2銆戦個璇峰ソ鍙嬪鍔�</span>
+      </div>
+      <div class="item-content">
+        <el-form-item label="绉垎濂栧姳" label-width="150px"  prop="shareIntegralRewardStatus">
+          <el-switch  v-model="form.shareIntegralRewardStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <el-form-item label="濂藉弸鎴愬姛娉ㄥ唽閫侀個璇蜂汉" label-width="250px" prop="shareIntegralReward">
+          <el-input  style="width: 200px;margin: 0px 20px" type="number"   v-model="form.shareIntegralReward"   placeholder="璇疯緭鍏�"   v-trim>
+            <template slot="append">绉垎</template>
+          </el-input>
+        </el-form-item>
+      </div>
+      <div class="item-content">
+        <el-form-item label="浼樻儬鍒稿鍔�" label-width="150px"  prop="shareCouponRewardStatus">
+          <el-switch  v-model="form.shareCouponRewardStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <div  >
+          <el-form-item label="濂藉弸瀹屾垚棣栧崟閫侀個璇蜂汉浼樻儬鍒�" label-width="250px" prop="shareCouponRewardList">
+          </el-form-item>
+          <div  style="margin-left: 150px;border: 1px solid #f2f2f2">
+            <el-table style="width: 600px;"  :data="form.shareCouponRewardList">
+              <el-table-column prop="couponId" label="浼樻儬鍒�" min-width="300px" align="center">
+                <template slot-scope="{row}" >
+                  <el-select v-model="row.couponId" style="width: 200px;margin: 0px 20px"  clearable filterable   placeholder="璇烽�夋嫨浼樻儬鍒�"  >
+                    <el-option v-for="item in couponList"   :label="item.name"  :value="item.id">  </el-option>
+                  </el-select>
+                </template>
+              </el-table-column>
+              <el-table-column prop="num" label="鏁伴噺" min-width="200px" align="center">
+                <template slot-scope="{row}" >
+                  <el-input  style="width: 100px;margin: 0px 20px" type="number"   v-model="row.num"   placeholder="璇疯緭鍏ユ暟閲�"   v-trim/>
+                </template>
+              </el-table-column>
+              <el-table-column  label="鎿嶄綔" min-width="100px" align="center">
+                <template slot-scope="scope" >
+                  <el-button style="color: red;border: none;" @click="delCoupon(1,scope.$index)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-button s type="primary" icon="el-icon-plus" @click="addCoupon(1)" style="height: 30px;margin: 10px;">娣诲姞</el-button>
+          </div>
+        </div>
+      </div>
+      <div class="header">
+        <span style="font-size: 15px; font-weight: bold">銆�3銆戞秷璐硅繑绉垎</span>
+      </div>
+      <div class="item-content">
+        <el-form-item label="杩旂敤鎴风Н鍒�" label-width="150px"  prop="returnMemberIntegralStatus">
+          <el-switch  v-model="form.returnMemberIntegralStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <el-form-item label="璁㈠崟瀹炰粯閲戦姣忔弧" label-width="250px" prop="returnMemberIntegral">
+          <el-input  style="width: 250px;margin: 0px 20px" type="number"   v-model="form.returnMemberIntegral"   placeholder="璇疯緭鍏�"   v-trim>
+            <template slot="append">鍏冭繑鐢ㄦ埛1绉垎</template>
+          </el-input>
+          <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>鎻愰啋锛氬疄浠橀噾棰濆幓闄よ繍璐�</p>
+        </el-form-item>
+      </div>
+      <div class="item-content">
+        <el-form-item label="杩旂粡閿�鍟嗙Н鍒�" label-width="150px"  prop="returnShopIntegralStatus">
+          <el-switch  v-model="form.returnShopIntegralStatus" :active-value="0" :inactive-value="1"    active-color="#13ce66"   inactive-color="#ff4949"  ></el-switch>
+        </el-form-item>
+        <el-form-item label="璁㈠崟瀹炰粯閲戦姣忔弧" label-width="250px" prop="returnShopIntegral">
+          <el-input  style="width: 250px;margin: 0px 20px" type="number"   v-model="form.returnShopIntegral"   placeholder="璇疯緭鍏�"   v-trim>
+            <template slot="append">鍏冭繑缁忛攢鍟�1绉垎</template>
+          </el-input>
+          <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>鎻愰啋锛氬疄浠橀噾棰濆幓闄よ繍璐�</p>
+        </el-form-item>
+      </div>
+      <div class="header">
+        <span style="font-size: 15px; font-weight: bold">銆�4銆戝悎璁′紭鎯犳壙鎷呮瘮渚�</span>
+      </div>
+      <div class="item-content">
+        <el-form-item label="鎬婚儴鎵挎媴" label-width="150px" prop="totalRate">
+          <el-input  style="width: 200px;margin: 0px 20px" type="number"   v-model="form.totalRate"   placeholder="璇疯緭鍏�"   v-trim>
+            <template slot="append">%</template>
+          </el-input>
+          <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>鎻愰啋锛氳缃�婚儴鍜岀粡閿�鍟嗗湪璁㈠崟鍚堣浼樻儬閲戦涓紙浼樻儬鍒�+绉垎鎶垫墸锛夊悇鑷壙鎷呯殑姣斾緥</p>
+        </el-form-item>
+      </div>
+      <el-form-item style="margin-top: 100px;width: 100%;text-align: center">
+        <el-button type="primary" style="width: 300px"  :loading="working" @click="submit">淇濆瓨閰嶇疆椤�</el-button>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+
+<script>
+import { getPlatformConfig, updPlatformConfig } from '@/api/system/dictData'
+import {allList} from '@/api/business/coupon'
+export default {
+  name: '',
+  data () {
+    return {
+      uploadData: {
+        folder: ''
+      },
+      isUploading: false,
+      working: false,
+      couponList: [],
+      form: {
+        regIntegralRewardStatus: 0,
+        shareIntegralRewardStatus: 0,
+        regCouponRewardStatus: 0,
+        shareCouponRewardStatus: 0,
+        regIntegralReward: 0,
+        shareIntegralReward: 0,
+        regCouponRewardList: [],
+        shareCouponRewardList: [],
+        returnMemberIntegralStatus: 0,
+        returnShopIntegralStatus: 0,
+        returnMemberIntegral: 0,
+        returnShopIntegral: 0,
+        totalRate: 0
+      }
+    }
+  },
+
+  created () {
+    this.getCouponList()
+    this.getData()
+  },
+
+  methods: {
+    getCouponList () {
+      allList({})
+        .then(res => {
+          if (res) {
+            this.couponList = res || []
+          }
+        })
+    },
+    delCoupon(type,index){
+      if(type ===0){
+        this.form.regCouponRewardList.splice(index,1)
+      }else if(type ===1){
+        this.form.shareCouponRewardList.splice(index,1)
+      }
+    },
+    addCoupon(type){
+      if(type ===0){
+        this.form.regCouponRewardList.push({couponId:null,num:null})
+      }else if(type ===1){
+        this.form.shareCouponRewardList.push({couponId:null,num:null})
+      }
+
+    },
+    getData () {
+      getPlatformConfig({})
+        .then(res => {
+          if (res) {
+            this.form = {
+              regIntegralRewardStatus: res.regIntegralRewardStatus || 0,
+              shareIntegralRewardStatus: res.shareIntegralRewardStatus || 0,
+              regCouponRewardStatus: res.regCouponRewardStatus || 0,
+              shareCouponRewardStatus: res.shareCouponRewardStatus || 0,
+              regIntegralReward: res.regIntegralReward || 0,
+              shareIntegralReward: res.shareIntegralReward || 0,
+              regCouponRewardList: res.regCouponRewardList || [],
+              shareCouponRewardList: res.shareCouponRewardList || [],
+              returnMemberIntegralStatus: res.returnMemberIntegralStatus || 0,
+              returnShopIntegralStatus: res.returnShopIntegralStatus || 0,
+              returnMemberIntegral: res.returnMemberIntegral || 0,
+              returnShopIntegral: res.returnShopIntegral || 0,
+              totalRate: res.totalRate || 0
+            }
+          }
+        })
+    },
+    submit () {
+      console.log(this.form)
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        // 璋冪敤鏂板缓鎺ュ彛
+        this.isWorking = true
+        updPlatformConfig(this.form).then(res => {
+          this.$message.success('淇濆瓨鎴愬姛')
+          this.getData()
+        })
+          .catch(e => {
+            this.$tip.apiFailed(e)
+          })
+          .finally(() => {
+            this.isWorking = false
+          })
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.el-container /deep/  .el-main{
+  width: 100%;
+  overflow-y: auto  !important ;
+  height: calc(100% - 94px);
+}
+.item-content{
+  display: flex;
+  width: 100%;
+}
+.header{
+  margin: 20px 0 20px 0;padding:10px;background-color: rgba(140,147,157,0.61);
+}
+/deep/ .el-main{
+  width: 100%;
+  //height: 100%;
+  overflow-y: auto  !important ;
+  height: calc(100% - 94px);
+}
+.box {
+  width: 100%;
+  padding: 30px;
+  box-sizing: border-box;
+  background: #ffffff;
+}
+</style>

--
Gitblit v1.9.3