Merge pull request 'master' (#251) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/251
This commit is contained in:
clay
2024-05-30 14:34:28 +00:00
8 changed files with 72 additions and 40 deletions

View File

@@ -18,6 +18,13 @@ export const getConfigDetails = (configId) => {
method: 'get'
})
}
// 获取参数配置表详情
export const getConfigByKey = (configKey) => {
return request({
url: '/admin/config/key/' + configKey,
method: 'get'
})
}
// 新增参数配置表
export const addConfig = (data) => {

View File

@@ -68,4 +68,11 @@ export function getTypeOption() {
})
}
export function getFromPerm(processKey) {
return request({
url: "/workflow/process/definition/from/perm/"+processKey,
method: "get",
})
}

View File

@@ -3,12 +3,12 @@
<Hamburger></Hamburger>
<Breadcrumb></Breadcrumb>
<div class="right-bar">
<!-- <bell-socket/>-->
<!-- <bell-socket/>-->
<div class="user-box">
<div>
<!-- <img :src="userInfo.avatar" alt="" @click.stop="handleVisitedP">-->
<span @click.stop="handleVisitedP">欢迎回来{{userInfo.userName}}</span>
</div>
<div>
<!-- <img :src="userInfo.avatar" alt="" @click.stop="handleVisitedP">-->
<span @click.stop="handleVisitedP">欢迎回来{{ userInfo.userName }}</span>
</div>
<div class="person" v-if="visitedP">
<ul>
<li @click="handleToAuth">个人中心</li>
@@ -25,8 +25,6 @@ import {useRouter} from 'vue-router';
import Breadcrumb from './Breadcrumb.vue';
import Hamburger from './Hamburger.vue';
import {useAuthStore} from '@/stores/userstore.js'
import BellSocket from "./BellSocket.vue";
import {getUserInfo} from "../../api/login";
import {usePermisstionStroe} from '@/stores/permisstion'
const authStore = useAuthStore()
@@ -41,10 +39,8 @@ onMounted(() => {
onBeforeUnmount(() => {
document.removeEventListener('click', nullBlockClick)
})
const setUserInfo = () => {
getUserInfo().then(res=>{
userInfo.value = res.data.user
})
const setUserInfo = () => {
userInfo.value = authStore.userinfo
}
const nullBlockClick = () => {
visitedP.value = false
@@ -74,22 +70,26 @@ const handleLogout = () => {
align-items: center;
background-color: #fff;
border-radius: 10px;
.right-bar {
margin-left: auto;
display: flex;
justify-content: flex-start;
align-items: center;
.user-box{
.user-box {
cursor: pointer;
margin-left: 10px;
position: relative;
>div:first-child{
display:flex;
> div:first-child {
display: flex;
align-items: center;
>span{
> span {
margin-left: 5px;
}
img {
width: 40px;
height: 40px;

View File

@@ -217,4 +217,4 @@ body,div {
}
}
</style>
</style>

View File

@@ -2,14 +2,14 @@
<div v-loading="loading" class="add-block">
<baseTitle title="需求征集信息录入"></baseTitle>
<el-form :model="formData" inline class="query-form" ref="demandForm" :rules="rules">
<el-form-item v-if="checkFormPrem('requirementName')" label="需求名称" prop="requirementName">
<el-input v-model="formData.requirementName" placeholder="请输入需求名称" clearable></el-input>
<el-form-item label="名称" prop="requirementName">
<el-input v-model="formData.requirementName" placeholder="请输入名称" clearable></el-input>
</el-form-item>
<el-form-item v-if="checkFormPrem('companyIds')" label="所属公司" prop="companyIds">
<el-form-item label="所属公司" prop="companyIds">
<el-tree-select v-model="formData.companyIds" :data="companyOption" style="width: 100%;"
filterable clearable :check-strictly="true" multiple/>
</el-form-item>
<el-form-item v-if="checkFormPrem('collectType')" label="征集类型" prop="collectType">
<el-form-item label="征集类型" prop="collectType">
<el-select v-model="formData.collectType" placeholder="征集类型" clearable filterable>
<el-option
v-for="item in typeOption"
@@ -31,7 +31,7 @@
</el-form-item>
</el-form>
<baseTitle title="征集说明"></baseTitle>
<Tinymce v-if="checkFormPrem('collectExplain') && showTinymce" image-url="/notice/file" file-url="/notice/file"
<Tinymce v-if="showTinymce" image-url="/notice/file" file-url="/notice/file"
v-model:value="formData.collectExplain" height="300" />
<baseTitle title="申请文件"></baseTitle>
<file-upload v-if="checkFormPrem('fileList')" @getFile="getFile"/>

View File

@@ -16,6 +16,7 @@
<!-- </div>-->
</div>
</div>
<el-dialog v-model="validVisible" title="设置项检查">
<el-steps align-center :active="validStep" finish-status="success">
@@ -54,7 +55,6 @@
<script setup>
import {getProcessDefinitionInfo, addProcessDefinition} from "@/api/workflow/process-definition.js";
import ProcessDesign from '@/views/workflow/process/ProcessDesign.vue'
import FormDesign from '@/views/workflow/form/FormDesign.vue'
import ProcessSetting from "./ProcessSetting.vue";
import Ellipsis from '@/views/workflow/process/common/Ellipsis.vue'
import {getCurrentInstance} from '@vue/runtime-core';
@@ -117,7 +117,7 @@ const init = () => {
const loadInitFrom = () => {
let design = {
processDefinitionKey: 'pro' + getRandomId(),
processDefinitionKey: "",
deploymentName: "未命名表单",
processKey: '',
// logo: {

View File

@@ -1,21 +1,22 @@
<template>
<el-input v-model="processData.deploymentName" placeholder="请输入流程名称"/>
<!-- <div v-if="!processData.processDefinitionKey">-->
<el-select v-model="processData.processKey" placeholder="请选择流程环节">
<div v-if="processData.processDefinitionKey">
<p>
流程名称: {{ processData.deploymentName }}
</p>
</div>
<div v-if="!processData.processDefinitionKey">
<el-select v-model="processData.processKey" @change="processKeyChange" placeholder="请选择流程环节">
<el-option v-for="item in optionList" :label="item.label" :value="item.value"/>
</el-select>
<!-- </div>-->
<!-- <div v-else>-->
<!-- {{processData.processName}}-->
<!-- </div>-->
</div>
流程设置{{ processData.deploymentName }}
</template>
<script setup>
import {useProcessStore} from '@/stores/processStore.js'
import {computed, defineExpose} from "vue";
import {getTypeOption} from "@/api/workflow/process-definition";
import { ElNotification} from "element-plus";
import {getTypeOption, getFromPerm} from "@/api/workflow/process-definition";
const processStore = useProcessStore()
@@ -27,17 +28,31 @@ const processData = computed(() => {
const validate = () => {
console.log("validate")
return []
}
const init = () => {
getTypeOption().then(res => {
console.log(res)
optionList.value = res.data
})
}
const processKeyChange = () => {
getFromPerm(processData.value.processKey).then(res => {
if (res.code === 1000) {
processData.value.processFromPerms = res.data
} else {
ElNotification({
title: '提示',
message: res.msg,
type: res.code === 1000 ? 'success' : 'error'
})
}
})
}
defineExpose({
validate
})

View File

@@ -91,12 +91,15 @@ const formPermsLoadMosr = (oldPermMap, perms) => {
old.required = perm.required;
formPerms.value.push(old);
} else {
formPerms.value.push({
id: perm.id, //todo ,id 就是字段名称
title: perm.title,
required: perm.required,
perm: nowNode.value.type === "ROOT" ? "E" : "R"
});
console.log(perm)
if (perm.id === 'fileList'){
formPerms.value.push({
id: perm.id, //todo ,id 就是字段名称
title: perm.title,
required: perm.required,
perm: nowNode.value.type === "ROOT" ? "E" : "R"
});
}
}
})
}