rk
8 天以前 a59ff44b2eaa7020f0529632d9ec064c4dc38e27
admin/src/views/business/sysParams.vue
@@ -1,65 +1,76 @@
<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>
@@ -67,22 +78,29 @@
<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
      }
@@ -90,8 +108,17 @@
  },
  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 = {
@@ -99,10 +126,16 @@
          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)
@@ -110,6 +143,10 @@
    },
    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 => {
@@ -125,6 +162,14 @@
<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;