| | |
| | | <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 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="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.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> |
| | | <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> |
| | | |
| | | <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 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="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="footer"> |
| | | <el-button type="primary" @click="handleSave" :loading="isWorking.save">保存</el-button> |
| | | <div class="footer"> |
| | | <el-button type="primary" @click="handleSave" :loading="isWorking.save">保存</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | |
| | | <script> |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import { getParams, saveParams } from '@/api/business/sysParams' |
| | | import { allList } from '@/api/system/user' |
| | | |
| | | export default { |
| | | name: 'SysParams', |
| | | components: { TableLayout }, |
| | | data () { |
| | | return { |
| | | contentHeight: 600, |
| | | form: { |
| | | autoCancelTime: '', |
| | | autoConfirmReceipt: '', |
| | | driverDailyCancelLimit: '', |
| | | insuranceRate: '', |
| | | orderAcceptLimit: '', |
| | | noGrabNotifyUsers: '', |
| | | noGrabNotifyTime: '', |
| | | defaultDeliveryRange: '', |
| | | settlementDate: '', |
| | | unpickedDiscount: '', |
| | | urgentCoefficient: '' |
| | | }, |
| | | userIds: [], |
| | | userList: [], |
| | | isWorking: { |
| | | save: false |
| | | } |
| | |
| | | }, |
| | | created () { |
| | | this.loadData() |
| | | this.loadUserlist() |
| | | this.contentHeight = window.innerHeight -110; |
| | | }, |
| | | methods: { |
| | | loadUserlist () { |
| | | allList().then(res => { |
| | | this.userList = res || [] |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | }, |
| | | loadData () { |
| | | getParams().then(res => { |
| | | this.form = { |
| | |
| | | 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 || '' |
| | | } |
| | | if (this.form.noGrabNotifyUsers) { |
| | | this.userIds = this.form.noGrabNotifyUsers.split(',') |
| | | } |
| | | }).catch(e => { |
| | | this.$tip.apiFailed(e) |
| | |
| | | }, |
| | | handleSave () { |
| | | this.isWorking.save = true |
| | | this.form.noGrabNotifyUsers = '' |
| | | if (this.userIds) { |
| | | this.form.noGrabNotifyUsers = this.userIds.join(',') |
| | | } |
| | | saveParams(this.form).then(res => { |
| | | this.$tip.apiSuccess(res || '保存成功') |
| | | }).catch(e => { |
| | |
| | | <style scoped> |
| | | .params-container { |
| | | padding: 20px; |
| | | overflow: auto; |
| | | display: block; |
| | | } |
| | | /deep/ .el-main{ |
| | | width: 100%; |
| | | //height: 100%; |
| | | overflow-y: auto !important ; |
| | | height: calc(100% - 94px); |
| | | } |
| | | .section { |
| | | margin-bottom: 40px; |