提交 d511a02d authored 作者: 王鹏飞's avatar 王鹏飞

fix: #3334

上级 a4b9eb91
...@@ -39,6 +39,10 @@ function addRule() { ...@@ -39,6 +39,10 @@ function addRule() {
function removeRule(index: number) { function removeRule(index: number) {
form.rules.splice(index, 1) form.rules.splice(index, 1)
} }
function getAttr(attrId: string) {
return userAttrList.value.find(item => item.id === attrId)
}
</script> </script>
<template> <template>
...@@ -53,10 +57,13 @@ function removeRule(index: number) { ...@@ -53,10 +57,13 @@ function removeRule(index: number) {
v-for="item in getOperatorList(rule.attr_type)" v-for="item in getOperatorList(rule.attr_type)"
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"></el-option>
></el-option>
</el-select> </el-select>
<el-input v-model="rule.value" placeholder="请输入属性值" style="width: 180px"></el-input> <el-input
v-model="rule.value"
placeholder="请输入属性值"
:maxlength="getAttr(rule.attr_id)?.format"
style="width: 180px"></el-input>
<el-icon style="margin-left: 10px" size="20" color="#cf5b78" @click="removeRule(index)" v-if="index !== 0"> <el-icon style="margin-left: 10px" size="20" color="#cf5b78" @click="removeRule(index)" v-if="index !== 0">
<RemoveFilled /> <RemoveFilled />
</el-icon> </el-icon>
...@@ -65,8 +72,7 @@ function removeRule(index: number) { ...@@ -65,8 +72,7 @@ function removeRule(index: number) {
size="20" size="20"
color="#cf5b78" color="#cf5b78"
@click="addRule" @click="addRule"
v-if="index === form.rules.length - 1" v-if="index === form.rules.length - 1">
>
<CirclePlusFilled /> <CirclePlusFilled />
</el-icon> </el-icon>
</el-row> </el-row>
......
...@@ -22,7 +22,10 @@ function getOperatorList(type: string) { ...@@ -22,7 +22,10 @@ function getOperatorList(type: string) {
<ConfigViewTemplate :node="node"> <ConfigViewTemplate :node="node">
<div> <div>
<el-form-item :label="role === 'student' ? '我的答案' : '学生答案'" style="margin-bottom: 0"></el-form-item> <el-form-item :label="role === 'student' ? '我的答案' : '学生答案'" style="margin-bottom: 0"></el-form-item>
<el-form-item v-for="item in node.data.student?.rules" style="margin-left: 30px; margin-bottom: 0px"> <el-form-item
v-for="(item, index) in node.data.student?.rules"
:key="index"
style="margin-left: 30px; margin-bottom: 0px">
{{ userAttrList.find(c => c.id === item?.attr_id)?.name }} {{ userAttrList.find(c => c.id === item?.attr_id)?.name }}
{{ getOperatorList(item.attr_type).find(c => c.value === item.operate)?.label }} {{ getOperatorList(item.attr_type).find(c => c.value === item.operate)?.label }}
{{ item.value }} {{ item.value }}
...@@ -30,7 +33,10 @@ function getOperatorList(type: string) { ...@@ -30,7 +33,10 @@ function getOperatorList(type: string) {
</div> </div>
<div> <div>
<el-form-item label="正确答案" style="margin-bottom: 0"></el-form-item> <el-form-item label="正确答案" style="margin-bottom: 0"></el-form-item>
<el-form-item v-for="item in node.data.teacher?.rules" style="margin-left: 30px; margin-bottom: 0px"> <el-form-item
v-for="(item, index) in node.data.teacher?.rules"
:key="index"
style="margin-left: 30px; margin-bottom: 0px">
{{ userAttrList.find(c => c.id === item?.attr_id)?.name }} {{ userAttrList.find(c => c.id === item?.attr_id)?.name }}
{{ getOperatorList(item.attr_type).find(c => c.value === item.operate)?.label }} {{ getOperatorList(item.attr_type).find(c => c.value === item.operate)?.label }}
{{ item.value }} {{ item.value }}
......
...@@ -23,6 +23,10 @@ function addRule() { ...@@ -23,6 +23,10 @@ function addRule() {
function removeRule(index: number) { function removeRule(index: number) {
form.rules.splice(index, 1) form.rules.splice(index, 1)
} }
function getAttr(attrId: string) {
return userAttrList.value.find(item => item.id === attrId)
}
</script> </script>
<template> <template>
...@@ -33,7 +37,11 @@ function removeRule(index: number) { ...@@ -33,7 +37,11 @@ function removeRule(index: number) {
<el-option :key="item.id" v-for="item in userAttrList" :value="item.id" :label="item.name"></el-option> <el-option :key="item.id" v-for="item in userAttrList" :value="item.id" :label="item.name"></el-option>
</el-select> </el-select>
<el-button style="margin: 0 10px">=</el-button> <el-button style="margin: 0 10px">=</el-button>
<el-input v-model="rule.value" placeholder="请输入" style="width: 200px"></el-input> <el-input
v-model="rule.value"
placeholder="请输入"
:maxlength="getAttr(rule.attr_id)?.format"
style="width: 200px"></el-input>
<el-icon style="margin-left: 10px" size="20" color="#cf5b78" @click="removeRule(index)" v-if="index !== 0"> <el-icon style="margin-left: 10px" size="20" color="#cf5b78" @click="removeRule(index)" v-if="index !== 0">
<RemoveFilled /> <RemoveFilled />
</el-icon> </el-icon>
......
...@@ -13,7 +13,7 @@ const { userAttrList } = useUserAttr() ...@@ -13,7 +13,7 @@ const { userAttrList } = useUserAttr()
<ConfigViewTemplate :node="node"> <ConfigViewTemplate :node="node">
<div> <div>
<el-form-item :label="role === 'student' ? '我的答案' : '学生答案'" style="margin-bottom: 0"></el-form-item> <el-form-item :label="role === 'student' ? '我的答案' : '学生答案'" style="margin-bottom: 0"></el-form-item>
<el-form-item v-for="item in node.data.student?.rules" style="margin-left: 30px"> <el-form-item v-for="(item, index) in node.data.student?.rules" :key="index" style="margin-left: 30px">
{{ userAttrList.find(c => c.id === item.attr_id)?.name }} {{ userAttrList.find(c => c.id === item.attr_id)?.name }}
= =
{{ item.value }} {{ item.value }}
...@@ -21,7 +21,7 @@ const { userAttrList } = useUserAttr() ...@@ -21,7 +21,7 @@ const { userAttrList } = useUserAttr()
</div> </div>
<div> <div>
<el-form-item label="正确答案" style="margin-bottom: 0"></el-form-item> <el-form-item label="正确答案" style="margin-bottom: 0"></el-form-item>
<el-form-item v-for="item in node.data.teacher?.rules" style="margin-left: 30px"> <el-form-item v-for="(item, index) in node.data.teacher?.rules" :key="index" style="margin-left: 30px">
{{ userAttrList.find(c => c.id === item.attr_id)?.name }} {{ userAttrList.find(c => c.id === item.attr_id)?.name }}
= =
{{ item.value }} {{ item.value }}
......
...@@ -35,6 +35,10 @@ function onAttrChange() { ...@@ -35,6 +35,10 @@ function onAttrChange() {
form.operate = '' form.operate = ''
form.value = '' form.value = ''
} }
function getAttr(attrId: string) {
return userAttrList.value.find(item => item.id === attrId)
}
</script> </script>
<template> <template>
...@@ -50,10 +54,13 @@ function onAttrChange() { ...@@ -50,10 +54,13 @@ function onAttrChange() {
v-for="item in operatorList" v-for="item in operatorList"
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"></el-option>
></el-option>
</el-select> </el-select>
<el-input v-model="form.value" placeholder="请输入" style="width: 200px"></el-input> <el-input
v-model="form.value"
placeholder="请输入"
:maxlength="getAttr(form.attr_id)?.format"
style="width: 200px"></el-input>
</div> </div>
<p style="font-size: 12px; text-align: right; color: #ccc">所选择属性满足该条件的用户,将会触发该旅程</p> <p style="font-size: 12px; text-align: right; color: #ccc">所选择属性满足该条件的用户,将会触发该旅程</p>
</div> </div>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论