sen
2025-12-19 6b8f073df16ed45ec9e710abe18d1f4ffde30540
ui/admin-ui3/src/views/system/user/index.vue
@@ -19,7 +19,7 @@
            :page="page"
            :permission="permissionList"
            :before-open="beforeOpen"
            v-model="form"
            v-model="form" v-model:search="queryParams"
            ref="crudRef"
            @row-update="rowUpdate"
            @row-save="rowSave"
@@ -155,6 +155,7 @@
import {useRouter} from "vue-router";
import {getToken} from "@/utils/auth";
import {getConfigKey} from "@/api/system/config";
import {getTmsDriver, listTmsDriver} from "@/api/tms/tmsDriver";
const {proxy} = useCurrentInstance();
@@ -303,6 +304,83 @@
      label: '备注', hide: true,
      type: 'textarea', minRows: 3, maxRows: 5, span: 24
    },
    isDriver: {
      label: '是否司机账号', search: true,value:'1',
      dataType: 'string',
      labelWidth:120,minWidth:110,searchLabelWidth:110,
      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
      rules:[
        {required: true, message: "请选择是否司机账号", trigger: "blur"},
      ],
      change:({value}:{value:any})=>{
        console.log(value)
        if (value == 0){
          option.value.column.driverId.display = true;
        }else{
          option.value.column.driverId.display = false;
        }
      }
    },
    driverId: {
      label: '关联驾驶员',labelWidth:120,
      display: false,hide:true,dataType:'string',
      rules: [
        {
          required: true,
          message: "主驾驶员不能为空", trigger: "change"
        }
      ],
      type: 'table', suffixIcon: 'search',dataType: 'string',
      children: {
        border: true,
        searchMenuSpan: 5,
        column: {
          vehicleProviderName: {
            label: '车辆服务商', minWidth: 130,
            search: true,
          },
          driverName: {
            label: '驾驶员姓名', minWidth: 120,
            search: true,
          },
          licenseType: {
            label: '准驾车型', minWidth: 120,
            type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/license_type',
            search: true,
          },
        },
      },
      props: {
        label: 'driverName',
        value: 'id'
      },
      onLoad: ({page, value, data}: { page: any, value: any, data: any }, callback: any) => {
        if (value) {
          let id = value;
          if (Array.isArray(value)) {
            id = value[0]
          }
          getTmsDriver(id).then(res => {
            return callback(res.data || {})
          })
        } else {
          listTmsDriver({pageSize: page.pageSize, pageNum: page.currentPage, ...data}).then(res => {
            return callback({
              total: res.total,
              data: res.rows || [],
            })
          })
        }
      }
    },
    driverName: {
      label: '关联驾驶员', hide: false,display:false,minWidth:110,
     search:true,searchLabelWidth:100,
    },
  }
})