feat : 抄送和if判断
This commit is contained in:
@@ -1,46 +1,51 @@
|
||||
<template>
|
||||
<div v-for="(group, index) in selectedNode.props.groups" :key="index + '_g'" class="group">
|
||||
<div class="group-header">
|
||||
<!-- <span class="group-name">条件组 {{ groupNames[index] }}</span>-->
|
||||
<span class="group-name">条件</span>
|
||||
<div class="group-cp">
|
||||
<!-- <span>组内条件关系:</span>-->
|
||||
<!-- <el-switch v-model="group.groupType" active-color="#409EFF"-->
|
||||
<!-- inactive-color="#c1c1c1" active-value="AND" inactive-value="OR"-->
|
||||
<!-- active-text="且" inactive-text="或"/>-->
|
||||
</div>
|
||||
<!-- <div>-->
|
||||
|
||||
<div class="group-operation">
|
||||
<el-popover placement="bottom" title="选择审批条件" width="300" trigger="click">
|
||||
<template #reference>
|
||||
<el-icon :size="18" class="group-icon">
|
||||
<Plus/>
|
||||
</el-icon>
|
||||
</template>
|
||||
<div>以下条件将决定具体的审批流程</div>
|
||||
<el-checkbox-group v-model="group.cids" value-key="id">
|
||||
<el-checkbox :label="condition.id" v-for="(condition, cindex) in conditionList" :key="condition.id"
|
||||
@change="conditionChange(cindex, group)">
|
||||
{{ condition.title }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-popover>
|
||||
<!-- <el-icon :size="18" class="group-icon" @click="delGroup(index)">-->
|
||||
<!-- <Close/>-->
|
||||
<!-- </el-icon>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<div v-for="(group, index) in selectedNode.props.groups" :key="index + '_g'" class="group">
|
||||
<div class="group-header">
|
||||
<!-- <span class="group-name">条件组 {{ groupNames[index] }}</span>-->
|
||||
<span class="group-name">条件</span>
|
||||
<div class="group-cp">
|
||||
<span>组内条件关系:</span>
|
||||
<el-switch v-model="group.groupType" active-color="#409EFF"
|
||||
inactive-color="#c1c1c1" active-value="AND" inactive-value="OR"
|
||||
active-text="且" inactive-text="或"/>
|
||||
</div>
|
||||
|
||||
<div class="group-operation">
|
||||
<el-popover placement="bottom" title="选择审批条件" width="300" trigger="click">
|
||||
<template #reference>
|
||||
<el-icon :size="18" class="group-icon">
|
||||
<Plus/>
|
||||
</el-icon>
|
||||
</template>
|
||||
<div>以下条件将决定具体的审批流程</div>
|
||||
<el-checkbox-group v-model="group.cids" value-key="id">
|
||||
<el-checkbox :label="condition.id" v-for="(condition, cindex) in conditionList" :key="condition.id"
|
||||
@change="conditionChange(cindex, group)">
|
||||
{{ condition.title }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-popover>
|
||||
<!-- <el-icon :size="18" class="group-icon" @click="delGroup(index)">-->
|
||||
<!-- <Close/>-->
|
||||
<!-- </el-icon>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group-content">
|
||||
<p v-if="group.conditions.length === 0">点击右上角 + 添加条件</p>
|
||||
<div v-else>
|
||||
<el-form ref="condition-form">
|
||||
<!--构建表达式-->
|
||||
<el-form-item v-for="(condition, cindex) in group.conditions" :key="condition.id + '_' + cindex">
|
||||
<ellipsis slot="label" hover-tip :content="condition.title"/>
|
||||
<span v-if="condition.valueType === ValueType.string">
|
||||
<div class="group-content">
|
||||
<p v-if="group.conditions.length === 0">点击右上角 + 添加条件</p>
|
||||
<div v-else>
|
||||
<el-form ref="condition-form">
|
||||
<!--构建表达式-->
|
||||
<el-form-item v-for="(condition, cindex) in group.conditions" :key="condition.id + '_' + cindex">
|
||||
<ellipsis slot="label" hover-tip :content="condition.title"/>
|
||||
<span v-if="condition.valueType === ValueType.string">
|
||||
<el-select placeholder="判断符" style="width: 120px;" v-model="condition.compare"
|
||||
@change="condition.value = []" filterable clearable>
|
||||
<el-option label="等于" value="="></el-option>
|
||||
<el-option label="不等于" value="!="></el-option>
|
||||
<el-option label="包含在" value="IN"></el-option>
|
||||
</el-select>
|
||||
<span v-if="isSelect(condition.id)" style="margin-left: 10px">
|
||||
@@ -56,13 +61,14 @@
|
||||
</el-select>
|
||||
</span>
|
||||
<span v-else style="margin-left: 10px">
|
||||
<el-input v-if="condition.compare === '='" style="width: 280px;" placeholder="输入比较值"
|
||||
<el-input v-if="condition.compare === '=' ||condition.compare === '!='" style="width: 280px;"
|
||||
placeholder="输入比较值"
|
||||
v-model="condition.value[0]"/>
|
||||
<el-select v-else style="width: 280px;" multiple clearable filterable allow-create size="small"
|
||||
v-model="condition.value" placeholder="输入可能包含的值"></el-select>
|
||||
</span>
|
||||
</span>
|
||||
<span v-else-if="condition.valueType === ValueType.number">
|
||||
<span v-else-if="condition.valueType === ValueType.number">
|
||||
<el-select size="small" placeholder="判断符" style="width: 120px;" v-model="condition.compare" filterable
|
||||
clearable>
|
||||
<el-option :label="exp.label" :value="exp.value" :key="exp.value" v-for="exp in explains"></el-option>
|
||||
@@ -83,7 +89,7 @@
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
<span v-else-if="condition.valueType === ValueType.company">
|
||||
<span v-else-if="condition.valueType === ValueType.company">
|
||||
<span class="item-desc" style="margin-right: 20px">公司</span>
|
||||
<el-select placeholder="判断符" style="width: 120px;" v-model="condition.compare" filterable clearable>
|
||||
<el-option label="等于" value="="></el-option>
|
||||
@@ -99,14 +105,18 @@
|
||||
style="width: 240px"
|
||||
/>
|
||||
</span>
|
||||
<el-icon class="delete-icon" @click="delSubCondition(group, cindex)">
|
||||
<Minus/>
|
||||
</el-icon>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-icon class="delete-icon" @click="delSubCondition(group, cindex)">
|
||||
<Minus/>
|
||||
</el-icon>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <el-input placeholder="请输入表达式"></el-input>-->
|
||||
<!-- </div>-->
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -124,7 +134,7 @@ const companyList = ref([])
|
||||
// const orgType = ref('user')
|
||||
const showOrgSelect = ref(false)
|
||||
const groupNames = ref(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'])
|
||||
const supportTypes = ref([ValueType.number, ValueType.string,ValueType.company])
|
||||
const supportTypes = ref([ValueType.number, ValueType.string, ValueType.company])
|
||||
const explains = ref(
|
||||
[
|
||||
{label: '等于', value: '='},
|
||||
@@ -190,7 +200,6 @@ const conditionValType = (type) => {
|
||||
}
|
||||
|
||||
const filterConditionMosr = (list) => {
|
||||
console.log(processFromPerms.value)
|
||||
processFromPerms.value.forEach((item) => {
|
||||
// console.log(item)
|
||||
if (item.required && supportTypes.value.indexOf(item.valueType) > -1) {
|
||||
@@ -237,8 +246,8 @@ const delSubCondition = (group, index) => {
|
||||
const conditionChange = (index, group) => {
|
||||
//条件组进行发生了改变
|
||||
//判断新增的
|
||||
group.cids.forEach(cid => {
|
||||
if (0 > group.conditions.findIndex(cd => cd.id === cid)) {
|
||||
group.cids?.forEach(cid => {
|
||||
if (0 > group.conditions?.findIndex(cd => cd.id === cid)) {
|
||||
//新增条件
|
||||
let condition = {...conditionList.value[index]}
|
||||
condition.compare = '';
|
||||
|
||||
Reference in New Issue
Block a user