jiangping
2025-07-15 03460728b50f69ef33d39c8352e95b33253bb056
前端
已修改3个文件
319 ■■■■ 文件已修改
admin/src/views/business/member.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/orderSet.vue 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/orders.vue 229 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/member.vue
@@ -60,7 +60,7 @@
        </el-table-column>
        <el-table-column prop="amount" label="当前余额(元)" min-width="100px">
          <template slot-scope="{row}">
            {{((row.amount || 0)/100).toFixed(2)}}
            <span class="yellowstate">{{((row.amount || 0)/100).toFixed(2)}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="createTime" label="注册时间" min-width="100px"></el-table-column>
@@ -75,7 +75,7 @@
                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>-->
        </el-table-column>
      <el-table-column
              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
              label="操作"
@@ -86,7 +86,7 @@
            <el-button type="text" @click="$refs.operaMemberWindow.open('编辑会员信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button>
          </template>
        </el-table-column>
        </el-table-column>-->
      </el-table>
      <pagination
        @size-change="handleSizeChange"
admin/src/views/business/orderSet.vue
@@ -1,83 +1,84 @@
<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">
    <el-form :model="form" ref="form">
      <div style="margin: 20px 0 20px 0;background-color: rgba(140,147,157,0.61)">
        <span style="font-size: 15px; font-weight: bold">【1】发单方取消订单配置</span>
      </div>
      <el-form-item label="" label-width="10px"  prop="address">
      <el-form-item label="" label-width="10px"  prop="releaseCancelTime">
        接单后,距离任务开始前
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            v-model="form.releaseCancelTime"
            placeholder="请输入"
            v-trim
        />小时,不可取消
      </el-form-item>
      <el-form-item label="" label-width="10px" prop="address">
      <el-form-item label="" label-width="10px" prop="releaseCancelTimes">
      每日可主动取消
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            v-model="form.releaseCancelTimes"
            placeholder="请输入"
            v-trim
        />次<span style="font-size: 12px;color: #8c939d">(注:订单接单后可取消时间范围内)</span>
      </el-form-item>
      <div style="margin:20px 0 50px 0">
      <div style="margin:50px 0 20px 0;background-color: rgba(140,147,157,0.61)">
        <span style="font-size: 15px; font-weight: bold">【2】接单方取消订单配置:</span>
      </div>
      <el-form-item label="" label-width="10px"  prop="address">
      <el-form-item label="" label-width="10px"  prop="receiveCancelTime">
        接单后,距离任务开始前
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            v-model="form.receiveCancelTime"
            placeholder="请输入"
            v-trim
        />小时,不可取消
      </el-form-item>
      <el-form-item label="" label-width="10px" prop="address">
      <el-form-item label="" label-width="10px" prop="receiveCancelTimes">
        每日可主动取消
        <el-input
            style="width: 100px;margin: 0px 20px"
            type="number"
            v-model="form.address"
            v-model="form.receiveCancelTimes"
            placeholder="请输入"
            v-trim
        />次<span style="font-size: 12px;color: #8c939d">(注:订单接单后可取消时间范围内)</span>
        <div style="margin:20px 0 50px 0">
      </el-form-item>
        <div style="margin:50px 0 20px 0;background-color: rgba(140,147,157,0.61)">
          <span style="font-size: 15px; font-weight: bold">【3】自动派单:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
        <el-form-item label="" label-width="10px"  prop="autoDispatch">
          <el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              v-model="form.autoDispatch"
              placeholder="请输入"
              v-trim
          />分钟无人接单,系统自动派单
        </el-form-item>
        <div style="margin:20px 0 50px 0">
        <div style="margin:50px 0 20px 0;background-color: rgba(140,147,157,0.61)">
          <span style="font-size: 15px; font-weight: bold">【4】派单范围:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
        <el-form-item label="" label-width="10px"  prop="autoDispatchDistance">
          距离用工地点<el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              v-model="form.autoDispatchDistance"
              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 style="margin:50px 0 20px 0;background-color: rgba(140,147,157,0.61)">
          <span style="font-size: 15px; font-weight: bold">【5】订单修改:</span>
        </div>
        <el-form-item label="" label-width="10px"  prop="address">
        <el-form-item label="" label-width="10px"  prop="autoConfirm">
          订单修改后,接单方<el-input
              style="width: 100px;margin: 0px 20px"
              type="number"
              v-model="form.address"
              v-model="form.autoConfirm"
              placeholder="请输入"
              v-trim
          />分钟后未确认,系统自动同意
@@ -93,7 +94,6 @@
import { getPlatformConfig, updPlatformConfig } from '@/api/system/dictData'
export default {
  name: '',
  components: {  },
  data () {
    return {
      uploadData: {
@@ -102,16 +102,13 @@
      isUploading: false,
      working: false,
      form: {
        address: null,
        footImgUrl: 0,
        footFullImgUrl: 0,
        footImgUrl2: 0,
        footFullImgUrl2: 0,
        footWords: 0,
        linkMobile: 0,
        linkPhone: 0,
        serverTime: '',
        qyemail: ''
        releaseCancelTimes: null,
        releaseCancelTime: null,
        receiveCancelTimes: null,
        receiveCancelTime: null,
        autoDispatch: null,
        autoDispatchDistance: null,
        autoConfirm: null
      }
    }
  },
@@ -125,20 +122,15 @@
      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: '' }]
            this.form ={
              releaseCancelTimes: res.releaseCancelTimes || null,
              releaseCancelTime:   res.releaseCancelTime|| null,
              receiveCancelTimes:  res.receiveCancelTimes|| null,
              receiveCancelTime:  res.receiveCancelTime|| null,
              autoDispatch:  res.autoDispatch|| null,
              autoDispatchDistance:  res.autoDispatchDistance|| null,
              autoConfirm:  res.autoConfirm|| null
            }
          }
        })
    },
admin/src/views/business/orders.vue
@@ -2,17 +2,49 @@
  <TableLayout :permissions="['business:orders:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="发单方" prop="releaseMemberId">
        <el-input v-model="searchForm.releaseMemberId" placeholder="请输入发单方" @keypress.enter.native="search"></el-input>
      <el-form-item label="订单号" prop="releaseMemberId">
        <el-input v-model="searchForm.code" style="width: 120px"  placeholder="请输入订单号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="省份" prop="province">
        <el-input v-model="searchForm.province" placeholder="请输入省份" @keypress.enter.native="search"></el-input>
      <el-form-item label="接单方" prop="acceptName">
        <el-input v-model="searchForm.acceptName" style="width: 120px"  placeholder="请输入接单方" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="城市" prop="city">
        <el-input v-model="searchForm.city" placeholder="请输入城市" @keypress.enter.native="search"></el-input>
      <el-form-item label="发单方" prop="releaseName">
        <el-input v-model="searchForm.releaseName" style="width: 120px"  placeholder="请输入发单方" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="区县" prop="area">
        <el-input v-model="searchForm.area" placeholder="请输入区县" @keypress.enter.native="search"></el-input>
      <el-form-item label="订单类型" prop="type">
        <el-select v-model="searchForm.type"  style="width: 120px"  @keypress.enter.native="search" clearable placeholder="订单类型">
          <el-option label="用工单" :value="0"></el-option>
          <el-option label="货运单" :value="1"></el-option>
          <el-option label="订餐单" :value="2"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="订单状态" prop="status">
        <el-select v-model="searchForm.status" style="width: 120px"  @keypress.enter.native="search" clearable placeholder="状态">
        <el-option label="待支付" :value="0"></el-option>
        <el-option label="待接单" :value="1"></el-option>
        <el-option label="已接单" :value="2"></el-option>
        <el-option label="进行中" :value="3"></el-option>
        <el-option label="已完成" :value="4"></el-option>
        <el-option label="已取消" :value="99"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="发布时间"   style="width: 380px;" label-width="100px" >
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.createTimeStart" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="开始时间" />-
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.createTimeEnd" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="结束时间" />
      </el-form-item>
      <el-form-item label="接单时间"    style="width: 380px;" label-width="100px" >
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.acceptTimeStart" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="开始时间" />-
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.acceptTimeEnd" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="结束时间" />
      </el-form-item>
      <el-form-item label="完成时间"    style="width: 380px;" label-width="100px" >
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.doneTimeStart" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="开始时间" />-
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.doneTimeEnd" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="结束时间" />
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -21,10 +53,10 @@
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:orders:create', 'business:orders:delete']">
<!--      <ul class="toolbar" v-permissions="['business:orders:create', 'business:orders:delete']">
        <li><el-button type="primary" @click="$refs.operaOrdersWindow.open('新建订单信息记录')" icon="el-icon-plus" v-permissions="['business:orders:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:orders:delete']">删除</el-button></li>
      </ul>
      </ul>-->
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
@@ -32,69 +64,58 @@
        stripe
        @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="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="releaseMemberId" label="发单方" min-width="100px"></el-table-column>
        <el-table-column prop="type" label="类型:0=用工;1=运货;2=订餐" min-width="100px"></el-table-column>
        <el-table-column prop="startDate" label="开始时间 yyyy-MM-dd" min-width="100px"></el-table-column>
        <el-table-column prop="endDate" label="结束时间 yyyy-MM-dd" min-width="100px"></el-table-column>
        <el-table-column prop="location" label="地点信息/用车起点/用餐地点" min-width="100px"></el-table-column>
        <el-table-column prop="locationRemark" label="地点描述" min-width="100px"></el-table-column>
        <el-table-column prop="lat" label="经度" min-width="100px"></el-table-column>
        <el-table-column prop="province" label="省份" min-width="100px"></el-table-column>
        <el-table-column prop="city" label="城市" min-width="100px"></el-table-column>
        <el-table-column prop="area" label="区县" min-width="100px"></el-table-column>
        <el-table-column prop="lgt" label="纬度" min-width="100px"></el-table-column>
        <el-table-column prop="categoryId" label="需求类型(运货/用工):关联 category" min-width="100px"></el-table-column>
        <el-table-column prop="workType" label="用工类型:0=采摘工;1=分拣工;2=包装工;(用工订单)" min-width="100px"></el-table-column>
        <el-table-column prop="priceNum1" label="计价数量1(天数/用车次数)" min-width="100px"></el-table-column>
        <el-table-column prop="priceNum2" label="计价数量2(用工数量/采摘数量/用车数量/)" min-width="100px"></el-table-column>
        <el-table-column prop="supplement" label="需求补充" min-width="100px"></el-table-column>
        <el-table-column prop="price" label="费用标准" min-width="100px"></el-table-column>
        <el-table-column prop="estimatedAccount" label="预估费用" min-width="100px"></el-table-column>
        <el-table-column prop="payAccount" label="实际支付费用" min-width="100px"></el-table-column>
        <el-table-column prop="reviceAccount" label="实收费用" min-width="100px"></el-table-column>
        <el-table-column prop="priceRemark" label="费用说明" min-width="100px"></el-table-column>
        <el-table-column prop="carType" label="用车类型(运货使用):0=天;1=次" min-width="100px"></el-table-column>
        <el-table-column prop="transportTypeId" label="运输品种(运货使用) 关联category表" min-width="100px"></el-table-column>
        <el-table-column prop="transportNum" label="运输重量/数量" min-width="100px"></el-table-column>
        <el-table-column prop="transportUnit" label="运输单位(个/斤)" min-width="100px"></el-table-column>
        <el-table-column prop="locationEnd" label="用车终点地址" min-width="100px"></el-table-column>
        <el-table-column prop="latEnd" label="用车终点经度" min-width="100px"></el-table-column>
        <el-table-column prop="lgtEnd" label="用车终点纬度" min-width="100px"></el-table-column>
        <el-table-column prop="wayInfo" label="途经点/餐标信息" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="订单编号" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="订单状态:0=待接单;1=已接单;2=进行中;3=已完成;99=已取消;" min-width="100px"></el-table-column>
        <el-table-column prop="acceptTime" label="接单时间" min-width="100px"></el-table-column>
        <el-table-column prop="acceptMemberId" label="接单人" min-width="100px"></el-table-column>
        <el-table-column prop="acceptType" label="接单类型:0=手动接单;1=系统派单;" min-width="100px"></el-table-column>
        <el-table-column prop="workStartTime" label="开始作业时间" min-width="100px"></el-table-column>
        <el-table-column prop="finishTime" label="完成时间" min-width="100px"></el-table-column>
        <el-table-column prop="platformRata" label="平台提成比例" min-width="100px"></el-table-column>
        <el-table-column prop="wxExternalNo" label="微信平台交易订单号" min-width="100px"></el-table-column>
        <el-table-column prop="commentStatus" label="是否评价:0=否;1=是" min-width="100px"></el-table-column>
        <el-table-column prop="commentInfo" label="评价内容" min-width="100px"></el-table-column>
        <el-table-column prop="commentLevel" label="评价星级1-5" min-width="100px"></el-table-column>
        <el-table-column prop="commentTime" label="评价时间" min-width="100px"></el-table-column>
        <el-table-column prop="commentType" label="评价类型:0=手动评价;1=系统自动评价;" min-width="100px"></el-table-column>
        <el-table-column prop="cancelTime" label="取消时间" min-width="100px"></el-table-column>
        <el-table-column prop="isUpdate" label="是否已修改:0=否;1=是;" min-width="100px"></el-table-column>
        <el-table-column prop="blackRecive" label="接单方黑名单member:id 多个以,分割" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="订单编号" min-width="100px" fixed="left">
          <template slot-scope="{row}">
            <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.code}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="statusName" label="订单状态" min-width="100px"  > </el-table-column>
        <el-table-column prop="type" label="订单类型" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.type==0">用工单</span>
            <span v-if="row.type==1">货运单</span>
            <span v-if="row.type==2">订餐单</span>
          </template>
        </el-table-column>
        <el-table-column prop="orderContent" label="订单内容"  width="200px" :show-overflow-tooltip='true'></el-table-column>
        <el-table-column prop="releaseName" label="发单方" min-width="100px">
          <template slot-scope="{row}">
            {{(row.releaseName||'匿名') +' - ' +(row.releasePhone||'无')  }}
          </template>
        </el-table-column>
        <el-table-column prop="acceptName" label="接单方" min-width="100px">
          <template slot-scope="{row}">
            {{(row.acceptName||'匿名') +' - ' +(row.acceptPhone ||'无')  }}
          </template>
        </el-table-column>
        <el-table-column prop="createTime" label="发布时间" min-width="150px"></el-table-column>
        <el-table-column prop="acceptTime" label="接单时间" min-width="150px"></el-table-column>
        <el-table-column prop="finishTime" label="完成时间" min-width="150px"></el-table-column>
        <el-table-column prop="estimatedAccount" label="预估金额(元)" min-width="150px">
          <template slot-scope="{row}">
            <span class="yellowstate">{{((row.estimatedAccount || 0)/100).toFixed(2)}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="payAccount" label="实付金额(元)" min-width="150px">
          <template slot-scope="{row}">
            <span class="yellowstate">{{((row.payAccount || 0)/100).toFixed(2)}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="acceptType" label="接单类型" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.acceptType==0">手动接单</span>
            <span v-if="row.acceptType==1">系统派单</span>
          </template>
        </el-table-column>
        <el-table-column
          v-if="containPermissions(['business:orders:update', 'business:orders:delete'])"
          label="操作"
          min-width="120"
          align="center"
          min-width="150"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaOrdersWindow.open('编辑订单信息记录', row)" icon="el-icon-edit" v-permissions="['business:orders:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:orders:delete']">删除</el-button>
            <el-button type="text" class="redstate" @click="cancenDo(row)" v-if="row.status>-1 && row.status<4" icon="el-icon-delete" v-permissions="['business:orders:update']">取消</el-button>
            <el-button type="text" @click="openDetail( row)" icon="el-icon-info"  >详情</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -123,59 +144,17 @@
    return {
      // 搜索
      searchForm: {
        id: '',
        deleted: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        releaseMemberId: '',
        type: '',
        startDate: '',
        endDate: '',
        location: '',
        locationRemark: '',
        lat: '',
        province: '',
        city: '',
        area: '',
        lgt: '',
        categoryId: '',
        workType: '',
        priceNum1: '',
        priceNum2: '',
        supplement: '',
        price: '',
        estimatedAccount: '',
        payAccount: '',
        reviceAccount: '',
        priceRemark: '',
        carType: '',
        transportTypeId: '',
        transportNum: '',
        transportUnit: '',
        locationEnd: '',
        latEnd: '',
        lgtEnd: '',
        wayInfo: '',
        code: '',
        status: '',
        acceptTime: '',
        acceptMemberId: '',
        acceptType: '',
        workStartTime: '',
        finishTime: '',
        platformRata: '',
        wxExternalNo: '',
        commentStatus: '',
        commentInfo: '',
        commentLevel: '',
        commentTime: '',
        commentType: '',
        cancelTime: '',
        isUpdate: '',
        blackRecive: ''
        acceptName: null,
        releaseName: null,
        type: null,
        createTimeEnd: null,
        createTimeStart: null,
        acceptTimeStart: null,
        acceptTimeEnd: null,
        doneTimeStart: null,
        doneTimeEnd: null,
        status: null,
        code:null
      }
    }
  },
@@ -187,6 +166,14 @@
      'field.main': 'id'
    })
    this.search()
  },
  methods:{
    openDetail (row) {
      // this.$refs.OperaMemberDetailWindow.open('用户详情', row.id)
    },
    cancenDo(row){
    }
  }
}
</script>