|
@@ -1,19 +1,31 @@
|
|
<template>
|
|
<template>
|
|
-
|
|
|
|
<el-form label-width="100px" :model="data" :rules="rules" ref="baseFormRef">
|
|
<el-form label-width="100px" :model="data" :rules="rules" ref="baseFormRef">
|
|
<el-form-item label="单位名称" prop="orgId" required>
|
|
<el-form-item label="单位名称" prop="orgId" required>
|
|
<!-- <el-autocomplete style="width: 300px" v-model="data.orgName" :fetch-suggestions="querySearch" clearable
|
|
<!-- <el-autocomplete style="width: 300px" v-model="data.orgName" :fetch-suggestions="querySearch" clearable
|
|
class="inline-input w-50" placeholder="请输入" @select="handleSelect" /> -->
|
|
class="inline-input w-50" placeholder="请输入" @select="handleSelect" /> -->
|
|
- <el-tree-select :check-strictly="true" :props="{
|
|
|
|
|
|
+ <el-tree-select
|
|
|
|
+ :check-strictly="true"
|
|
|
|
+ :props="{
|
|
value: 'orgId',
|
|
value: 'orgId',
|
|
label: (data: any) => data.orgName,
|
|
label: (data: any) => data.orgName,
|
|
- }" style="width: 300px" v-model="data.orgId" :data="allOrgs" node-key="orgId" @node-click="handleNodeClick" clearable>
|
|
|
|
-
|
|
|
|
|
|
+ }"
|
|
|
|
+ style="width: 300px"
|
|
|
|
+ v-model="data.orgId"
|
|
|
|
+ :data="allOrgs"
|
|
|
|
+ node-key="orgId"
|
|
|
|
+ @node-click="handleNodeClick"
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
</el-tree-select>
|
|
</el-tree-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="姓名" prop="nickName" required>
|
|
<el-form-item label="姓名" prop="nickName" required>
|
|
- <el-input v-model="data.nickName" style="width: 300px" :maxlength="15" placeholder="请输入" />
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="data.nickName"
|
|
|
|
+ style="width: 300px"
|
|
|
|
+ :maxlength="15"
|
|
|
|
+ placeholder="请输入"
|
|
|
|
+ />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</template>
|
|
</template>
|
|
@@ -22,38 +34,35 @@
|
|
import { QuiskExpose } from "@/helper/mount";
|
|
import { QuiskExpose } from "@/helper/mount";
|
|
import { ElMessage, type FormInstance, type FormRules } from "element-plus";
|
|
import { ElMessage, type FormInstance, type FormRules } from "element-plus";
|
|
// import { ElMessage } from "element-plus";
|
|
// import { ElMessage } from "element-plus";
|
|
-import type { OrganizationType } from '@/request/organization'
|
|
|
|
|
|
+import type { OrganizationType } from "@/request/organization";
|
|
import {
|
|
import {
|
|
// getOrgListFetch,
|
|
// getOrgListFetch,
|
|
getOrgListFetchList,
|
|
getOrgListFetchList,
|
|
- UserType
|
|
|
|
|
|
+ UserType,
|
|
} from "@/request";
|
|
} from "@/request";
|
|
|
|
|
|
import { ref, reactive, unref, onMounted, watchEffect } from "vue";
|
|
import { ref, reactive, unref, onMounted, watchEffect } from "vue";
|
|
|
|
|
|
-
|
|
|
|
const baseFormRef = ref<FormInstance>();
|
|
const baseFormRef = ref<FormInstance>();
|
|
|
|
|
|
type SelectType = {
|
|
type SelectType = {
|
|
- orgName: string,
|
|
|
|
- orgId: number
|
|
|
|
- children: SelectType[]
|
|
|
|
-}
|
|
|
|
|
|
+ orgName: string;
|
|
|
|
+ orgId: number;
|
|
|
|
+ children: SelectType[];
|
|
|
|
+};
|
|
|
|
|
|
const allOrgs = ref<SelectType[]>([]);
|
|
const allOrgs = ref<SelectType[]>([]);
|
|
|
|
|
|
const rules = reactive<FormRules>({
|
|
const rules = reactive<FormRules>({
|
|
- orgId: [
|
|
|
|
- { required: true, message: "请选择单位名称", trigger: "select" },
|
|
|
|
- ],
|
|
|
|
|
|
+ orgId: [{ required: true, message: "请选择单位名称", trigger: "select" }],
|
|
nickName: [
|
|
nickName: [
|
|
{ required: true, message: "请输入姓名", trigger: "blur" },
|
|
{ required: true, message: "请输入姓名", trigger: "blur" },
|
|
// { required: true, pattern: /^1[3456789]\d{9}$/, message: "请输入正确手机号", trigger: "blur" },
|
|
// { required: true, pattern: /^1[3456789]\d{9}$/, message: "请输入正确手机号", trigger: "blur" },
|
|
],
|
|
],
|
|
-},)
|
|
|
|
|
|
+});
|
|
|
|
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
- user: UserType,
|
|
|
|
|
|
+ user: UserType;
|
|
submit: (data: UserType) => Promise<any>;
|
|
submit: (data: UserType) => Promise<any>;
|
|
}>();
|
|
}>();
|
|
const data = ref<Partial<OrganizationType> & Partial<UserType>>({
|
|
const data = ref<Partial<OrganizationType> & Partial<UserType>>({
|
|
@@ -62,16 +71,15 @@ const data = ref<Partial<OrganizationType> & Partial<UserType>>({
|
|
password: "",
|
|
password: "",
|
|
status: 0,
|
|
status: 0,
|
|
// userId: 0,
|
|
// userId: 0,
|
|
- userName: ""
|
|
|
|
|
|
+ userName: "",
|
|
|
|
+ type: 0,
|
|
});
|
|
});
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
-
|
|
|
|
- const data = await getOrgListFetchList()
|
|
|
|
- console.log('list', data)
|
|
|
|
- allOrgs.value = data as any as SelectType[]
|
|
|
|
-
|
|
|
|
-})
|
|
|
|
|
|
+ const data = await getOrgListFetchList();
|
|
|
|
+ console.log("list", data);
|
|
|
|
+ allOrgs.value = data as any as SelectType[];
|
|
|
|
+});
|
|
|
|
|
|
// const setParentId = () => {
|
|
// const setParentId = () => {
|
|
// if (user.value) {
|
|
// if (user.value) {
|
|
@@ -81,15 +89,15 @@ onMounted(async () => {
|
|
// }
|
|
// }
|
|
watchEffect(() => {
|
|
watchEffect(() => {
|
|
if (props.user) {
|
|
if (props.user) {
|
|
- data.value = { ...props.user }
|
|
|
|
|
|
+ data.value = { ...props.user };
|
|
}
|
|
}
|
|
-})
|
|
|
|
|
|
+});
|
|
|
|
|
|
const handleNodeClick = (node: SelectType) => {
|
|
const handleNodeClick = (node: SelectType) => {
|
|
- data.value.orgId = node.orgId
|
|
|
|
- data.value.orgName = node.orgName
|
|
|
|
- console.log('handleNodeClick', node.orgId, node.orgName)
|
|
|
|
-}
|
|
|
|
|
|
+ data.value.orgId = node.orgId;
|
|
|
|
+ data.value.orgName = node.orgName;
|
|
|
|
+ console.log("handleNodeClick", node.orgId, node.orgName);
|
|
|
|
+};
|
|
|
|
|
|
defineExpose<QuiskExpose>({
|
|
defineExpose<QuiskExpose>({
|
|
async submit() {
|
|
async submit() {
|
|
@@ -97,11 +105,11 @@ defineExpose<QuiskExpose>({
|
|
const res = await unref(baseFormRef)?.validate();
|
|
const res = await unref(baseFormRef)?.validate();
|
|
if (res) {
|
|
if (res) {
|
|
await props.submit(data.value as any as UserType);
|
|
await props.submit(data.value as any as UserType);
|
|
- ElMessage.success('编辑成功!');
|
|
|
|
|
|
+ ElMessage.success("编辑成功!");
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
throw "";
|
|
throw "";
|
|
}
|
|
}
|
|
},
|
|
},
|
|
});
|
|
});
|
|
-</script>
|
|
|
|
|
|
+</script>
|