Merge remote-tracking branch 'origin/dev-dictionary' into dev-dictionary

This commit is contained in:
XieYongHong 2023-09-27 13:58:12 +08:00
commit 7c75248aae
3 changed files with 21 additions and 3 deletions

View File

@ -47,7 +47,7 @@ const form: any = ref({
text: '', text: '',
ordinal: 0 ordinal: 0
}) })
const lastValue = ref()
const loading = ref(false) const loading = ref(false)
const formRef = ref() const formRef = ref()
/* /*
@ -66,7 +66,7 @@ const validateInput = async (_rule: Rule, value: string) => {
* 校验value唯一 * 校验value唯一
*/ */
const validateValue = async (_rule: Rule, value: string) => { const validateValue = async (_rule: Rule, value: string) => {
if (value && props.type === 'add') { if (value && lastValue.value !== value) {
const res:any = await verifyValue({ const res:any = await verifyValue({
terms: [ terms: [
{ {
@ -133,6 +133,7 @@ onMounted(() => {
form.value.ordinal = props.sort form.value.ordinal = props.sort
} else { } else {
form.value = props.data form.value = props.data
lastValue.value = props.data.value
} }
}) })
</script> </script>

View File

@ -76,25 +76,30 @@
:rules="[ :rules="[
{ required: true, message: '请输入名称' }, { required: true, message: '请输入名称' },
{ max: 64, message: '最多可输入64个字符' }, { max: 64, message: '最多可输入64个字符' },
{ required: true , validator:validateName, trigger: 'blur',}
]" ]"
> >
<j-input <j-input
v-model:value="form.data.name" v-model:value="form.data.name"
placeholder="请输入名称" placeholder="请输入名称"
/> />
<span class="example">正向关系示例用户张三是001号视频设备的管理员</span>
</j-form-item> </j-form-item>
<j-form-item <j-form-item
label="反向关系名称" label="反向关系名称"
name="reverseName" name="reverseName"
:rules="[ :rules="[
{ required: true, message: '请输入名称' }, { required: true, message: '请输入名称' },
{ max: 64, message: '最多可输入64个字符' }, { max: 64, message: '最多可输入64个字符' },
{ required: true , validator:validateName, trigger: 'blur',}
]" ]"
> >
<j-input <j-input
v-model:value="form.data.reverseName" v-model:value="form.data.reverseName"
placeholder="请输入名称" placeholder="请输入名称"
/> />
<span class="example">反向关系示例001号视频设备是用户张三的管辖设备</span>
</j-form-item> </j-form-item>
<j-form-item name="description" label="说明"> <j-form-item name="description" label="说明">
<j-textarea <j-textarea
@ -209,6 +214,12 @@ const form = reactive({
return api(params); return api(params);
}, },
}); });
const validateName = async(_:any,value:any)=>{
if(!value){
return Promise.resolve()
}
return form.data.reverseName === form.data.name ? Promise.reject('不能使用相同的关系名称') : Promise.resolve()
}
const targetList = computed(() => const targetList = computed(() =>
form.data.objectType === 'device' ? [{ id: 'user', name: '用户' }] : [], form.data.objectType === 'device' ? [{ id: 'user', name: '用户' }] : [],
); );
@ -224,3 +235,9 @@ type formType = {
id?: string; id?: string;
}; };
</script> </script>
<style scoped lang="less">
.example {
color: rgb(192, 192, 192);
font-size: 12px;
}
</style>

View File

@ -90,7 +90,7 @@ const columns = [
}, },
}, },
{ {
title: '向关系名称', title: '向关系名称',
dataIndex: 'reverseName', dataIndex: 'reverseName',
key: 'reverseName', key: 'reverseName',
ellipsis: true, ellipsis: true,