From e9a7cddce776382916e975402986144a88899ac5 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 14 五月 2026 18:29:14 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun
---
admin/src/views/business/sysParams.vue | 222 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 160 insertions(+), 62 deletions(-)
diff --git a/admin/src/views/business/sysParams.vue b/admin/src/views/business/sysParams.vue
index 5fbf631..a20b6e0 100644
--- a/admin/src/views/business/sysParams.vue
+++ b/admin/src/views/business/sysParams.vue
@@ -1,88 +1,143 @@
<template>
- <TableLayout>
- <template v-slot:table-wrap>
- <div class="params-container">
- <div class="section">
- <h3 class="section-title">鍙告満瑙勫垯</h3>
- <div class="form-item">
- <span class="label">鍙告満姣忔棩鍙彇娑堣鍗曟鏁颁负</span>
- <el-input-number v-model="form.driverDailyCancelLimit" :min="0" controls-position="right"></el-input-number>
- <span class="label">娆★紝瓒呰繃娆℃暟鍚庯紝浠婃棩涓嶅彲鎶㈠崟</span>
- </div>
- <div class="form-item">
- <span class="label">鍙告満鏈�澶у悓鏃惰繘琛屼腑璁㈠崟鏁伴噺涓�</span>
- <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number>
- <span class="label">涓紝瓒呰繃璇ユ暟閲忎笉鍏佽鎶㈠崟<span class="red">锛堝嵆璁㈠崟鐘舵��=寰呭彇浠�/閰嶉�佷腑锛�</span></span>
- </div>
- <div class="form-item">
- <span class="label">瀹㈡埛涓嬪崟鍚庢瘡闅�</span>
- <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number>
- <span class="label">鍒嗛挓鏈湁鍙告満鎶㈠崟锛岀郴缁熸帹閫佸钩鍙扮鐞嗗憳</span>
- <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number>
- <span class="label">鎻愰啋鍔犳�ユ淳鍗曞鐞嗐��</span>
- </div>
+ <div class="params-container" :style="' height: '+contentHeight+'px;'">
+ <div class="section">
+ <h3 class="section-title">鍙告満瑙勫垯</h3>
+ <div class="form-item">
+ <span class="label">鍙告満姣忔棩鍙彇娑堣鍗曟鏁颁负</span>
+ <el-input-number v-model="form.driverDailyCancelLimit" :min="0" controls-position="right"></el-input-number>
+ <span class="label">娆★紝瓒呰繃娆℃暟鍚庯紝浠婃棩涓嶅彲鎶㈠崟</span>
</div>
-
- <div class="section">
- <h3 class="section-title">璁㈠崟瑙勫垯</h3>
- <div class="form-item">
- <span class="label">瓒呮椂</span>
- <el-input-number v-model="form.autoCancelTime" :min="0" controls-position="right"></el-input-number>
- <span class="label">鍒嗛挓鏈敮浠橈紝璁㈠崟鑷姩鍙栨秷</span>
- </div>
- <div class="form-item">
- <span class="label">鎬ラ�熻揪璁㈠崟璁′环绯绘暟</span>
- <el-input-number v-model="form.urgentCoefficient" :min="0" :precision="2" controls-position="right"></el-input-number>
- </div>
- <div class="form-item">
- <span class="label">鐗╁搧淇濊垂姣斾緥</span>
- <el-input-number v-model="form.insuranceRate" :min="0" :precision="2" controls-position="right"></el-input-number>
- <span class="desc">%</span>
- </div>
- <div class="form-item">
- <span class="label">寮傚湴瀵勯�佹ā寮忎笅锛岃嫢鐗╁搧宸查�佽揪锛岃�屽鎴峰綋澶╂湭鍙栦欢锛屽垯鍚庣画绯荤粺鎸�</span>
- <el-input-number v-model="form.unpickedDiscount" :min="0" :precision="2" controls-position="right"></el-input-number>
- <span class="desc">鎶樻墸绯绘暟璁$畻</span>
- </div>
- <div class="form-item">
- <span class="label">璁㈠崟閫佽揪鍚庨粯璁�</span>
- <el-input-number v-model="form.autoConfirmReceipt" :min="0" controls-position="right"></el-input-number>
- <span class="label">澶╁悗鑷姩纭鏀惰揣<span class="red">锛堜粎闄愭敹浠跺湴鍧�涓嶆槸鏈嶅姟鐐圭殑鎯呭喌锛�</span></span>
- </div>
- <div class="form-item">
- <span class="label">璁㈠崟瀹屾垚鍚�</span>
- <el-input-number v-model="form.settlementDate" :min="0" controls-position="right"></el-input-number>
- <span class="label">澶╁悗绯荤粺缁撶畻璁㈠崟锛屽苟缁欎笌鍙備笌瑙掕壊鎸夋瘮渚嬪垎鎴�</span>
- </div>
+ <div class="form-item">
+ <span class="label">鍙告満鏈�澶у悓鏃惰繘琛屼腑璁㈠崟鏁伴噺涓�</span>
+ <el-input-number v-model="form.orderAcceptLimit" :min="0" controls-position="right"></el-input-number>
+ <span class="label">涓紝瓒呰繃璇ユ暟閲忎笉鍏佽鎶㈠崟<span class="red">锛堝嵆璁㈠崟鐘舵��=寰呭彇浠�/閰嶉�佷腑锛�</span></span>
</div>
-
- <div class="footer">
- <el-button type="primary" @click="handleSave" :loading="isWorking.save">淇濆瓨</el-button>
+ <div class="form-item">
+ <span class="label">瀹㈡埛涓嬪崟鍚庢瘡闅�</span>
+ <el-input-number v-model="form.noGrabNotifyTime" :min="0" controls-position="right"></el-input-number>
+ <span class="label">鍒嗛挓鏈湁鍙告満鎶㈠崟锛岀郴缁熸帹閫佸钩鍙扮鐞嗗憳</span>
+ <el-select v-model="userIds" multiple clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in userList"
+ :key="item.id"
+ :label="item.realname"
+ :value="item.id+''" />
+ </el-select>
+ <span class="label">鎻愰啋鍔犳�ユ淳鍗曞鐞嗐��</span>
+ </div>
+ <div class="form-item">
+ <span class="label">闂ㄥ簵榛樿閰嶉�佽寖鍥�</span>
+ <el-input-number v-model="form.defaultDeliveryRange" :min="0" controls-position="right"></el-input-number>
+ <span class="label">锛堝叕閲岋級</span>
</div>
</div>
- </template>
- </TableLayout>
+
+ <div class="section">
+ <h3 class="section-title">璁㈠崟瑙勫垯</h3>
+ <div class="form-item">
+ <span class="label">瓒呮椂</span>
+ <el-input-number v-model="form.autoCancelTime" :min="0" controls-position="right"></el-input-number>
+ <span class="label">鍒嗛挓鏈敮浠橈紝璁㈠崟鑷姩鍙栨秷</span>
+ </div>
+ <div class="form-item">
+ <span class="label">鎬ラ�熻揪璁㈠崟璁′环绯绘暟</span>
+ <el-input-number v-model="form.urgentCoefficient" :min="0" :precision="2" controls-position="right"></el-input-number>
+ </div>
+ <div class="form-item">
+ <span class="label">鐗╁搧淇濊垂姣斾緥</span>
+ <el-input-number v-model="form.insuranceRate" :min="0" :precision="2" controls-position="right"></el-input-number>
+ <span class="desc">%</span>
+ </div>
+ <div class="form-item">
+ <span class="label">鍚屽煄瀵勯�佹ā寮忎笅锛岃嫢鐗╁搧宸查�佽揪锛岃�屽鎴峰綋澶╂湭鍙栦欢锛屽垯鍚庣画绯荤粺鎸�</span>
+ <el-input-number v-model="form.unpickedDiscount" :min="0" :precision="2" controls-position="right"></el-input-number>
+ <span class="desc">鎶樻墸绯绘暟璁$畻</span>
+ </div>
+ <div class="form-item">
+ <span class="label">璁㈠崟閫佽揪鍚庨粯璁�</span>
+ <el-input-number v-model="form.autoConfirmReceipt" :min="0" controls-position="right"></el-input-number>
+ <span class="label">澶╁悗鑷姩纭鏀惰揣<span class="red">锛堜粎闄愭敹浠跺湴鍧�涓嶆槸鏈嶅姟鐐圭殑鎯呭喌锛�</span></span>
+ </div>
+ <div class="form-item">
+ <span class="label">璁㈠崟瀹屾垚鍚�</span>
+ <el-input-number v-model="form.settlementDate" :min="0" controls-position="right"></el-input-number>
+ <span class="label">澶╁悗绯荤粺缁撶畻璁㈠崟锛屽苟缁欎笌鍙備笌瑙掕壊鎸夋瘮渚嬪垎鎴�</span>
+ </div>
+ </div>
+
+ <div class="section">
+ <h3 class="section-title">浼樻儬鍒稿彂鏀捐鍒�</h3>
+ <div class="form-item">
+ <span class="label">涓嬪崟鏁伴噺姣忔弧</span>
+ <el-input-number v-model="form.orderCouponOrderCount" :min="0" controls-position="right"></el-input-number>
+ <span class="label">鍗曪紝鑷冲</span>
+ <el-input-number v-model="form.orderCouponGiftCount" :min="0" controls-position="right"></el-input-number>
+ <span class="label">娆★紝骞冲彴璧犻�佷紭鎯犲埜 </span>
+ <el-select v-model="form.orderCouponId" multiple style="width: 130px;" placeholder="浼樻儬鍒�">
+ <el-option v-for="item in couponList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ <span class="label"><span class="red">锛堜互琛屾潕宸插瘎瀛橀棬搴椾负鍑嗭紝鍗充究閫�鍗曚害涓嶆敹鍥烇紝榛樿姣忔鍙戞斁1寮狅級</span></span>
+ </div>
+ <div class="form-item">
+ <span class="label">浼氬憳娉ㄥ唽姣忔弧</span>
+ <el-input-number v-model="form.registerCouponYears" :min="0" controls-position="right"></el-input-number>
+ <span class="label">骞达紝鑷冲</span>
+ <el-input-number v-model="form.registerCouponGiftCount" :min="0" controls-position="right"></el-input-number>
+ <span class="label">娆★紝骞冲彴璧犻�佷紭鎯犲埜 </span>
+ <el-select v-model="form.registerCouponId" multiple style="width: 130px;" placeholder="浼樻儬鍒�">
+ <el-option v-for="item in couponList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ <span class="label"><span class="red">锛堟寜娉ㄥ唽鏃堕棿锛屾棤璁轰細鍛樻槸鍚︿笅鍗曪紱榛樿姣忔鍙戞斁1寮狅級</span></span>
+ </div>
+ <div class="form-item">
+ <span class="label">鏂版敞鍐屼細鍛橀�佸钩鍙拌禒閫佷紭鎯犲埜</span>
+ <el-select v-model="form.registerGiftCouponIds" multiple style="width: 130px;" placeholder="浼樻儬鍒�">
+ <el-option v-for="item in couponList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
+ </div>
+
+ <div class="footer">
+ <el-button type="primary" @click="handleSave" :loading="isWorking.save">淇濆瓨</el-button>
+ </div>
+ </div>
</template>
<script>
import TableLayout from '@/layouts/TableLayout'
import { getParams, saveParams } from '@/api/business/sysParams'
+import { allList } from '@/api/system/user'
+import { validList } from '@/api/business/coupon'
export default {
name: 'SysParams',
components: { TableLayout },
data () {
return {
+ contentHeight: 600,
form: {
autoCancelTime: '',
autoConfirmReceipt: '',
driverDailyCancelLimit: '',
insuranceRate: '',
orderAcceptLimit: '',
+ noGrabNotifyUsers: '',
+ noGrabNotifyTime: '',
+ defaultDeliveryRange: '',
settlementDate: '',
unpickedDiscount: '',
- urgentCoefficient: ''
+ urgentCoefficient: '',
+ orderCouponOrderCount: '',
+ orderCouponGiftCount: '',
+ registerCouponYears: '',
+ registerCouponGiftCount: '',
+ orderCouponId: [],
+ registerCouponId: [],
+ registerGiftCouponIds: []
},
+ couponList: [],
+ userIds: [],
+ userList: [],
isWorking: {
save: false
}
@@ -90,8 +145,26 @@
},
created () {
this.loadData()
+ this.loadUserlist()
+ this.loadCouponList()
+ this.contentHeight = window.innerHeight -110;
},
methods: {
+ loadCouponList() {
+ validList().then(res => {
+ console.log(res)
+ this.couponList = res || []
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ },
+ loadUserlist () {
+ allList().then(res => {
+ this.userList = res || []
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ },
loadData () {
getParams().then(res => {
this.form = {
@@ -99,10 +172,23 @@
autoConfirmReceipt: res.autoConfirmReceipt || '',
driverDailyCancelLimit: res.driverDailyCancelLimit || '',
insuranceRate: res.insuranceRate || '',
+ defaultDeliveryRange: res.defaultDeliveryRange || '',
+ noGrabNotifyTime: res.noGrabNotifyTime || '',
orderAcceptLimit: res.orderAcceptLimit || '',
+ noGrabNotifyUsers: res.noGrabNotifyUsers || '',
settlementDate: res.settlementDate || '',
unpickedDiscount: res.unpickedDiscount || '',
- urgentCoefficient: res.urgentCoefficient || ''
+ urgentCoefficient: res.urgentCoefficient || '',
+ orderCouponOrderCount: res.orderCouponOrderCount || '',
+ orderCouponGiftCount: res.orderCouponGiftCount || '',
+ registerCouponYears: res.registerCouponYears || '',
+ registerCouponGiftCount: res.registerCouponGiftCount || '',
+ orderCouponId: res.orderCouponId ? res.orderCouponId.split(',').map(item => Number(item)) : [],
+ registerCouponId: res.registerCouponId ? res.registerCouponId.split(',').map(item => Number(item)) : [],
+ registerGiftCouponIds: res.registerGiftCouponIds ? res.registerGiftCouponIds.split(',').map(item => Number(item)) : []
+ }
+ if (this.form.noGrabNotifyUsers) {
+ this.userIds = this.form.noGrabNotifyUsers.split(',')
}
}).catch(e => {
this.$tip.apiFailed(e)
@@ -110,7 +196,16 @@
},
handleSave () {
this.isWorking.save = true
- saveParams(this.form).then(res => {
+ // 娣辨嫹璐濊〃鍗曟暟鎹�
+ const submitForm = JSON.parse(JSON.stringify(this.form))
+ submitForm.noGrabNotifyUsers = ''
+ if (this.userIds) {
+ submitForm.noGrabNotifyUsers = this.userIds.join(',')
+ }
+ submitForm.orderCouponId = submitForm.orderCouponId.join(',')
+ submitForm.registerCouponId = submitForm.registerCouponId.join(',')
+ submitForm.registerGiftCouponIds = submitForm.registerGiftCouponIds.join(',')
+ saveParams(submitForm).then(res => {
this.$tip.apiSuccess(res || '淇濆瓨鎴愬姛')
}).catch(e => {
this.$tip.apiFailed(e)
@@ -125,6 +220,9 @@
<style scoped>
.params-container {
padding: 20px;
+ overflow: auto;
+ display: block;
+ background-color: #fff;
}
.section {
margin-bottom: 40px;
--
Gitblit v1.9.3