jiangping
2025-07-15 8df850d0087527789d9803be6a03f8a82113fa17
前端
已添加3个文件
已修改8个文件
580 ■■■■ 文件已修改
admin/src/api/system/dictData.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCategoryWindow.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaReceiveWeightWindow.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/UploadAvatarImage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/layouts/TableLayout.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/categoryCar.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/categoryCb.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/categoryFee.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/orderSet.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/receiveWeight.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/system/dictData.js
@@ -40,3 +40,10 @@
    }
  })
}
export function getPlatformConfig () {
  return request.get('/system/dictData/getPlatformConfig' ,{})
}
// ä¿®æ”¹
export function updPlatformConfig (data) {
  return request.post('/system/dictData/updPlatformConfig', data)
}
admin/src/components/business/OperaCategoryWindow.vue
@@ -7,10 +7,26 @@
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" v-trim/>
        <el-input v-if="form.type !=3"  v-model="form.name" placeholder="请输入名称" v-trim/>
        <el-select v-else  v-model="form.name" placeholder="请选择订单类型" v-trim>
          <el-option :value="'0'" label="用工单"></el-option>
          <el-option :value="'1'" label="货运单"></el-option>
          <el-option :value="'2'" label="订餐单"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'车辆规格':'餐标配置'" prop="detailList">
        <el-input v-model="form.detailList" placeholder="请输入内容" v-trim/>
      <el-form-item v-if="form.type ==3 " label="手续费(%)" prop="detail">
        <el-input  type="number"   v-model="form.detail" placeholder="请输入名称" v-trim/>
      </el-form-item>
      <el-form-item v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'车辆规格':'餐标配置(元)'" prop="detailList">
        <div style="display: flex;flex-direction: column">
          <div style="position: relative;display: block;width: 100%;" v-for="(item,index) in form.detailList"   >
            <el-input  :type="form.type == 1?'text':'number'" style="display:inline-block;width: 60%;margin:5px ;float: left" v-model="form.detailList[index]"   placeholder="请输入内容" v-trim/>
            <el-button  style="display:inline-block;margin : 5px " @click="del(index)" v-if="form.detailList.length>0">x</el-button>
          </div>
          <div style="position: relative;display: block;width: 100%;">
            <el-button style="width: 100px;margin: 5px;" type="primary" @click="add()">添加规格</el-button>
          </div>
        </div>
      </el-form-item>
      <el-form-item v-if="form.type == 1" label="图标" prop="icon">
        <UploadAvatarImage
@@ -19,7 +35,7 @@
            @uploadSuccess="uploadAvatarSuccess"
        />
      </el-form-item>
      <el-form-item  v-if="form.type == 1"  label="是否固定车辆" prop="isFixed">
      <el-form-item  v-if="form.id ==null && form.type == 1"  label="是否固定车辆" prop="isFixed">
        <el-radio-group v-model="form.isFixed">
          <el-radio :label="0">非固定</el-radio>
          <el-radio :label="1">固定车型</el-radio>
@@ -53,8 +69,10 @@
        sortnum: null,
        name: '',
        type: null,
        detailList: [],
        detail:null,
        detailList: [''],
        icon: '',
        iconFull: '',
        isFixed: 0
      },
      // éªŒè¯è§„则
@@ -70,9 +88,18 @@
    })
  },
  methods:{
    del(index){
      if(this.form.detailList.length<=1){
        return
      }
      this.form.detailList.splice(index,1)
    },
    add(){
      this.form.detailList.push('')
    },
    uploadAvatarSuccess (file) {
      this.$set(this.param, 'icon', file.imgurl)
      this.$set(this.param, 'iconFull', file.imgurlfull)
      this.$set(this.form, 'icon', file.imgurl)
      this.$set(this.form, 'iconFull', file.imgurlfull)
    },
    open(title, target, type) {
      this.title = title
@@ -82,9 +109,11 @@
        status: 0,
        sortnum: null,
        name: '',
        detail: null,
        type: type,
        detailList: [],
        detailList: [''],
        icon: '',
        iconFull: '',
        isFixed: 0
      }
      // æ–°å»º
@@ -101,6 +130,9 @@
        for (const key in this.form) {
          this.form[key] = target[key]
        }
        if(this.form.detailList==null){
          this.form.detailList = ['']
        }
      })
    }
  }
admin/src/components/business/OperaReceiveWeightWindow.vue
@@ -6,41 +6,20 @@
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="form.deleted" placeholder="请输入是否已删除 0未删除 1已删除" v-trim/>
      </el-form-item>
      <el-form-item label="状态:0=启用;1=禁用;" prop="status">
        <el-input v-model="form.status" placeholder="请输入状态:0=启用;1=禁用;" v-trim/>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="form.createUser" placeholder="请输入创建人编码" v-trim/>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="form.updateUser" placeholder="请输入更新人编码" v-trim/>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="form.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="form.remark" placeholder="请输入备注" v-trim/>
      <el-form-item label="最小接单量" prop="receiveMin">
        <el-input type="number"  v-model="form.receiveMin" placeholder="请输入最小接单量" v-trim/>
      </el-form-item>
      <el-form-item label="最大接单量" prop="receiveMax">
        <el-input v-model="form.receiveMax" placeholder="请输入最大接单量" v-trim/>
      </el-form-item>
      <el-form-item label="最小接单量" prop="receiveMin">
        <el-input v-model="form.receiveMin" placeholder="请输入最小接单量" v-trim/>
        <el-input type="number"  v-model="form.receiveMax" placeholder="请输入最大接单量" v-trim/>
      </el-form-item>
      <el-form-item label="优先级" prop="level">
        <el-input v-model="form.level" placeholder="请输入优先级" v-trim/>
        <el-input type="number" v-model="form.level" placeholder="请输入优先级" v-trim/>
      </el-form-item>
      <el-form-item label="订单查看延迟时间" prop="delayTime">
        <el-input v-model="form.delayTime" placeholder="请输入订单查看延迟时间" v-trim/>
      <el-form-item label="订单查看延迟时间(分钟)" prop="delayTime">
        <el-input type="number" v-model="form.delayTime" placeholder="请输入订单查看延迟时间" v-trim/>
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      <el-form-item label="备注" prop="remark">
        <el-input  type="textarea"  v-model="form.remark" placeholder="请输入备注" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalWindow>
@@ -73,6 +52,10 @@
      },
      // éªŒè¯è§„则
      rules: {
        receiveMin: [{ required: true, message: '请输入最小接单量' }],
        receiveMax: [{ required: true, message: '请输入最大接单量' }],
        level: [{ required: true, message: '请输入优先级' }],
        delayTime: [{ required: true, message: '订单查看延迟时间' }],
      }
    }
  },
admin/src/components/common/UploadAvatarImage.vue
@@ -31,7 +31,7 @@
  data() {
    return {
      loading: null,
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/uploadLocal'
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload'
    }
  },
admin/src/layouts/TableLayout.vue
@@ -198,4 +198,7 @@
.bluestate{
  color: #2080f7;
}
.yellowstate{
  color: #fc9d20;
}
</style>
admin/src/views/business/categoryCar.vue
@@ -13,7 +13,7 @@
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建品种配置',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建货运配置',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button></li>
      </ul>
      <el-table
@@ -24,6 +24,13 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" :selectable="isChangeSelected" width="55"></el-table-column>
        <el-table-column  prop="icon" label="图标" min-width="100px">
          <template slot-scope="{row}">
            <el-image v-if="row.iconFull" style="width: 50px; height: 50px; margin-right: 10px" :src="row.iconFull"
                      :preview-src-list="[row.iconFull]">
            </el-image>
          </template>
        </el-table-column>
        <el-table-column prop="name" label="单位名称" min-width="100px"></el-table-column>
        <el-table-column  prop="isFixed" label="是否固定车辆" min-width="100px">
          <template slot-scope="{row}">
@@ -31,13 +38,13 @@
            <span v-else >否</span>
          </template>
        </el-table-column>
        <el-table-column  prop="detail" label="可选规格" min-width="100px">
        <el-table-column  prop="detail" label="可选规格" min-width="200px">
          <template slot-scope="{row}">
              <div v-if="row.detailList && row.detailList.length">
                <div v-for="item in row.detailList">
                <span v-for="(item,index) in row.detailList">
                  {{item || ''}}
                  <span v-if="item.index < row.detailList.length" style="margin: 10px">|</span>
                </div>
                  <span v-if="index < row.detailList.length-1" style="margin: 5px">|</span>
                </span>
              </div>
          </template>
        </el-table-column>
@@ -58,8 +65,8 @@
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" v-if="row.isFixed != 1"  @click="$refs.operaCategoryWindow.open('编辑新建品种配置', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text" v-if="row.isFixed != 1"  @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
            <el-button type="text"   @click="$refs.operaCategoryWindow.open('编辑新建货运配置', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text"   @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -104,9 +111,9 @@
  },
  methods: {
    isChangeSelected(row,index){
      if(row.isFixed ==1) {
        return false
      }
      // if(row.isFixed ==1) {
      //   return false
      // }
      return true
    },
    changeStatus (e, row) {
admin/src/views/business/categoryCb.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,122 @@
<template>
  <TableLayout :permissions="['business:category:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建餐标配置',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" :selectable="isChangeSelected" width="55"></el-table-column>
        <el-table-column prop="name" label="用餐时间" min-width="100px"></el-table-column>
        <el-table-column  prop="detail" label="餐标" min-width="200px">
          <template slot-scope="{row}">
              <div v-if="row.detailList && row.detailList.length">
                <span v-for="(item,index) in row.detailList">
                  {{item || 0}}元
                  <span v-if="index < row.detailList.length-1" style="margin: 5px">|</span>
                </span>
              </div>
          </template>
        </el-table-column>
        <el-table-column label="状态">
          <template slot-scope="{row}">
            <el-switch :disabled="row.isFixed ==1" @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
            inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:category:update', 'business:category:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text"   @click="$refs.operaCategoryWindow.open('编辑餐标配置', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text"   @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
export default {
  name: 'Category',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaCategoryWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        type: 2
      }
    }
  },
  created () {
    this.config({
      module: '分类信息表',
      api: '/business/category',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    isChangeSelected(row,index){
      // if(row.isFixed ==1) {
      //   return false
      // }
      return true
    },
    changeStatus (e, row) {
      this.working = true
      this.api.updateStatus({ id: row.id, status: e })
        .then(res => {
          this.$tip.apiSuccess(res || '操作成功')
          this.search()
        })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.working = false
        })
    }
  }
}
</script>
admin/src/views/business/categoryFee.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
<template>
  <TableLayout :permissions="['business:category:query']">
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建餐标配置',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" :selectable="isChangeSelected" width="55"></el-table-column>
        <el-table-column prop="name" label="工单类型" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.name=='0'">用工单</span>
            <span v-if="row.name=='1'">货运单</span>
            <span v-if="row.name=='2'">订餐单</span>
          </template>
        </el-table-column>
        <el-table-column prop="detail" label="手续费(%)" min-width="100px">
          <template slot-scope="{row}">
            <span class="yellowstate">{{row.detail||0}}%</span>
          </template>
        </el-table-column>
        <el-table-column label="状态">
          <template slot-scope="{row}">
            <el-switch :disabled="row.isFixed ==1" @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
            inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:category:update', 'business:category:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text"   @click="$refs.operaCategoryWindow.open('编辑餐标配置', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text"   @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
export default {
  name: 'Category',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaCategoryWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        type: 3
      }
    }
  },
  created () {
    this.config({
      module: '分类信息表',
      api: '/business/category',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    isChangeSelected(row,index){
      // if(row.isFixed ==1) {
      //   return false
      // }
      return true
    },
    changeStatus (e, row) {
      this.working = true
      this.api.updateStatus({ id: row.id, status: e })
        .then(res => {
          this.$tip.apiSuccess(res || '操作成功')
          this.search()
        })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.working = false
        })
    }
  }
}
</script>
admin/src/views/business/orderSet.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,186 @@
<template>
  <div class="box" style="max-height:calc(100% - 60px);margin-bottom:50px;overflow-y: auto" >
    <el-form :model="form" ref="form" label-width="140px">
      <div style="margin: 0px 0 50px 0">
        <span style="font-size: 15px; font-weight: bold">【1】发单方取消订单配置</span>
      </div>
      <el-form-item label="" label-width="10px"  prop="address">
        æŽ¥å•后,距离任务开始前
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            placeholder="请输入"
            v-trim
        />小时,不可取消
      </el-form-item>
      <el-form-item label="" label-width="10px" prop="address">
      æ¯æ—¥å¯ä¸»åŠ¨å–æ¶ˆ
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            placeholder="请输入"
            v-trim
        />次<span style="font-size: 12px;color: #8c939d">(注:订单接单后可取消时间范围内)</span>
      </el-form-item>
      <div style="margin:20px 0 50px 0">
        <span style="font-size: 15px; font-weight: bold">【2】接单方取消订单配置:</span>
      </div>
      <el-form-item label="" label-width="10px"  prop="address">
        æŽ¥å•后,距离任务开始前
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            placeholder="请输入"
            v-trim
        />小时,不可取消
      </el-form-item>
      <el-form-item label="" label-width="10px" prop="address">
        æ¯æ—¥å¯ä¸»åŠ¨å–æ¶ˆ
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            placeholder="请输入"
            v-trim
        />次<span style="font-size: 12px;color: #8c939d">(注:订单接单后可取消时间范围内)</span>
        <div style="margin:20px 0 50px 0">
          <span style="font-size: 15px; font-weight: bold">【3】自动派单:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
          <el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              placeholder="请输入"
              v-trim
          />分钟无人接单,系统自动派单
        </el-form-item>
        <div style="margin:20px 0 50px 0">
          <span style="font-size: 15px; font-weight: bold">【4】派单范围:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
          è·ç¦»ç”¨å·¥åœ°ç‚¹<el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              placeholder="请输入"
              v-trim
          />km范围内,进行派单
        </el-form-item>
        <div style="margin:20px 0 50px 0">
          <span style="font-size: 15px; font-weight: bold">【5】订单修:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
          è®¢å•修改后,接单方<el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              placeholder="请输入"
              v-trim
          />分钟后未确认,系统自动同意
        </el-form-item>
        <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'
export default {
  name: '',
  components: {  },
  data () {
    return {
      uploadData: {
        folder: ''
      },
      isUploading: false,
      working: false,
      form: {
        address: null,
        footImgUrl: 0,
        footFullImgUrl: 0,
        footImgUrl2: 0,
        footFullImgUrl2: 0,
        footWords: 0,
        linkMobile: 0,
        linkPhone: 0,
        serverTime: '',
        qyemail: ''
      }
    }
  },
  created () {
    this.getData()
  },
  methods: {
    getData () {
      getPlatformConfig({})
        .then(res => {
          if (res) {
            this.form.address = res.address
            this.form.footImgUrl = res.footImgUrl
            this.form.footFullImgUrl = res.footFullImgUrl
            this.form.footImgUrl2 = res.footImgUrl2
            this.form.footFullImgUrl2 = res.footFullImgUrl2
            this.form.footWords = res.footWords
            this.form.linkMobile = res.linkMobile
            this.form.linkPhone = res.linkPhone
            this.form.qyemail = res.qyemail
            this.form.serverTime = res.serverTime
            this.form.solveScheme = res.solveScheme || [{ name: '', address: '' }]
            this.form.wisdomSystem = res.wisdomSystem || [{ name: '', address: '' }]
            this.form.honors = res.honors || [{ name: '', address: '' }]
            this.form.yqlinks = res.yqlinks || [{ name: '', address: '' }]
          }
        })
    },
    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);
}
/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>
admin/src/views/business/receiveWeight.vue
@@ -14,19 +14,23 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="id" label="主键" min-width="100px"></el-table-column>
        <el-table-column prop="deleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="状态:0=启用;1=禁用;" min-width="100px"></el-table-column>
        <el-table-column prop="createUser" label="创建人编码" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="100px"></el-table-column>
        <el-table-column prop="updateUser" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="receiveMax" label="最大接单量" min-width="100px"></el-table-column>
        <el-table-column prop="receiveMin" label="最小接单量" min-width="100px"></el-table-column>
        <el-table-column prop="receiveMax" label="最大接单量" min-width="100px">
          <template slot-scope="{row}">
            {{row.receiveMin||0}}{{' - '}}{{row.receiveMax||0}}
          </template>
        </el-table-column>
<!--        <el-table-column label="状态">
          <template slot-scope="{row}">
            <el-switch :disabled="row.isFixed ==1" @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>-->
        <el-table-column prop="level" label="优先级" min-width="100px"></el-table-column>
        <el-table-column prop="delayTime" label="订单查看延迟时间" min-width="100px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:receiveweight:update', 'business:receiveweight:delete'])"
          label="操作"
server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -63,7 +63,8 @@
        category.setCreateUser(loginUserInfo.getId());
        category.setUpdateTime(new Date());
        category.setUpdateUser(loginUserInfo.getId());
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())){
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())
                && !Constants.equalsInteger(category.getType(),Constants.THREE)){
            category.setDetail(category.getDetailList().toJSONString());
        }
        if(!Constants.equalsInteger(category.getType(),Constants.ONE)){
@@ -110,7 +111,8 @@
        category.setUpdateTime(new Date());
        category.setIsFixed(null);
        category.setUpdateUser(loginUserInfo.getId());
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())){
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())
                && !Constants.equalsInteger(category.getType(),Constants.THREE)){
            category.setDetail(category.getDetailList().toJSONString());
        }
        categoryMapper.updateById(category);