From f93f7b4ea3b2be58863593290cc4302050c2c6f6 Mon Sep 17 00:00:00 2001
From: 18650502300 <18650502300@163.com>
Date: Fri, 11 Oct 2024 17:36:25 +0800
Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E9=80=81=E5=B7=A5=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/api/rl/accessory.js                      |  13 +
 src/api/rl/deliveryOrder.js                  |  44 +++
 src/api/rl/deliveryOrderOper.js              |  44 +++
 src/api/rl/detail.js                         |  44 +++
 src/api/rl/model.js                          |  44 +++
 src/api/rl/orderOper.js                      |  44 +++
 src/views/system/accessory/index.vue         |  39 +-
 src/views/system/deliveryOrder/index.vue     | 357 +++++++++++++++++++
 src/views/system/deliveryOrderOper/index.vue | 338 ++++++++++++++++++
 src/views/system/detail/index.vue            | 319 +++++++++++++++++
 src/views/system/model/index.vue             | 114 +++---
 src/views/system/orderOper/index.vue         | 317 ++++++++++++++++
 src/views/system/partner/index.vue           |  20 +-
 src/views/system/rule/index.vue              |  50 +--
 14 files changed, 1662 insertions(+), 125 deletions(-)
 create mode 100644 src/api/rl/deliveryOrder.js
 create mode 100644 src/api/rl/deliveryOrderOper.js
 create mode 100644 src/api/rl/detail.js
 create mode 100644 src/api/rl/model.js
 create mode 100644 src/api/rl/orderOper.js
 create mode 100644 src/views/system/deliveryOrder/index.vue
 create mode 100644 src/views/system/deliveryOrderOper/index.vue
 create mode 100644 src/views/system/detail/index.vue
 create mode 100644 src/views/system/orderOper/index.vue

diff --git a/src/api/rl/accessory.js b/src/api/rl/accessory.js
index b91fc01..78bb9b5 100644
--- a/src/api/rl/accessory.js
+++ b/src/api/rl/accessory.js
@@ -17,6 +17,19 @@ export function getAccessory(accessoryId) {
   })
 }
 
+// 配件状态修改
+export function changeAccessoryStatus(accessoryId, status) {
+  const data = {
+    accessoryId,
+    status
+  }
+  return request({
+    url: '/system/accessory/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
 // 新增配件
 export function addAccessory(data) {
   return request({
diff --git a/src/api/rl/deliveryOrder.js b/src/api/rl/deliveryOrder.js
new file mode 100644
index 0000000..2d9b474
--- /dev/null
+++ b/src/api/rl/deliveryOrder.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询配送工单列表
+export function listDeliveryOrder(query) {
+  return request({
+    url: '/system/deliveryOrder/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询配送工单详细
+export function getDeliveryOrder(deliveryId) {
+  return request({
+    url: '/system/deliveryOrder/' + deliveryId,
+    method: 'get'
+  })
+}
+
+// 新增配送工单
+export function addDeliveryOrder(data) {
+  return request({
+    url: '/system/deliveryOrder',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改配送工单
+export function updateDeliveryOrder(data) {
+  return request({
+    url: '/system/deliveryOrder',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除配送工单
+export function delDeliveryOrder(deliveryId) {
+  return request({
+    url: '/system/deliveryOrder/' + deliveryId,
+    method: 'delete'
+  })
+}
diff --git a/src/api/rl/deliveryOrderOper.js b/src/api/rl/deliveryOrderOper.js
new file mode 100644
index 0000000..02f5b10
--- /dev/null
+++ b/src/api/rl/deliveryOrderOper.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询配送单履历列表
+export function listDeliveryOrderOper(query) {
+  return request({
+    url: '/system/deliveryOrderOper/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询配送单履历详细
+export function getDeliveryOrderOper(operId) {
+  return request({
+    url: '/system/deliveryOrderOper/' + operId,
+    method: 'get'
+  })
+}
+
+// 新增配送单履历
+export function addDeliveryOrderOper(data) {
+  return request({
+    url: '/system/deliveryOrderOper',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改配送单履历
+export function updateDeliveryOrderOper(data) {
+  return request({
+    url: '/system/deliveryOrderOper',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除配送单履历
+export function delDeliveryOrderOper(operId) {
+  return request({
+    url: '/system/deliveryOrderOper/' + operId,
+    method: 'delete'
+  })
+}
diff --git a/src/api/rl/detail.js b/src/api/rl/detail.js
new file mode 100644
index 0000000..0a45ae4
--- /dev/null
+++ b/src/api/rl/detail.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询分账明细列表
+export function listDetail(query) {
+  return request({
+    url: '/system/detail/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询分账明细详细
+export function getDetail(id) {
+  return request({
+    url: '/system/detail/' + id,
+    method: 'get'
+  })
+}
+
+// 新增分账明细
+export function addDetail(data) {
+  return request({
+    url: '/system/detail',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改分账明细
+export function updateDetail(data) {
+  return request({
+    url: '/system/detail',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除分账明细
+export function delDetail(id) {
+  return request({
+    url: '/system/detail/' + id,
+    method: 'delete'
+  })
+}
diff --git a/src/api/rl/model.js b/src/api/rl/model.js
new file mode 100644
index 0000000..acae5fa
--- /dev/null
+++ b/src/api/rl/model.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询车辆型号列表
+export function listModel(query) {
+  return request({
+    url: '/system/model/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询车辆型号详细
+export function getModel(modelId) {
+  return request({
+    url: '/system/model/' + modelId,
+    method: 'get'
+  })
+}
+
+// 新增车辆型号
+export function addModel(data) {
+  return request({
+    url: '/system/model',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改车辆型号
+export function updateModel(data) {
+  return request({
+    url: '/system/model',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除车辆型号
+export function delModel(modelId) {
+  return request({
+    url: '/system/model/' + modelId,
+    method: 'delete'
+  })
+}
diff --git a/src/api/rl/orderOper.js b/src/api/rl/orderOper.js
new file mode 100644
index 0000000..70ebac0
--- /dev/null
+++ b/src/api/rl/orderOper.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询操作操作履历列表
+export function listOrderOper(query) {
+  return request({
+    url: '/system/orderOper/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询操作操作履历详细
+export function getOrderOper(operId) {
+  return request({
+    url: '/system/orderOper/' + operId,
+    method: 'get'
+  })
+}
+
+// 新增操作操作履历
+export function addOrderOper(data) {
+  return request({
+    url: '/system/orderOper',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改操作操作履历
+export function updateOrderOper(data) {
+  return request({
+    url: '/system/orderOper',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除操作操作履历
+export function delOrderOper(operId) {
+  return request({
+    url: '/system/orderOper/' + operId,
+    method: 'delete'
+  })
+}
diff --git a/src/views/system/accessory/index.vue b/src/views/system/accessory/index.vue
index db55c0f..36fd93c 100644
--- a/src/views/system/accessory/index.vue
+++ b/src/views/system/accessory/index.vue
@@ -9,10 +9,10 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="车型id" prop="modelId">
+      <el-form-item label="车型" prop="modelId">
         <el-input
           v-model="queryParams.modelId"
-          placeholder="请输入车型id"
+          placeholder="请输入车型"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -73,8 +73,18 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="id" align="center" prop="accessoryId" />
       <el-table-column label="配件名称" align="center" prop="name" />
-      <el-table-column label="车型id" align="center" prop="modelId" />
-      <el-table-column label="状态:" align="center" prop="status" />
+      <el-table-column label="车型" align="center" prop="model" />
+<!--      <el-table-column label="状态" align="center" prop="status" />-->
+      <el-table-column label="状态" align="center" width="100">
+        <template slot-scope="scope">
+          <el-switch
+            v-model="scope.row.status"
+            active-value="1"
+            inactive-value="0"
+            @change="handleStatusChange(scope.row)"
+          ></el-switch>
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -122,7 +132,15 @@
 </template>
 
 <script>
-import { listAccessory, getAccessory, delAccessory, addAccessory, updateAccessory } from "@/api/rl/accessory";
+  import {
+    listAccessory,
+    getAccessory,
+    delAccessory,
+    addAccessory,
+    updateAccessory,
+    changeAccessoryStatus
+  } from "@/api/rl/accessory";
+import {changeRoleStatus} from "@/api/system/role";
 
 export default {
   name: "Accessory",
@@ -165,6 +183,17 @@ export default {
     this.getList();
   },
   methods: {
+    // 配件状态修改
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "启用" : "停用";
+      this.$modal.confirm('确认要"' + text + '""' + row.name + '"配件吗?').then(function() {
+        return changeAccessoryStatus(row.accessoryId, row.status);
+      }).then(() => {
+        this.$modal.msgSuccess(text + "成功");
+      }).catch(function() {
+        row.status = row.status === "0" ? "1" : "0";
+      });
+    },
     /** 查询配件列表 */
     getList() {
       this.loading = true;
diff --git a/src/views/system/deliveryOrder/index.vue b/src/views/system/deliveryOrder/index.vue
new file mode 100644
index 0000000..0a944dc
--- /dev/null
+++ b/src/views/system/deliveryOrder/index.vue
@@ -0,0 +1,357 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="关联的订单号" prop="orderNo">
+        <el-input
+          v-model="queryParams.orderNo"
+          placeholder="请输入关联的订单号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="代理商" prop="agentId">
+        <el-input
+          v-model="queryParams.agentId"
+          placeholder="请输入代理商"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="配送员" prop="deliverymanId">
+        <el-input
+          v-model="queryParams.deliverymanId"
+          placeholder="请输入配送员"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="配送员类型" prop="deliverymanType">
+        <el-select v-model="queryParams.deliverymanType" placeholder="请选择配送员类型" clearable>
+          <el-option
+            v-for="dict in dict.type.rl_deliveryman_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="配送员名称" prop="deliveryman">
+        <el-input
+          v-model="queryParams.deliveryman"
+          placeholder="请输入配送员名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="配送员电话" prop="deliverymanPhone">
+        <el-input
+          v-model="queryParams.deliverymanPhone"
+          placeholder="请输入配送员电话"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
+          <el-option
+            v-for="dict in dict.type.rl_delivery_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:deliveryOrder:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:deliveryOrder:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:deliveryOrder:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:deliveryOrder:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="deliveryOrderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="配送工单id" align="center" prop="deliveryId" />
+      <el-table-column label="关联的订单号" align="center" prop="orderNo" />
+      <el-table-column label="代理商" align="center" prop="agentId" />
+      <el-table-column label="配送员" align="center" prop="deliverymanId" />
+      <el-table-column label="配送员类型" align="center" prop="deliverymanType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.rl_deliveryman_type" :value="scope.row.deliverymanType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="配送员名称" align="center" prop="deliveryman" />
+      <el-table-column label="配送员电话" align="center" prop="deliverymanPhone" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.rl_delivery_status" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:deliveryOrder:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:deliveryOrder:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改配送工单对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="关联的订单号" prop="orderNo">
+          <el-input v-model="form.orderNo" placeholder="请输入关联的订单号" />
+        </el-form-item>
+        <el-form-item label="代理商" prop="agentId">
+          <el-input v-model="form.agentId" placeholder="请输入代理商" />
+        </el-form-item>
+        <el-form-item label="配送员" prop="deliverymanId">
+          <el-input v-model="form.deliverymanId" placeholder="请输入配送员" />
+        </el-form-item>
+        <el-form-item label="配送员类型" prop="deliverymanType">
+          <el-select v-model="form.deliverymanType" placeholder="请选择配送员类型">
+            <el-option
+              v-for="dict in dict.type.rl_deliveryman_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="配送员名称" prop="deliveryman">
+          <el-input v-model="form.deliveryman" placeholder="请输入配送员名称" />
+        </el-form-item>
+        <el-form-item label="配送员电话" prop="deliverymanPhone">
+          <el-input v-model="form.deliverymanPhone" placeholder="请输入配送员电话" />
+        </el-form-item>
+        <el-form-item label="状态" prop="status">
+          <el-select v-model="form.status" placeholder="请选择状态">
+            <el-option
+              v-for="dict in dict.type.rl_delivery_status"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listDeliveryOrder, getDeliveryOrder, delDeliveryOrder, addDeliveryOrder, updateDeliveryOrder } from "@/api/rl/deliveryOrder";
+
+export default {
+  name: "DeliveryOrder",
+  dicts: ['rl_deliveryman_type', 'rl_delivery_status'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 配送工单表格数据
+      deliveryOrderList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderNo: null,
+        agentId: null,
+        deliverymanId: null,
+        deliverymanType: null,
+        deliveryman: null,
+        deliverymanPhone: null,
+        status: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询配送工单列表 */
+    getList() {
+      this.loading = true;
+      listDeliveryOrder(this.queryParams).then(response => {
+        this.deliveryOrderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        deliveryId: null,
+        orderNo: null,
+        agentId: null,
+        deliverymanId: null,
+        deliverymanType: null,
+        deliveryman: null,
+        deliverymanPhone: null,
+        status: null,
+        createTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.deliveryId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加配送工单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const deliveryId = row.deliveryId || this.ids
+      getDeliveryOrder(deliveryId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改配送工单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.deliveryId != null) {
+            updateDeliveryOrder(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDeliveryOrder(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const deliveryIds = row.deliveryId || this.ids;
+      this.$modal.confirm('是否确认删除配送工单编号为"' + deliveryIds + '"的数据项?').then(function() {
+        return delDeliveryOrder(deliveryIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/deliveryOrder/export', {
+        ...this.queryParams
+      }, `deliveryOrder_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/src/views/system/deliveryOrderOper/index.vue b/src/views/system/deliveryOrderOper/index.vue
new file mode 100644
index 0000000..20a7df5
--- /dev/null
+++ b/src/views/system/deliveryOrderOper/index.vue
@@ -0,0 +1,338 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="配送工单id" prop="deliveryId">
+        <el-input
+          v-model="queryParams.deliveryId"
+          placeholder="请输入配送工单id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="配送类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择配送类型" clearable>
+          <el-option
+            v-for="dict in dict.type.rl_delivery_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="操作人" prop="operUserid">
+        <el-input
+          v-model="queryParams.operUserid"
+          placeholder="请输入操作人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作人电话" prop="operPhone">
+        <el-input
+          v-model="queryParams.operPhone"
+          placeholder="请输入操作人电话"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作人名称" prop="operName">
+        <el-input
+          v-model="queryParams.operName"
+          placeholder="请输入操作人名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作时间" prop="operTime">
+        <el-date-picker clearable
+          v-model="queryParams.operTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择操作时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:deliveryOrderOper:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:deliveryOrderOper:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:deliveryOrderOper:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:deliveryOrderOper:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="deliveryOrderOperList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="操作id" align="center" prop="operId" />
+      <el-table-column label="配送工单id" align="center" prop="deliveryId" />
+      <el-table-column label="配送类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.rl_delivery_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作人" align="center" prop="operUserid" />
+      <el-table-column label="操作人电话" align="center" prop="operPhone" />
+      <el-table-column label="操作人名称" align="center" prop="operName" />
+      <el-table-column label="操作时间" align="center" prop="operTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.operTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:deliveryOrderOper:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:deliveryOrderOper:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改配送单履历对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="配送工单id" prop="deliveryId">
+          <el-input v-model="form.deliveryId" placeholder="请输入配送工单id" />
+        </el-form-item>
+        <el-form-item label="配送类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择配送类型">
+            <el-option
+              v-for="dict in dict.type.rl_delivery_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="操作人" prop="operUserid">
+          <el-input v-model="form.operUserid" placeholder="请输入操作人" />
+        </el-form-item>
+        <el-form-item label="操作人电话" prop="operPhone">
+          <el-input v-model="form.operPhone" placeholder="请输入操作人电话" />
+        </el-form-item>
+        <el-form-item label="操作人名称" prop="operName">
+          <el-input v-model="form.operName" placeholder="请输入操作人名称" />
+        </el-form-item>
+        <el-form-item label="操作时间" prop="operTime">
+          <el-date-picker clearable
+            v-model="form.operTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择操作时间">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listDeliveryOrderOper, getDeliveryOrderOper, delDeliveryOrderOper, addDeliveryOrderOper, updateDeliveryOrderOper } from "@/api/rl/deliveryOrderOper";
+
+export default {
+  name: "DeliveryOrderOper",
+  dicts: ['rl_delivery_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 配送单履历表格数据
+      deliveryOrderOperList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        deliveryId: null,
+        type: null,
+        operUserid: null,
+        operPhone: null,
+        operName: null,
+        operTime: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询配送单履历列表 */
+    getList() {
+      this.loading = true;
+      listDeliveryOrderOper(this.queryParams).then(response => {
+        this.deliveryOrderOperList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        operId: null,
+        deliveryId: null,
+        type: null,
+        operUserid: null,
+        operPhone: null,
+        operName: null,
+        operTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.operId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加配送单履历";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const operId = row.operId || this.ids
+      getDeliveryOrderOper(operId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改配送单履历";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.operId != null) {
+            updateDeliveryOrderOper(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDeliveryOrderOper(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const operIds = row.operId || this.ids;
+      this.$modal.confirm('是否确认删除配送单履历编号为"' + operIds + '"的数据项?').then(function() {
+        return delDeliveryOrderOper(operIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/deliveryOrderOper/export', {
+        ...this.queryParams
+      }, `deliveryOrderOper_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/src/views/system/detail/index.vue b/src/views/system/detail/index.vue
new file mode 100644
index 0000000..9091021
--- /dev/null
+++ b/src/views/system/detail/index.vue
@@ -0,0 +1,319 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="代理商" prop="agentId">
+        <el-input
+          v-model="queryParams.agentId"
+          placeholder="请输入代理商"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="合伙人" prop="partnerId">
+        <el-input
+          v-model="queryParams.partnerId"
+          placeholder="请输入合伙人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单号" prop="orderNo">
+        <el-input
+          v-model="queryParams.orderNo"
+          placeholder="请输入订单号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单总金额" prop="totalAmount">
+        <el-input
+          v-model="queryParams.totalAmount"
+          placeholder="请输入订单总金额"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="分账金额" prop="dividendAmount">
+        <el-input
+          v-model="queryParams.dividendAmount"
+          placeholder="请输入分账金额"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="分红比例" prop="dividendProportion">
+        <el-input
+          v-model="queryParams.dividendProportion"
+          placeholder="请输入分红比例"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:detail:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:detail:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:detail:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:detail:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="detailList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键" align="center" prop="id" />
+      <el-table-column label="代理商" align="center" prop="agentId" />
+      <el-table-column label="合伙人" align="center" prop="partnerId" />
+      <el-table-column label="订单号" align="center" prop="orderNo" />
+      <el-table-column label="订单总金额" align="center" prop="totalAmount" />
+      <el-table-column label="分账金额" align="center" prop="dividendAmount" />
+      <el-table-column label="分红比例" align="center" prop="dividendProportion" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:detail:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:detail:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改分账明细对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="代理商" prop="agentId">
+          <el-input v-model="form.agentId" placeholder="请输入代理商" />
+        </el-form-item>
+        <el-form-item label="合伙人" prop="partnerId">
+          <el-input v-model="form.partnerId" placeholder="请输入合伙人" />
+        </el-form-item>
+        <el-form-item label="订单号" prop="orderNo">
+          <el-input v-model="form.orderNo" placeholder="请输入订单号" />
+        </el-form-item>
+        <el-form-item label="订单总金额" prop="totalAmount">
+          <el-input v-model="form.totalAmount" placeholder="请输入订单总金额" />
+        </el-form-item>
+        <el-form-item label="分账金额" prop="dividendAmount">
+          <el-input v-model="form.dividendAmount" placeholder="请输入分账金额" />
+        </el-form-item>
+        <el-form-item label="分红比例" prop="dividendProportion">
+          <el-input v-model="form.dividendProportion" placeholder="请输入分红比例" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listDetail, getDetail, delDetail, addDetail, updateDetail } from "@/api/rl/detail";
+
+export default {
+  name: "Detail",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 分账明细表格数据
+      detailList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        agentId: null,
+        partnerId: null,
+        orderNo: null,
+        totalAmount: null,
+        dividendAmount: null,
+        dividendProportion: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        orderNo: [
+          { required: true, message: "订单号不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询分账明细列表 */
+    getList() {
+      this.loading = true;
+      listDetail(this.queryParams).then(response => {
+        this.detailList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        agentId: null,
+        partnerId: null,
+        orderNo: null,
+        totalAmount: null,
+        dividendAmount: null,
+        dividendProportion: null,
+        createTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加分账明细";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getDetail(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改分账明细";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateDetail(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDetail(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除分账明细编号为"' + ids + '"的数据项?').then(function() {
+        return delDetail(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/detail/export', {
+        ...this.queryParams
+      }, `detail_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/src/views/system/model/index.vue b/src/views/system/model/index.vue
index 04ad0b7..b8aa088 100644
--- a/src/views/system/model/index.vue
+++ b/src/views/system/model/index.vue
@@ -9,6 +9,14 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="代理商" prop="agentId">
+        <el-input
+          v-model="queryParams.agentId"
+          placeholder="请输入代理商"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -63,18 +71,18 @@
 
     <el-table v-loading="loading" :data="modelList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="代理商" align="center" prop="agnetName" />
       <el-table-column label="车型" align="center" prop="model" />
-      <el-table-column label="满电电压(V)" align="center" prop="fullVoltage" />
-      <el-table-column label="亏电电压(V)" align="center" prop="lowVoltage" />
-      <el-table-column label="满电续航(km)" align="center" prop="fullEndurance" />
-      <el-table-column label="骑行低电量提醒(%)" align="center" prop="lowBatteryReminder" />
-      <el-table-column label="已投放车辆" align="center" prop="deviceNum" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+      <el-table-column label="满电电压" align="center" prop="fullVoltage" />
+      <el-table-column label="亏电电压" align="center" prop="lowVoltage" />
+      <el-table-column label="满电续航" align="center" prop="fullEndurance" />
+      <el-table-column label="押金" align="center" prop="deposit" />
+      <el-table-column label="图片" align="center" prop="picture" width="100">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+          <image-preview :src="scope.row.picture" :width="50" :height="50"/>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="描述" align="center" prop="description" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -106,20 +114,35 @@
     <!-- 添加或修改车辆型号对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="代理商" prop="agentId">
+          <el-input v-model="form.agentId" placeholder="请输入代理商" />
+        </el-form-item>
         <el-form-item label="车型" prop="model">
           <el-input v-model="form.model" placeholder="请输入车型" />
         </el-form-item>
-        <el-form-item label="满电电压(V)" label-width="90" prop="fullVoltage">
-          <el-input style="width: 85%" v-model="form.fullVoltage" placeholder="请输入满电电压" />
+        <el-form-item label="满电电压" prop="fullVoltage">
+          <el-input v-model="form.fullVoltage" placeholder="请输入满电电压" />
         </el-form-item>
-        <el-form-item label="亏电电压(V)" label-width="90" prop="lowVoltage">
-          <el-input style="width: 85%" v-model="form.lowVoltage" placeholder="请输入亏电电压" />
+        <el-form-item label="亏电电压" prop="lowVoltage">
+          <el-input v-model="form.lowVoltage" placeholder="请输入亏电电压" />
         </el-form-item>
-        <el-form-item label="满电续航(KM)" label-width="90" prop="fullEndurance">
-          <el-input style="width: 80%" v-model="form.fullEndurance" placeholder="请输入满电续航" />
+        <el-form-item label="满电续航" prop="fullEndurance">
+          <el-input v-model="form.fullEndurance" placeholder="请输入满电续航" />
         </el-form-item>
-        <el-form-item label="骑行低电量提醒(%)" label-width="120" prop="lowBatteryReminder">
-          <el-input style="width: 78%" v-model="form.lowBatteryReminder" placeholder="请输入骑行低电量提醒" />
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="简介" prop="intro">
+          <el-input v-model="form.intro" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="押金" prop="deposit">
+          <el-input v-model="form.deposit" placeholder="请输入押金" />
+        </el-form-item>
+        <el-form-item label="图片" prop="picture">
+          <el-input v-model="form.picture" placeholder="请输入图片" />
+        </el-form-item>
+        <el-form-item label="描述" prop="description">
+          <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -131,23 +154,16 @@
 </template>
 
 <script>
-import { listModel, getModel, delModel, addModel, updateModel } from "@/api/system/model";
-import Treeselect from "@riophae/vue-treeselect";
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import { deptTreeSelect } from '@/api/system/user'
+import { listModel, getModel, delModel, addModel, updateModel } from "@/api/rl/model";
 
 export default {
   name: "Model",
-  components: { Treeselect },
   data() {
     return {
       // 遮罩层
       loading: true,
       // 选中数组
       ids: [],
-      // 品牌商树选项
-      deptOptions: [],
-      userName: undefined,
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -167,41 +183,24 @@ export default {
         pageNum: 1,
         pageSize: 10,
         model: null,
-        brand: null,
+        fullVoltage: null,
+        lowVoltage: null,
+        fullEndurance: null,
+        agentId: null,
+        intro: null,
+        deposit: null,
+        picture: null,
+        description: null
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
-        model: [
-          { required: true, message: "车型不能为空", trigger: "blur" }
-        ],
-        fullVoltage: [
-          { required: true, message: "满电电压不能为空", trigger: "blur" },
-          { pattern: /^\d+(\.\d{1,2})?$/, message: '请输入最多两位小数的浮点数', trigger: 'blur' }
-
-        ],
-        lowVoltage: [
-          { required: true, message: "亏电电压不能为空", trigger: "blur" },
-          { pattern: /^\d+(\.\d{1,2})?$/, message: '请输入最多两位小数的浮点数', trigger: 'blur' }
-
-        ],
-        fullEndurance: [
-          { required: true, message: "满电续航不能为空", trigger: "blur" },
-          { pattern: /^\d+$/, message: '满电续航必须为正整数', trigger: 'blur' }
-        ],
-        lowBatteryReminder: [
-          { required: true, message: "骑行低电量提醒不能为空", trigger: "blur" },
-          { pattern: /^\d+$/, message: '骑行低电量提醒必须为正整数', trigger: 'blur' }
-        ]
       }
     };
   },
   created() {
     this.getList();
-    // this.getBrandList();
-    console.log("当前用户信息:",this.$store.state.user.name)
-    this.userName = this.$store.state.user.name;
   },
   methods: {
     /** 查询车辆型号列表 */
@@ -222,19 +221,20 @@ export default {
     reset() {
       this.form = {
         modelId: null,
-        hardwareVersionId: null,
         model: null,
-        brand: null,
         fullVoltage: null,
-        parentId: undefined,
         lowVoltage: null,
         fullEndurance: null,
-        lowBatteryReminder: null,
         createBy: null,
         createTime: null,
         updateBy: null,
         updateTime: null,
-        remark: null
+        remark: null,
+        agentId: null,
+        intro: null,
+        deposit: null,
+        picture: null,
+        description: null
       };
       this.resetForm("form");
     },
@@ -254,12 +254,6 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
-    /** 查询品牌商下拉树结构 */
-    getDeptTree() {
-      deptTreeSelect().then(response => {
-        this.deptOptions = response.data;
-      });
-    },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
diff --git a/src/views/system/orderOper/index.vue b/src/views/system/orderOper/index.vue
new file mode 100644
index 0000000..afdd939
--- /dev/null
+++ b/src/views/system/orderOper/index.vue
@@ -0,0 +1,317 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="订单号" prop="orderNo">
+        <el-input
+          v-model="queryParams.orderNo"
+          placeholder="请输入订单号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单金额" prop="amountChange">
+        <el-input
+          v-model="queryParams.amountChange"
+          placeholder="请输入订单金额"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单状态" prop="statusChange">
+        <el-input
+          v-model="queryParams.statusChange"
+          placeholder="请输入订单状态"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作人" prop="operUserId">
+        <el-input
+          v-model="queryParams.operUserId"
+          placeholder="请输入操作人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="operPhone">
+        <el-input
+          v-model="queryParams.operPhone"
+          placeholder="请输入手机号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:orderOper:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:orderOper:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:orderOper:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:orderOper:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="orderOperList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="操作id" align="center" prop="operId" />
+      <el-table-column label="订单号" align="center" prop="orderNo" />
+      <el-table-column label="操作类型" align="center" prop="operType" />
+      <el-table-column label="详情" align="center" prop="details" />
+      <el-table-column label="订单金额" align="center" prop="amountChange" />
+      <el-table-column label="订单状态" align="center" prop="statusChange" />
+      <el-table-column label="操作人" align="center" prop="operUserId" />
+      <el-table-column label="手机号" align="center" prop="operPhone" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:orderOper:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:orderOper:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改操作操作履历对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="订单号" prop="orderNo">
+          <el-input v-model="form.orderNo" placeholder="请输入订单号" />
+        </el-form-item>
+        <el-form-item label="详情" prop="details">
+          <el-input v-model="form.details" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="订单金额" prop="amountChange">
+          <el-input v-model="form.amountChange" placeholder="请输入订单金额" />
+        </el-form-item>
+        <el-form-item label="订单状态" prop="statusChange">
+          <el-input v-model="form.statusChange" placeholder="请输入订单状态" />
+        </el-form-item>
+        <el-form-item label="操作人" prop="operUserId">
+          <el-input v-model="form.operUserId" placeholder="请输入操作人" />
+        </el-form-item>
+        <el-form-item label="手机号" prop="operPhone">
+          <el-input v-model="form.operPhone" placeholder="请输入手机号" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listOrderOper, getOrderOper, delOrderOper, addOrderOper, updateOrderOper } from "@/api/rl/orderOper";
+
+export default {
+  name: "OrderOper",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 操作操作履历表格数据
+      orderOperList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderNo: null,
+        operType: null,
+        details: null,
+        amountChange: null,
+        statusChange: null,
+        operUserId: null,
+        operPhone: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        orderNo: [
+          { required: true, message: "订单号不能为空", trigger: "blur" }
+        ],
+        operType: [
+          { required: true, message: "操作类型不能为空", trigger: "change" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询操作操作履历列表 */
+    getList() {
+      this.loading = true;
+      listOrderOper(this.queryParams).then(response => {
+        this.orderOperList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        operId: null,
+        orderNo: null,
+        operType: null,
+        details: null,
+        amountChange: null,
+        statusChange: null,
+        operUserId: null,
+        createTime: null,
+        operPhone: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.operId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加操作操作履历";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const operId = row.operId || this.ids
+      getOrderOper(operId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改操作操作履历";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.operId != null) {
+            updateOrderOper(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addOrderOper(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const operIds = row.operId || this.ids;
+      this.$modal.confirm('是否确认删除操作操作履历编号为"' + operIds + '"的数据项?').then(function() {
+        return delOrderOper(operIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/orderOper/export', {
+        ...this.queryParams
+      }, `orderOper_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/src/views/system/partner/index.vue b/src/views/system/partner/index.vue
index 8a6de70..9c3f008 100644
--- a/src/views/system/partner/index.vue
+++ b/src/views/system/partner/index.vue
@@ -94,6 +94,7 @@
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="50" align="center" />
           <el-table-column label="合伙人名称" align="center" prop="userName" :show-overflow-tooltip="true" />
+          <el-table-column label="代理城市" align="center" prop="cityName"  />
           <el-table-column label="类型" align="center" prop="userType">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.rl_user_type" :value="scope.row.userType"/>
@@ -188,13 +189,13 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="运营区" prop="areaId">
-              <el-select v-model="form.areaId" placeholder="请选择运营区">
+            <el-form-item label="代理城市" prop="areaId">
+              <el-select v-model="form.cityId" placeholder="请选择代理城市">
                 <el-option
-                  v-for="item in areaOptions"
-                  :key="item.areaId"
-                  :label="item.areaName"
-                  :value="item.areaId"
+                  v-for="item in cityOptions"
+                  :key="item.cityId"
+                  :label="item.cityName"
+                  :value="item.cityId"
                 ></el-option>
               </el-select>
             </el-form-item>
@@ -327,13 +328,6 @@ export default {
       },
       // 表单校验
       rules: {
-        // userName: [
-        //   { required: true, message: "用户名称不能为空", trigger: "blur" },
-        //   { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
-        // ],
-        areaId: [
-          { required: true, message: "请选择运营区", trigger: "blur" }
-        ],
         dividendProportion: [
           { required: true, message: "分账比例不能为空", trigger: "blur" },
           { pattern: /^\d+$/, message: '分账比例必须为正整数', trigger: 'blur' }
diff --git a/src/views/system/rule/index.vue b/src/views/system/rule/index.vue
index 6a2a2f0..c67bf0a 100644
--- a/src/views/system/rule/index.vue
+++ b/src/views/system/rule/index.vue
@@ -1,14 +1,6 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="数量" prop="num">
-        <el-input
-          v-model="queryParams.num"
-          placeholder="请输入数量"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item label="租赁单位" prop="rentalUnit">
         <el-select v-model="queryParams.rentalUnit" placeholder="请选择租赁单位" clearable>
           <el-option
@@ -19,46 +11,14 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="售价" prop="price">
+      <el-form-item label="说明" prop="explain">
         <el-input
-          v-model="queryParams.price"
-          placeholder="请输入售价"
+          v-model="queryParams.explain"
+          placeholder="请输入说明"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="超出数量" prop="outNum">
-        <el-input
-          v-model="queryParams.outNum"
-          placeholder="请输入超出数量"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="超出单位" prop="outUnit">
-        <el-input
-          v-model="queryParams.outUnit"
-          placeholder="请输入超出单位"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="超出价格" prop="outPrice">
-        <el-input
-          v-model="queryParams.outPrice"
-          placeholder="请输入超出价格"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-<!--      <el-form-item label="是否删除:1-删除" prop="isDeleted">-->
-<!--        <el-input-->
-<!--          v-model="queryParams.isDeleted"-->
-<!--          placeholder="请输入是否删除:1-删除"-->
-<!--          clearable-->
-<!--          @keyup.enter.native="handleQuery"-->
-<!--        />-->
-<!--      </el-form-item>-->
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -114,7 +74,6 @@
     <el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="id" align="center" prop="ruleId" />
-      <el-table-column label="数量" align="center" prop="num" />
       <el-table-column label="租赁单位" align="center" prop="rentalUnit">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.rl_rental_unit" :value="scope.row.rentalUnit"/>
@@ -158,9 +117,6 @@
     <!-- 添加或修改收费模板对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="数量" prop="num">
-          <el-input v-model="form.num" placeholder="请输入数量" />
-        </el-form-item>
         <el-form-item label="租赁单位" prop="rentalUnit">
           <el-select v-model="form.rentalUnit" placeholder="请选择租赁单位">
             <el-option