fix : 修复项目实施/归档上传附件显示,
This commit is contained in:
@@ -15,3 +15,17 @@ export const uploadFileList = (data) => {
|
||||
data: data
|
||||
});
|
||||
};
|
||||
export const searchImplementationFileList = (params) => {
|
||||
return request({
|
||||
url: '/workflow/mosr/attachment/implementation/list',
|
||||
method: "get",
|
||||
params: params
|
||||
});
|
||||
};
|
||||
export const switchAttachmentState = (data) => {
|
||||
return request({
|
||||
url: '/workflow/mosr/project/filing/attachment/switch',
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ const props = defineProps({
|
||||
},
|
||||
uploadState: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
default: false
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
<ul>
|
||||
<li>主次账号切换</li>
|
||||
<li class="avatar-li" v-for="item in accountList" @click="accountChange(item.userId)">
|
||||
<el-avatar><span>{{ item.nickName }}</span></el-avatar>
|
||||
<el-badge :value="item.taskCount">
|
||||
<el-avatar>{{ item.nickName }}</el-avatar>
|
||||
</el-badge>
|
||||
<div class="right-li">
|
||||
<div class="name-line">
|
||||
<span v-if="item.accountType==='0'" class="zhu">主</span>
|
||||
@@ -129,12 +131,20 @@ const handleLogout = () => {
|
||||
:deep(.el-avatar--circle) {
|
||||
display: inline-block;
|
||||
line-height: 40px;
|
||||
margin-right: 10px;
|
||||
margin-right: 14px;
|
||||
background-color: #8a7243;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
:deep(.el-badge){
|
||||
padding: 0 2px;
|
||||
}
|
||||
:deep(.el-badge__content.is-fixed) {
|
||||
position: absolute;
|
||||
right: 26px;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
height: 65px;
|
||||
|
||||
@@ -20,7 +20,7 @@ const router = useRouter()
|
||||
const activeName = ref('50')
|
||||
const attachment = ref({})
|
||||
const loading = ref(false)
|
||||
const uploadState = ref(true)
|
||||
const uploadState = ref(false)
|
||||
const fileList = ref([])
|
||||
const projectId = ref(route.query.id)
|
||||
const requirementId = ref(route.query.requirementId)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<script setup lang="jsx">
|
||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||
import {toThousands} from '@/utils/changePrice.js'
|
||||
import {switchAttachmentState} from "@/api/project-manage/attachment";
|
||||
|
||||
const router = useRouter()
|
||||
const shortcuts = [
|
||||
@@ -244,6 +245,12 @@ const tableConfig = reactive({
|
||||
if (buttons.has("edit")) {
|
||||
btn.push({label: '编辑', prem: ['project:management:filing:conclusion'], func: () => handleEdit(row), type: 'primary'})
|
||||
}
|
||||
if (buttons.has("openFileSwitch")) {
|
||||
btn.push({label: '开启上传', prem: ['project:management:filing:conclusion'], func: () => handleOpenUpload(row), type: 'primary'})
|
||||
}
|
||||
if (buttons.has("closeFileSwitch")) {
|
||||
btn.push({label: '关闭上传', prem: ['project:management:filing:conclusion'], func: () => handleCloseUpload(row), type: 'primary'})
|
||||
}
|
||||
return (
|
||||
<div style={{width: '100%'}}>
|
||||
{
|
||||
@@ -316,4 +323,24 @@ const handleEdit = (row) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const handleOpenUpload=(row)=>{
|
||||
let params={
|
||||
open: true,
|
||||
projectId: row.projectId
|
||||
}
|
||||
switchAttachmentState(params).then(res=>{
|
||||
console.log('res',res)
|
||||
tableIns.value.refresh()
|
||||
})
|
||||
}
|
||||
const handleCloseUpload=(row)=>{
|
||||
let params={
|
||||
open: false,
|
||||
projectId: row.projectId
|
||||
}
|
||||
switchAttachmentState(params).then(res=>{
|
||||
console.log('res',res)
|
||||
tableIns.value.refresh()
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -29,15 +29,14 @@
|
||||
|
||||
<script setup lang="jsx">
|
||||
import {downloadFile} from "@/api/project-demand";
|
||||
import {searchFileList} from "@/api/project-manage/attachment.js";
|
||||
import {getTags} from "@/api/project-manage";
|
||||
import {ElLoading, ElNotification} from "element-plus";
|
||||
import {computed, ref} from "vue";
|
||||
import {ElNotification} from "element-plus";
|
||||
import {getBaseInfoApi} from "@/components/steps/api";
|
||||
import {searchImplementationFileList} from "@/api/project-manage/attachment";
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const uploadState = ref(true)
|
||||
const uploadState = ref(false)
|
||||
const attachment = reactive({
|
||||
tag: ''
|
||||
})
|
||||
@@ -140,7 +139,7 @@ const handleSearch = () => {
|
||||
})
|
||||
params.tag = attachment.tag
|
||||
}
|
||||
searchFileList(params).then(res => {
|
||||
searchImplementationFileList(params).then(res => {
|
||||
showTable.value = false
|
||||
if (res.code === 1000) {
|
||||
otherFileList.value = res.data.fileList
|
||||
|
||||
@@ -1,118 +1,119 @@
|
||||
//审批节点默认属性
|
||||
export const APPROVAL_PROPS = {
|
||||
assignedType: "ASSIGN_USER", //审批类型
|
||||
mode: "AND", //会签模式
|
||||
sign: false, //是否签字
|
||||
headerBgc: '#ff943e', //节点背景颜色
|
||||
nobody: { //没有审批的的时候需要的操作
|
||||
handler: "TO_PASS", //操作
|
||||
assignedUser: [] //审批人列表
|
||||
assignedType: "ASSIGN_USER", //审批类型
|
||||
mode: "AND", //会签模式
|
||||
sign: false, //是否签字
|
||||
headerBgc: '#ff943e', //节点背景颜色
|
||||
nobody: { //没有审批的的时候需要的操作
|
||||
handler: "TO_PASS", //操作
|
||||
assignedUser: [] //审批人列表
|
||||
},
|
||||
matrixApproval: true,
|
||||
timeLimit: { //边界事件
|
||||
timeout: { //超时提醒时间
|
||||
unit: "H",
|
||||
value: 0
|
||||
},
|
||||
timeLimit: { //边界事件
|
||||
timeout: { //超时提醒时间
|
||||
unit: "H",
|
||||
value: 0
|
||||
},
|
||||
handler: { //超时提醒触发时候的操作
|
||||
type: "REFUSE", //操作
|
||||
notify: {
|
||||
once: true, //是否循环
|
||||
hour: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
assignedUser: [], // 审批人列表
|
||||
formPerms: [], //表单权限
|
||||
selfSelect: { //用户自选
|
||||
multiple: false //用户自选时是否是多选
|
||||
},
|
||||
leaderTop: { //领导
|
||||
endCondition: "TOP",
|
||||
endLevel: 1,
|
||||
},
|
||||
leader: { //第几级领导
|
||||
level: 1
|
||||
},
|
||||
listener:{
|
||||
state: false,
|
||||
list:[]
|
||||
},
|
||||
roleList: [], //角色列表
|
||||
refuse: { //拒绝的操作
|
||||
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE
|
||||
target: '' //驳回到指定ID的节点
|
||||
},
|
||||
formUser: '' //表单用户
|
||||
handler: { //超时提醒触发时候的操作
|
||||
type: "REFUSE", //操作
|
||||
notify: {
|
||||
once: true, //是否循环
|
||||
hour: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
assignedUser: [], // 审批人列表
|
||||
formPerms: [], //表单权限
|
||||
selfSelect: { //用户自选
|
||||
multiple: false //用户自选时是否是多选
|
||||
},
|
||||
leaderTop: { //领导
|
||||
endCondition: "TOP",
|
||||
endLevel: 1,
|
||||
},
|
||||
leader: { //第几级领导
|
||||
level: 1
|
||||
},
|
||||
listener: {
|
||||
state: false,
|
||||
list: []
|
||||
},
|
||||
roleList: [], //角色列表
|
||||
refuse: { //拒绝的操作
|
||||
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE
|
||||
target: '' //驳回到指定ID的节点
|
||||
},
|
||||
formUser: '' //表单用户
|
||||
}
|
||||
|
||||
//根节点默认属性
|
||||
export const ROOT_PROPS = {
|
||||
assignedUser: [], //审批人
|
||||
formPerms: [] //表单权限
|
||||
assignedUser: [], //审批人
|
||||
formPerms: [] //表单权限
|
||||
}
|
||||
|
||||
//条件节点默认属性
|
||||
export const CONDITION_PROPS = {
|
||||
groupsType: "OR", //条件组逻辑关系 OR、AND
|
||||
groups: [
|
||||
{
|
||||
groupType: "AND", //条件组内条件关系 OR、AND
|
||||
cids: [], //条件ID集合
|
||||
conditions: [] //组内子条件
|
||||
}
|
||||
],
|
||||
expression: "" //自定义表达式,灵活构建逻辑关系
|
||||
groupsType: "OR", //条件组逻辑关系 OR、AND
|
||||
groups: [
|
||||
{
|
||||
groupType: "AND", //条件组内条件关系 OR、AND
|
||||
cids: [], //条件ID集合
|
||||
conditions: [] //组内子条件
|
||||
}
|
||||
],
|
||||
expression: "" //自定义表达式,灵活构建逻辑关系
|
||||
}
|
||||
|
||||
//抄送节点默认属性
|
||||
export const CC_PROPS = {
|
||||
shouldAdd: false,
|
||||
assignedUser: [],
|
||||
formPerms: []
|
||||
shouldAdd: false,
|
||||
assignedUser: [],
|
||||
formPerms: []
|
||||
}
|
||||
|
||||
//触发器节点默认属性
|
||||
export const TRIGGER_PROPS = {
|
||||
type: 'WEBHOOK',
|
||||
http: {
|
||||
method: 'GET', //请求方法 支持GET/POST
|
||||
url: '', //URL地址,可以直接带参数
|
||||
headers: [ //http header
|
||||
{
|
||||
name: '',
|
||||
isField: true,
|
||||
value: '' //支持表达式 ${xxx} xxx为表单字段id
|
||||
}
|
||||
],
|
||||
contentType: 'FORM', //请求参数类型
|
||||
params: [ //请求参数
|
||||
{
|
||||
name: '',
|
||||
isField: true, //是表单字段还是自定义
|
||||
value: '' //支持表达式 ${xxx} xxx为表单字段id
|
||||
}
|
||||
],
|
||||
retry: 1,
|
||||
handlerByScript: false,
|
||||
success: 'function handlerSuccess(res) {\n return {\n state: true, \n msg: "请求成功!" \n };\n}',
|
||||
fail: 'function handlerFail(res) {\n return {\n state: true, \n msg: "请求失败!" \n };\n}'
|
||||
},
|
||||
email: {
|
||||
subject: '',
|
||||
to: [],
|
||||
cc: [],
|
||||
content: ''
|
||||
}
|
||||
type: 'WEBHOOK',
|
||||
http: {
|
||||
method: 'GET', //请求方法 支持GET/POST
|
||||
url: '', //URL地址,可以直接带参数
|
||||
headers: [ //http header
|
||||
{
|
||||
name: '',
|
||||
isField: true,
|
||||
value: '' //支持表达式 ${xxx} xxx为表单字段id
|
||||
}
|
||||
],
|
||||
contentType: 'FORM', //请求参数类型
|
||||
params: [ //请求参数
|
||||
{
|
||||
name: '',
|
||||
isField: true, //是表单字段还是自定义
|
||||
value: '' //支持表达式 ${xxx} xxx为表单字段id
|
||||
}
|
||||
],
|
||||
retry: 1,
|
||||
handlerByScript: false,
|
||||
success: 'function handlerSuccess(res) {\n return {\n state: true, \n msg: "请求成功!" \n };\n}',
|
||||
fail: 'function handlerFail(res) {\n return {\n state: true, \n msg: "请求失败!" \n };\n}'
|
||||
},
|
||||
email: {
|
||||
subject: '',
|
||||
to: [],
|
||||
cc: [],
|
||||
content: ''
|
||||
}
|
||||
}
|
||||
|
||||
//延时节点默认属性
|
||||
export const DELAY_PROPS = {
|
||||
type: "FIXED", //延时类型 FIXED:到达当前节点后延时固定时长 、AUTO:延时到 dateTime设置的时间
|
||||
time: 0, //延时时间
|
||||
unit: "M", //时间单位 D天 H小时 M分钟
|
||||
dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时
|
||||
type: "FIXED", //延时类型 FIXED:到达当前节点后延时固定时长 、AUTO:延时到 dateTime设置的时间
|
||||
time: 0, //延时时间
|
||||
unit: "M", //时间单位 D天 H小时 M分钟
|
||||
dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时
|
||||
}
|
||||
|
||||
export default {
|
||||
APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS
|
||||
APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS
|
||||
}
|
||||
|
||||
@@ -191,17 +191,6 @@ const loadInitFrom = () => {
|
||||
})
|
||||
}
|
||||
|
||||
const getRandomId = () => {
|
||||
let d = new Date().getTime()
|
||||
// x 是 0-9 或 a-f 范围内的一个32位十六进制数
|
||||
let id = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
||||
let r = (d + Math.random() * 16) % 16 | 0
|
||||
d = Math.floor(d / 16)
|
||||
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
|
||||
})
|
||||
return id
|
||||
}
|
||||
|
||||
const getProcessInfo = async () => {
|
||||
getProcessDefinitionInfo(params.deploymentId).then(res => {
|
||||
ElNotification({
|
||||
|
||||
@@ -273,7 +273,6 @@ const props = defineProps({
|
||||
|
||||
|
||||
const nodeProps = computed(() => {
|
||||
processStore.getSelectedNode().props.matrixApproval=true
|
||||
return processStore.getSelectedNode().props;
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user