fix: bug 修复

This commit is contained in:
xuziqiang
2024-06-19 15:20:04 +08:00
parent f744ad286e
commit 69776112f9
6 changed files with 224 additions and 186 deletions

View File

@@ -1,99 +1,104 @@
import { mockData } from './mock';
import { cloneDeep } from 'lodash-es';
import { Modal } from 'ant-design-vue';
import { createVNode, ref } from 'vue';
import { NsMessage } from '/nerv-lib/component';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { ref } from 'vue';
import { http } from '/nerv-lib/util';
import { origanizemanage } from '/@/api/origanizemanage';
export const formConfig = [
{
field: 'field111',
component: 'NsChildForm',
componentProps: {
title: '用户信息',
schemas: [
{
label: '账号',
field: 'accountNo',
component: 'NsInput',
componentProps: {
placeholder: '请输入账号',
maxLength: 20,
},
rules: [
{
required: true,
message: '请输入账号',
export const formConfig = (disabled) => {
return ref([
{
field: 'field111',
component: 'NsChildForm',
componentProps: {
title: '用户信息',
schemas: [
{
label: '账号',
field: 'accountNo',
component: 'NsInput',
componentProps: {
placeholder: '请输入账号',
maxLength: 20,
disabled,
},
],
},
{
label: '姓名',
field: 'realName',
component: 'NsInput',
componentProps: {
placeholder: '请输入姓名',
maxLength: 20,
},
rules: [
{
required: true,
message: '请输入姓名',
},
],
},
{
label: '性别',
field: 'sex',
component: 'NsRadioGroup',
componentProps: {
radioType: 'radio',
options: [
{ label: '男', value: '男' },
{ label: '女', value: '女' },
rules: [
{
required: true,
message: '请输入账号',
},
],
},
},
{
label: '手机号',
field: 'telephone',
component: 'NsInput',
componentProps: {
placeholder: '请输入手机号',
maxLength: 11,
},
rules: [
{
required: true,
message: '请输入正确手机号格式',
pattern: /^[1][3-9][0-9]{9}$/,
{
label: '姓名',
field: 'realName',
component: 'NsInput',
componentProps: {
placeholder: '请输入姓名',
maxLength: 20,
},
],
},
{
label: '邮箱',
field: 'email',
component: 'NsInput',
componentProps: {
placeholder: '请输入邮箱',
maxLength: 30,
rules: [
{
required: true,
message: '请输入姓名',
},
],
},
},
{
label: '组织关系',
field: 'orgName',
component: 'NsInput',
defaultValue: JSON.parse(sessionStorage.getItem('userInfo')).orgName,
componentProps: {
disabled: true,
maxLength: 30,
{
label: '性别',
field: 'sex',
component: 'NsRadioGroup',
componentProps: {
radioType: 'radio',
options: [
{ label: '男', value: '男' },
{ label: '女', value: '女' },
],
},
},
},
],
{
label: '手机号',
field: 'telephone',
component: 'NsInput',
componentProps: {
placeholder: '请输入手机号',
maxLength: 11,
},
rules: [
{
required: true,
message: '请输入正确手机号格式',
pattern: /^[1][3-9][0-9]{9}$/,
},
],
},
{
label: '邮箱',
field: 'email',
component: 'NsInput',
componentProps: {
placeholder: '请输入邮箱',
maxLength: 30,
},
rules: [
{
pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
message: '请输入正确的邮箱格式',
trigger: 'blur',
},
],
},
{
label: '组织关系',
field: 'orgName',
component: 'NsInput',
defaultValue: JSON.parse(sessionStorage.getItem('userInfo')).orgName,
componentProps: {
disabled: true,
maxLength: 30,
},
},
],
},
},
},
];
]);
};
const options = ref([]);
const getUserPerList = (transform, params = {}) => {
@@ -105,16 +110,6 @@ const getUserPerList = (transform, params = {}) => {
});
};
export const formConfig2 = (casData: any) => {
// const transForm = (data) => {
// data['label'] = data.orgName;
// data['value'] = data.orgId;
// data['isLeaf'] = false;
// data['level'] = 1;
// return data;
// };
// getUserPerList(transForm).then((res) => {
// options.value = [...res];
// });
return ref([
{
field: 'information',
@@ -129,9 +124,6 @@ export const formConfig2 = (casData: any) => {
});
return labels.join('/');
},
// defaultValue: [1, 1, 3],
// options: options,
// changeOnSelect: true,
loadData: (selectedOptions, options) => {
console.log(selectedOptions, options, 'selectedOptions, options');

View File

@@ -73,23 +73,26 @@
<a-modal
title="用户信息"
:width="600"
:width="520"
:visible="addformvisible"
cancelText="取消"
@ok="handleOk"
@cancel="handleClose">
<ns-form ref="modalFormRef" :schemas="formSchema2" :model="formData2" formLayout="vertical" />
<ns-form
ref="modalFormRef"
:wrapperCol="{ span: 24 }"
:schemas="formSchema2"
:model="formData2"
formLayout="vertical" />
</a-modal>
</div>
</template>
<script lang="ts">
import { computed, createVNode, defineComponent, nextTick, reactive, ref } from 'vue';
import { computed, createVNode, defineComponent, reactive, ref, watchEffect } from 'vue';
import { http } from '/nerv-lib/util/http';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { cloneDeep } from 'lodash-es';
import { NsMessage, NsModal } from '/nerv-lib/component';
import { formConfig, formConfig2 } from './config';
import { origanizemanage, department } from '/@/api/origanizemanage';
import { origanizemanage } from '/@/api/origanizemanage';
export default defineComponent({
name: 'OrderListIndex',
@@ -97,14 +100,24 @@
const mainRef = ref();
const data = reactive({});
let formData = ref({});
let formData2 = ref({ userRoleList: [1, 1, 3] });
let formData2 = ref({});
const formRef = ref();
const modalFormRef = ref();
const visible = ref(false);
const addformvisible = ref(false);
const searchValue = ref<string>('');
const searchValue2 = ref<string>('');
const formSchema = formConfig;
const disabled = ref(false);
const opMap: any = ref({
type: 'add',
fuc: () => {},
record: {},
});
watchEffect(() => {
disabled.value = opMap.value.type === 'edit';
});
const formSchema = formConfig(disabled);
const casData = ref([]);
const formSchema2 = formConfig2(casData);
const treeData = ref([]);
@@ -120,30 +133,25 @@
};
// 企业树
fetch(origanizemanage.queryOrgTree).then((res) => {
const otherOrg = res.data[0].listOrg;
// 特殊处理
treeData.value = res.data;
otherOrg?.map((item) => {
treeData.value.push({ orgInfo: item } as never);
const getOrgTree = (params?) => {
fetch(origanizemanage.queryOrgTree, params).then((res) => {
const otherOrg = res.data[0].listOrg;
// 特殊处理
treeData.value = res.data;
otherOrg?.map((item) => {
treeData.value.push({ orgInfo: item } as never);
});
});
});
};
getOrgTree();
// 部门树
fetch(origanizemanage.queryDeptTree).then((res) => {
treeData2.value = res.data;
});
const opMap: any = {
type: 'add',
fuc: () => {},
record: {},
};
const onSearch = () => {
console.log(searchValue.value);
fetch(origanizemanage.queryOrgTree, { orgName: searchValue.value, orgId }).then((res) => {
treeData.value = res.data;
});
getOrgTree({ orgName: searchValue.value, orgId });
};
const onSearch2 = () => {
console.log(searchValue2.value);
@@ -190,7 +198,8 @@
return;
}
opMap.fuc && opMap.fuc({ ...formData.value, userRoleList: userAuthList.value, orgId });
opMap.value.fuc &&
opMap.value.fuc({ ...formData.value, userRoleList: userAuthList.value, orgId });
visible.value = false;
});
};
@@ -225,8 +234,14 @@
name: 'userAdd',
type: 'primary',
handle: () => {
opMap.type = 'add';
opMap.fuc = (formData: any) => {
opMap.value.type = 'add';
setTimeout(() => {
formData.value = {
orgName: JSON.parse(sessionStorage.getItem('userInfo')).orgName,
};
userAuthList.value.splice(0);
});
opMap.value.fuc = (formData: any) => {
http.post(origanizemanage.addUser, formData).then(() => {
mainRef.value?.nsTableRef.reload();
visible.value = false;
@@ -353,8 +368,8 @@
formData.value = record;
userAuthList.value.push(...record.userRoleInfos);
}, 10);
opMap.type = 'edit';
opMap.fuc = (formData: any) => {
opMap.value.type = 'edit';
opMap.value.fuc = (formData: any) => {
http.post(origanizemanage.editUser, formData).then(() => {
mainRef.value?.nsTableRef.reload();
visible.value = false;
@@ -466,7 +481,7 @@
params: {},
},
// pagination: { defaultPageSize: 10 },
rowKey: 'id',
rowKey: 'userId',
});
const tableConfig2 = {
// api: {