sen
1 天以前 5abcde36961125cbf436f91b8c17610a6b5f8308
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"
@@ -85,6 +85,10 @@
                      <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
                      >分配角色</el-dropdown-item>
                    </div>
                    <div  v-hasPermi="['system:user:edit']">
                      <el-dropdown-item command="handleUnlock" icon="Unlock"
                      >解锁</el-dropdown-item>
                    </div>
                  </el-dropdown-menu>
                </template>
              </el-dropdown>
@@ -142,7 +146,7 @@
  listUser,
  updateUser,
  deptTreeSelect,
  resetUserPwd, changeUserStatus, importTemplateApi
  resetUserPwd, changeUserStatus, importTemplateApi,unLockUser
} from "@/api/system/user";
import useCurrentInstance from "@/utils/useCurrentInstance";
import {computed, reactive, ref, toRefs} from "vue";
@@ -155,6 +159,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 +308,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,
    },
  }
})
@@ -390,6 +472,9 @@
    case "handleAuthRole":
      handleAuthRole(row);
      break;
    case "handleUnlock":
      handleUnlock(row);
      break;
    default:
      break;
  }
@@ -456,6 +541,17 @@
  });
}
function handleUnlock(row:UserI) {
  if (!row.userId){
    return
  }
  proxy.$modal.confirm(`确认要解锁"${row.userName}"用户吗?`).then(function () {
    return unLockUser(row.userName);
  }).then(() => {
    proxy.$modal.msgSuccess( "解锁成功");
  })
}
const getConfig = ()=>{
  getConfigKey("sys.user.initPassword").then(res=>{
    initPassword.value = res.msg;