b34324143fcd3977364c2876a5ce3a1ff561dcf3..6035b1237d789d126b0a8874a45cb0ee883bf99c
2026-03-19 zhangback
Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master
6035b1 对比 | 目录
2026-03-19 zhangback
新增线上配置
263527 对比 | 目录
2026-03-13 sen
添加日志
ea3197 对比 | 目录
5个文件已修改
330 ■■■■ 已修改文件
admin/config/prod/application-custom.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/tms/tmsDispatchOrder.ts 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/components/flowLog/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/tms/tmsDispatchOrderLog/index.vue 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/config/prod/application-custom.yml
@@ -91,6 +91,7 @@
      /app/car/login
      /common/*
      /login
      /getSysInfo
      /captchaImage
      /actuator/**
      /*/api-docs
ui/admin-ui3/src/api/tms/tmsDispatchOrder.ts
@@ -174,7 +174,14 @@
        data
    })
}
export const tmsDispatchOrderRecord: requestType = (data) => {
    return request({
        url: '/tms/tmsDispatchOrder/record',
        method: 'put',
        data
    })
}
export const ypdddjSumbit: requestType = (data) => {
    return request({
        url: '/tms/tmsDispatchOrder/ypdddj',
ui/admin-ui3/src/components/flowLog/index.vue
@@ -58,6 +58,10 @@
        type: Boolean,
        default: false
    },
    isShow: {
        type: Boolean,
        default: true
    }
})
console.log(props);
@@ -151,7 +155,7 @@
            <el-table ref="multipleTableRef" :data="props.flowParams">
                <el-table-column align="center" label="处理时间" prop="createTime" />
                <el-table-column align="center" label="处理人员" prop="createBy" />
                <el-table-column align="center" label="附件下载" prop="fileName">
                <el-table-column align="center" v-if="isShow" label="附件下载" prop="fileName">
                    <template #default="scope">
                        <el-link v-if="scope.row.fileName" type="primary" :underline="false"
                            @click="download_qr_code(scope.row)">
@@ -160,7 +164,9 @@
                        <span v-else>无附件</span>
                    </template>
                </el-table-column>
                <el-table-column align="center" label="节点描述" prop="operation" show-overflow-tooltip="true" />
                <el-table-column v-if="isShow" align="center" label="节点描述" prop="operation" show-overflow-tooltip="true" />
                <el-table-column v-else align="center" label="节点描述" prop="node" show-overflow-tooltip="true" />
            </el-table>
            <!-- <pagination style="position: relative;" v-show="pageF.total > 0" v-model:limit="queryParams.pageSize"
                v-model:page="queryParams.pageNum" :total="pageF.total" @pagination="getList" /> -->
ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
@@ -91,20 +91,19 @@
      <template #menu="{ row, index, size }">
        <el-tooltip content="查看" placement="top" :enterable="false">
          <el-link type="primary" icon="el-icon-view" :underline="false" class="link-btn"
                   v-hasPermi="['tms:tmsDispatchOrder:query']"
            @click="$refs.crudRef.rowView(row, index)">
            v-hasPermi="['tms:tmsDispatchOrder:query']" @click="$refs.crudRef.rowView(row, index)">
          </el-link>
        </el-tooltip>
        <el-tooltip content="删除" placement="top" :enterable="false">
          <el-link type="primary" icon="el-icon-delete" :underline="false" class="link-btn"
                   v-hasPermi="['tms:tmsDispatchOrder:remove']" v-if="row.status == 0"
            v-hasPermi="['tms:tmsDispatchOrder:remove']" v-if="row.status == 0"
            @click="$refs.crudRef.rowDel(row, index)">
          </el-link>
        </el-tooltip>
        <el-tooltip content="编辑" placement="top" :enterable="false">
          <el-link type="primary" icon="el-icon-edit" :underline="false" class="link-btn"
                   v-hasPermi="['tms:tmsDispatchOrder:edit']" v-if="[0, 1].includes(row.status)"
            v-hasPermi="['tms:tmsDispatchOrder:edit']" v-if="[0, 1].includes(row.status)"
            @click="$refs.crudRef.rowEdit(row, index)">
          </el-link>
        </el-tooltip>
@@ -114,53 +113,60 @@
        <el-tooltip content="运输货品登记" placement="top">
        <el-link size="small" type="primary" @click="handleAddGoods(row)" class="link-btn"
                 v-hasPermi="['tms:tmsGoodsDetail:add']" v-if="[0,1,2].includes(row.status)"
                 :underline="false" icon="el-icon-document-add">
        </el-link>
          <el-link size="small" type="primary" @click="handleAddGoods(row)" class="link-btn"
            v-hasPermi="['tms:tmsGoodsDetail:add']" v-if="[0, 1, 2].includes(row.status)" :underline="false"
            icon="el-icon-document-add">
          </el-link>
        </el-tooltip>
        <el-tooltip content="实际运输记录" placement="top">
        <el-link size="small" type="primary" @click="handleActual(row)" class="link-btn"
                 v-hasPermi="['tms:tmsDispatchOrder:update']" v-if="[0,1,2].includes(row.status)"
                 :underline="false" icon="el-icon-set-up">
        </el-link>
          <el-link size="small" type="primary" @click="handleActual(row)" class="link-btn"
            v-hasPermi="['tms:tmsDispatchOrder:update']" v-if="[0, 1, 2].includes(row.status)" :underline="false"
            icon="el-icon-set-up">
          </el-link>
        </el-tooltip>
        <el-tooltip content="确定" placement="top">
        <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn"
                 v-hasPermi="['tms:tmsDispatchOrder:confirmOrder']"
                 :underline="false" icon="el-icon-pointer">
        </el-link>
          <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn"
            v-hasPermi="['tms:tmsDispatchOrder:confirmOrder']" :underline="false" icon="el-icon-pointer">
          </el-link>
        </el-tooltip>
        <el-tooltip content="作废" placement="top">
        <el-link size="small" type="primary" v-if="[0,1,2].includes(row.status)" @click="handleClose(row)" class="link-btn"
                 v-hasPermi="['tms:tmsDispatchOrder:closeOrder']"
                 :underline="false" icon="el-icon-close">
        </el-link>
          <el-link size="small" type="primary" v-if="[0, 1, 2].includes(row.status)" @click="handleClose(row)"
            class="link-btn" v-hasPermi="['tms:tmsDispatchOrder:closeOrder']" :underline="false" icon="el-icon-close">
          </el-link>
        </el-tooltip>
        <el-tooltip content="复制" placement="top">
        <el-link size="small" type="primary" @click="handleCopy(row)" class="link-btn" :underline="false"
                 v-hasPermi="['tms:tmsDispatchOrder:copyOrder']"
                 icon="el-icon-connection">
        </el-link>
          <el-link size="small" type="primary" @click="handleCopy(row)" class="link-btn" :underline="false"
            v-hasPermi="['tms:tmsDispatchOrder:copyOrder']" icon="el-icon-connection">
          </el-link>
        </el-tooltip>
        <el-tooltip content="上传行程" placement="top">
        <el-link size="small" type="primary" v-if="[1,2].includes(row.status)" @click="handleUploadItinerary(row)"
                 v-hasPermi="['tms:tmsTrip:add']"
                 class="link-btn" :underline="false" icon="el-icon-upload">
        </el-link>
          <el-link size="small" type="primary" v-if="[1, 2].includes(row.status)" @click="handleUploadItinerary(row)"
            v-hasPermi="['tms:tmsTrip:add']" class="link-btn" :underline="false" icon="el-icon-upload">
          </el-link>
        </el-tooltip>
        <el-tooltip content="查看行程" placement="top">
        <el-link size="small" type="primary" v-if="![0,1].includes(row.status)" @click="handleLogItinerary(row)"
                 v-hasPermi="['tms:tmsTrip:list']"
                 class="link-btn" :underline="false" icon="el-icon-view">
        </el-link>
          <el-link size="small" type="primary" v-if="![0, 1].includes(row.status)" @click="handleLogItinerary(row)"
            v-hasPermi="['tms:tmsTrip:list']" class="link-btn" :underline="false" icon="el-icon-view">
          </el-link>
        </el-tooltip>
        <el-tooltip content="完成行程" placement="top">
        <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn"
                 v-hasPermi="['tms:tmsDispatchOrder:okOrder']"
                 :underline="false" icon="el-icon-circle-check">
        </el-link>
          <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn"
            v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check">
          </el-link>
        </el-tooltip>
        <el-tooltip content="完成行程" placement="top">
          <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn"
            v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check">
          </el-link>
        </el-tooltip>
        <el-tooltip content="日志" placement="top">
          <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn"
            v-hasPermi="['cwgl:estimatedReceivable:flog']"   :underline="false" icon="el-icon-document">
          </el-link>
        </el-tooltip>
      </template>
@@ -559,10 +565,16 @@
      <avue-crud :data="importLogData" :option="importLogOption" :table-loading="importLogLoading"
        @on-load="getImportLogList"></avue-crud>
    </el-dialog>
     <flowLog ref="flowLogIshow" :isShow="false" :flowParams="flowParams"></flowLog>
  </basicContainer>
</template>
<script setup name="tmsDispatchOrder" lang="ts">
import { listTmsDispatchOrderLog } from "@/api/tms/tmsDispatchOrderLog";
import {
  TmsDispatchOrderI,
  addTmsDispatchOrder,
@@ -571,6 +583,7 @@
  getTmsDispatchOrder,
  listTmsDispatchOrder,
  updateTmsDispatchOrder,
  tmsDispatchOrderRecord,
  confirmOrder,
  copyOrder,
  okOrder,
@@ -621,7 +634,7 @@
import { pushTmsQuoteFee } from "@/api/tms/tmsQuoteFee";
import { $Print } from '@smallwei/avue'
import { getToken } from "@/utils/auth";
import {useAvueTableShowHide} from "@/hooks/useAvueTableShowHide";
import { useAvueTableShowHide } from "@/hooks/useAvueTableShowHide";
const { appContext } = getCurrentInstance();
@@ -3334,7 +3347,7 @@
}
const submitForm3 = () => {
  updateTmsDispatchOrder(actualForm.value).then(res => {
  tmsDispatchOrderRecord(actualForm.value).then(res => {
    ElMessage({
      message: "操作成功!",
      type: 'success'
@@ -3963,7 +3976,7 @@
    //boxForm.value.rowItems = boxTableData.value;
    // console.log(tmsFinanceDetails.value);
    // console.log(boxForm.value);
// 1. 提取填写了金额的数据(金额大于0)
    // 1. 提取填写了金额的数据(金额大于0)
    const validDetails = tmsFinanceDetails.value.filter(item => item.actualFeeAmount && item.actualFeeAmount > 0);
    if (validDetails.length === 0) {
@@ -3994,8 +4007,8 @@
        message: "操作成功!",
        type: 'success'
      })
        open4.value = false;
        onLoad(page.value)
      open4.value = false;
      onLoad(page.value)
      boxFormRef.value?.resetFields();
      getTab4Data();
    })
@@ -4591,6 +4604,21 @@
  }
  done(); // 必须调用 done 结束上传状态
};
const flowLogIshow = ref()
const flowParams = ref([])
const handleFlow = (row: string) => {
  let data = {
    headId: row.id,
  }
  listTmsDispatchOrderLog(data).then((res) => {
    flowParams.value = res.rows
    flowLogIshow.value.openModel()
  })
}
</script>
<style lang="scss" scoped>
::v-deep .cydprint .el-dialog__body {
@@ -4662,7 +4690,8 @@
  padding: 1px 11px;
  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
}
.link-btn{
.link-btn {
  font-size: 18px;
}
</style>
ui/admin-ui3/src/views/tms/tmsDispatchOrderLog/index.vue
@@ -1,48 +1,19 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
  <basicContainer>
    <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page"
      :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" @row-update="rowUpdate"
      @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" @search-change="searchChange"
      @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
      @size-change="sizeChange" @on-load="onLoad">
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['tms:tmsDispatchOrderLog:edit']"
            @click="handleUpdate">修改
        <el-button type="success" icon="Edit" :disabled="pageF.single" v-hasPermi="['tms:tmsDispatchOrderLog:edit']"
          @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['tms:tmsDispatchOrderLog:remove']"
        >删除
        <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete"
          v-hasPermi="['tms:tmsDispatchOrderLog:remove']">删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['tms:tmsDispatchOrderLog:export']"
        >导出
        <el-button type="warning" plain icon="Download" @click="handleExport"
          v-hasPermi="['tms:tmsDispatchOrderLog:export']">导出
        </el-button>
      </template>
    </avue-crud>
@@ -50,84 +21,86 @@
</template>
<script setup name="tmsDispatchOrderLog" lang="ts">
  import {TmsDispatchOrderLogI,addTmsDispatchOrderLog, delTmsDispatchOrderLog, exportTmsDispatchOrderLog, getTmsDispatchOrderLog, listTmsDispatchOrderLog, updateTmsDispatchOrderLog} from "@/api/tms/tmsDispatchOrderLog";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
import { TmsDispatchOrderLogI, addTmsDispatchOrderLog, delTmsDispatchOrderLog, exportTmsDispatchOrderLog, getTmsDispatchOrderLog, listTmsDispatchOrderLog, updateTmsDispatchOrderLog } from "@/api/tms/tmsDispatchOrderLog";
import useCurrentInstance from "@/utils/useCurrentInstance";
import { computed, reactive, ref, toRefs } from "vue";
import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface";
import { usePagePlus } from "@/hooks/usePagePlus";
import { hasPermission } from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
const { proxy } = useCurrentInstance();
const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["tms:tmsDispatchOrderLog:add"]),
      delBtn: hasPermission(["tms:tmsDispatchOrderLog:remove"]),
      editBtn: hasPermission(["tms:tmsDispatchOrderLog:edit"]),
      viewBtn: hasPermission(["tms:tmsDispatchOrderLog:query"]),
    }
  })
const permissionList = computed(() => {
  return {
    addBtn: hasPermission(["tms:tmsDispatchOrderLog:add"]),
    delBtn: hasPermission(["tms:tmsDispatchOrderLog:remove"]),
    editBtn: hasPermission(["tms:tmsDispatchOrderLog:edit"]),
    viewBtn: hasPermission(["tms:tmsDispatchOrderLog:query"]),
  }
})
  const data = reactive({
    form:<TmsDispatchOrderLogI>{},
    queryParams:<TmsDispatchOrderLogI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
const data = reactive({
  form: <TmsDispatchOrderLogI>{},
  queryParams: <TmsDispatchOrderLogI & PageQueryInterface>{},
  page: <PagesInterface>{
    pageSize: 10,
    total: 0,
    currentPage: 1,
  },
  selectionList: [],
})
const { queryParams, form, page, selectionList } = toRefs(data);
const option = ref({
  pageKey: 'TmsDispatchOrderLog',
  rowKey: 'id',
  column: {
    id: {
      label: '',
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'TmsDispatchOrderLog',
    rowKey: 'id',
    column: {
                                id: {
          label: '',
                            },
                                headId: {
          label: '头id',
                                rules: [
              {
                required: true,
                message: "头id不能为空", trigger: "blur" }
            ],                  },
                                createBy: {
          label: '创建者',
                            },
                                createTime: {
          label: '创建时间',
                            },
                                notes: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
                                node: {
          label: '节点',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
          }
  })
    headId: {
      label: '头id',
      rules: [
        {
          required: true,
          message: "头id不能为空", trigger: "blur"
        }
      ],
    },
    createBy: {
      label: '创建者',
    },
    createTime: {
      label: '创建时间',
    },
    notes: {
      label: '备注',
      type: 'textarea', minRows: 3, maxRows: 5,
    },
    node: {
      label: '节点',
      type: 'textarea', minRows: 3, maxRows: 5,
    },
  }
})
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listTmsDispatchOrderLog,
    getDetailApi:getTmsDispatchOrderLog,
    exportApi:exportTmsDispatchOrderLog,
    deleteApi:delTmsDispatchOrderLog,
    addApi:addTmsDispatchOrderLog,
    updateApi:updateTmsDispatchOrderLog,
    handleUpdateFunc:()=>{
const { tableData, pageF, rowSave, rowUpdate, rowDel, beforeOpen, searchChange,
  searchReset, selectionChange, onLoad, currentChange, sizeChange, handleDelete, handleExport, handleUpdate, refreshChange } = usePagePlus({
    form: form,
    option: option,
    queryParams: queryParams,
    idKey: 'id',
    page: page.value,
    getListApi: listTmsDispatchOrderLog,
    getDetailApi: getTmsDispatchOrderLog,
    exportApi: exportTmsDispatchOrderLog,
    deleteApi: delTmsDispatchOrderLog,
    addApi: addTmsDispatchOrderLog,
    updateApi: updateTmsDispatchOrderLog,
    handleUpdateFunc: () => {
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
    handleSelectionChangeFunc: (selection: any) => {
      selectionList.value = selection;
    }
  })