feat: base 发起流程分组

This commit is contained in:
caoqianming 2025-11-18 11:13:25 +08:00
parent 8fa81f1f76
commit cea821e592
2 changed files with 40 additions and 12 deletions

View File

@ -15,13 +15,19 @@
@change="handleQuery"
clearable
style="margin-left: 2px"
>
<el-option-group
v-for="group in wfOptions"
:key="group.category"
:label="group.category"
>
<el-option
v-for="item in wfOptions"
v-for="item in group.items"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-option-group>
</el-select>
<el-select
v-model="query.script_run_last_result"
@ -136,14 +142,19 @@
</el-drawer>
</el-container>
<el-dialog v-model="dialogVisible" title="选择流程">
<div v-for="group in wfOptions" :key="group.category" class="category-group">
<h3 style="margin: 16px 0 8px 0; color: #606266;">{{ group.category }}</h3>
<el-card
v-for="item in wfOptions"
v-for="item in group.items"
:key="item.id"
:body-style="{ padding: '10px', cursor: 'pointer' }"
style="width: 200px; display: inline-block; margin: 4px; background-color: #f5f7fa;"
style="width: 180px; display: inline-block; margin: 4px; background-color: #f5f7fa;"
shadow="hover"
@click="startTicket(item)"
>{{ item.name }}</el-card>
>
{{ item.name }}
</el-card>
</div>
</el-dialog>
</template>
@ -209,14 +220,23 @@ export default {
methods: {
getWfOptions() {
let permissions = this.$TOOL.data.get("PERMISSIONS");
const groups = {};
this.$API.wf.workflow.list.req({ page: 0 }).then((res) => {
let wfOptions = [];
res.forEach((item) => {
if(item.key && permissions.includes(item.key)) {
wfOptions.push(item)
let cate = item.cate;
if (!cate){cate="未分组"}
if (!groups[cate]) {
groups[cate] = [];
}
groups[cate].push(item);
}
})
this.wfOptions = wfOptions;
// 便
this.wfOptions = Object.keys(groups).map(category => ({
category,
items: groups[category]
}));
});
},
reStart(row) {

View File

@ -38,6 +38,11 @@
prop="name"
width="220"
></el-table-column>
<el-table-column
label="分类"
prop="cate"
width="80"
></el-table-column>
<el-table-column
label="标识"
prop="key"
@ -136,6 +141,9 @@
<el-form-item label="名称" prop="name">
<el-input v-model="addForm.name" clearable></el-input>
</el-form-item>
<el-form-item label="分类" prop="cate">
<el-input v-model="addForm.cate" clearable></el-input>
</el-form-item>
<el-form-item label="标识" prop="key">
<el-input v-model="addForm.key" clearable></el-input>
</el-form-item>