|
|
@@ -0,0 +1,88 @@
|
|
|
+<template>
|
|
|
+ <lay-layer :title="modelConfig.title" v-model="modelConfig.visible" area="auto" :btn="operator">
|
|
|
+ <div class="width-450 custom-layer" style="padding: 20px">
|
|
|
+ <lay-form :model="modelParams" ref="modelFormRef" required>
|
|
|
+ <lay-form-item label="移交用户" prop="userId">
|
|
|
+ <lay-select v-model="modelParams.userId">
|
|
|
+ <lay-select-option v-for="item in userList" :value="item.id" :label="item.value" />
|
|
|
+ </lay-select>
|
|
|
+ </lay-form-item>
|
|
|
+ </lay-form>
|
|
|
+ </div>
|
|
|
+ </lay-layer>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts" setup>
|
|
|
+import { ref, reactive, getCurrentInstance } from "vue";
|
|
|
+import { transfers_robot, get_user_list_all } from "@/api";
|
|
|
+
|
|
|
+const { proxy }: any = getCurrentInstance();
|
|
|
+
|
|
|
+const modelFormRef = ref();
|
|
|
+
|
|
|
+interface ModelConfig {
|
|
|
+ title: string;
|
|
|
+ visible: boolean;
|
|
|
+ isUpdate: boolean;
|
|
|
+ loading: boolean;
|
|
|
+}
|
|
|
+interface ModelParams {
|
|
|
+ userId?: string;
|
|
|
+ robotIds?: Array<string>;
|
|
|
+}
|
|
|
+
|
|
|
+let modelParams = ref<ModelParams>({});
|
|
|
+let modelConfig: ModelConfig = reactive({ title: "", visible: false, isUpdate: false, loading: false });
|
|
|
+
|
|
|
+let handleResult = reactive<{ resolve?: any; reject?: any }>({});
|
|
|
+
|
|
|
+let userList = ref();
|
|
|
+
|
|
|
+const show = async (params?: any) => {
|
|
|
+ get_user_list();
|
|
|
+ modelConfig.visible = true;
|
|
|
+ modelConfig.title = "移交机器人";
|
|
|
+ modelParams.value = { robotIds: params };
|
|
|
+ return new Promise(async (resolve, reject) => {
|
|
|
+ handleResult.resolve = resolve;
|
|
|
+ handleResult.reject = reject;
|
|
|
+ });
|
|
|
+};
|
|
|
+// 获取服务器列表
|
|
|
+const get_user_list = () => {
|
|
|
+ const params = {};
|
|
|
+ get_user_list_all(params, (data: any) => {
|
|
|
+ userList.value = data.data;
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
+const operator = reactive([
|
|
|
+ {
|
|
|
+ text: "确认",
|
|
|
+ callback: () => {
|
|
|
+ modelFormRef.value.validate((isValidate: boolean) => {
|
|
|
+ if (isValidate) {
|
|
|
+ modelConfig.loading = true;
|
|
|
+ const params = modelParams.value;
|
|
|
+ transfers_robot(params, (data: any) => {
|
|
|
+ modelConfig.loading = false;
|
|
|
+ if (data.code == 200) {
|
|
|
+ proxy.$message("移交成功!");
|
|
|
+ modelConfig.visible = false;
|
|
|
+ handleResult.resolve(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "取消",
|
|
|
+ callback: () => {
|
|
|
+ modelConfig.visible = false;
|
|
|
+ handleResult.resolve(false);
|
|
|
+ },
|
|
|
+ },
|
|
|
+]);
|
|
|
+defineExpose({ show });
|
|
|
+</script>
|