diff --git a/src/api/expense-manage/index.js b/src/api/expense-manage/index.js
index 8126b9c..926bfc2 100644
--- a/src/api/expense-manage/index.js
+++ b/src/api/expense-manage/index.js
@@ -13,3 +13,9 @@ export const getAllocationDetail = (allocationId) => {
method: "get"
});
};
+export const getAllocationProcess = () => {
+ return request({
+ url: '/workflow/mosr/cost/allocation/process',
+ method: "get"
+ });
+};
diff --git a/src/api/project-demand/index.js b/src/api/project-demand/index.js
index 928514b..9a5a163 100644
--- a/src/api/project-demand/index.js
+++ b/src/api/project-demand/index.js
@@ -82,3 +82,18 @@ export const deleteDemand = (id) => {
method: "delete"
});
};
+//需求征集附件列表(归档)
+export const getRequirementAttachment = (params) => {
+ return request({
+ url: '/workflow/mosr/requirement/attachments',
+ method: "get",
+ params:params
+ });
+};
+export const uploadRequirementAttachment= (data) => {
+ return request({
+ url: '/workflow/mosr/requirement/upload',
+ method: "post",
+ data: data
+ });
+};
diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js
index eb54d16..0189260 100644
--- a/src/api/project-manage/index.js
+++ b/src/api/project-manage/index.js
@@ -27,6 +27,20 @@ export const resubmitApply = (data) => {
data: data
});
};
+export const getInitiationAttachment = (params) => {
+ return request({
+ url: '/workflow/mosr/project/approval/attachments',
+ method: "get",
+ params:params
+ });
+};
+export const uploadInitiationAttachment= (data) => {
+ return request({
+ url: '/workflow/mosr/project/approval/upload',
+ method: "post",
+ data: data
+ });
+};
//项目实施
export const getCheckDetail = (projectId) => {
return request({
@@ -77,13 +91,11 @@ export const addLedger = (data) => {
});
};
-export const getTags = (projectId) => {
+export const getTags = (params) => {
return request({
- url: '/workflow/mosr/project/implementation/tags',
+ url: '/workflow/mosr/project/implementation/option',
method: "get",
- params:{
- projectId:projectId
- }
+ params:params
});
};
//项目归档
@@ -114,3 +126,17 @@ export const getProjectConclusionProcess = () => {
method: "get"
});
};
+export const getFilingAttachment = (params) => {
+ return request({
+ url: '/workflow/mosr/project/filing/attachments',
+ method: "get",
+ params:params
+ });
+};
+export const uploadFilingAttachment= (data) => {
+ return request({
+ url: '/workflow/mosr/project/filing/upload',
+ method: "post",
+ data: data
+ });
+};
diff --git a/src/api/special-fund/index.js b/src/api/special-fund/index.js
index 2b82339..f76b2c4 100644
--- a/src/api/special-fund/index.js
+++ b/src/api/special-fund/index.js
@@ -1,11 +1,29 @@
import request from '@/utils/request.js'
export const getFundDetail = (specialFundId) => {
+ return request({
+ url: `/workflow/mosr/special/fund/from/${specialFundId}`,
+ method: "get"
+ });
+};
+export const getFundDetailProcess = (specialFundId) => {
return request({
url: `/workflow/mosr/special/fund/info/${specialFundId}`,
method: "get"
});
};
+export const getFundOption = () => {
+ return request({
+ url: '/workflow/mosr/special/fund/option',
+ method: "get"
+ });
+};
+export const getFundProcess = (specialFundId) => {
+ return request({
+ url: '/workflow/mosr/special/fund/process',
+ method: "get"
+ });
+};
export const addFund= (data) => {
return request({
url: '/workflow/mosr/special/fund',
diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue
index 0b74133..fa2cc3c 100644
--- a/src/components/AttachmentUpload.vue
+++ b/src/components/AttachmentUpload.vue
@@ -10,7 +10,7 @@
删除
-
+
@@ -33,7 +33,7 @@
diff --git a/src/components/TagAndFileUpload.vue b/src/components/TagAndFileUpload.vue
new file mode 100644
index 0000000..d29dac5
--- /dev/null
+++ b/src/components/TagAndFileUpload.vue
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
diff --git a/src/components/Tinymce.vue b/src/components/Tinymce.vue
index 0295cdb..d619231 100644
--- a/src/components/Tinymce.vue
+++ b/src/components/Tinymce.vue
@@ -74,7 +74,7 @@ const props = defineProps({
},
height:{
type: Number,
- default: 450
+ default: 650
}
})
const content = ref(props.value);
diff --git a/src/fvcomponents/fvTable/index.vue b/src/fvcomponents/fvTable/index.vue
index ed4a388..2ca8d2f 100644
--- a/src/fvcomponents/fvTable/index.vue
+++ b/src/fvcomponents/fvTable/index.vue
@@ -4,12 +4,12 @@
{{ btn.name }}
@@ -19,7 +19,9 @@
-
+
+
+
-
+
@@ -49,19 +52,19 @@
@@ -82,22 +85,22 @@
+ v-if="pagination"
+ :current-page="localData.query.pageNum"
+ :page-size="localData.query.pageSize"
+ :page-sizes="[10, 20, 30, 40,50]"
+ :total="localData.total"
+ @changeSize="handleSizeChange"
+ @goPage="handleCurrentChange"
+ >
diff --git a/src/stores/tagsview.js b/src/stores/tagsview.js
index b278540..268d088 100644
--- a/src/stores/tagsview.js
+++ b/src/stores/tagsview.js
@@ -56,11 +56,16 @@ export const useTagsView = defineStore('tagsView',()=>{
router.push(lastTagView.path)
}
+ const removeAllTagView = () => {
+ visitedViews.value.length = 0
+ }
+
return {
visitedViews,
addVisitedViews,
delVisitedViews,
delOtherVisitedViews,
- delViewAndGoView
+ delViewAndGoView,
+ removeAllTagView
}
})
diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue
index a1c26d1..b237412 100644
--- a/src/views/expense-management/share/add.vue
+++ b/src/views/expense-management/share/add.vue
@@ -97,12 +97,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
复制
@@ -113,6 +113,10 @@
添加一行
+
提交
返回
@@ -123,12 +127,17 @@
-
diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue
index 91565a4..211f087 100644
--- a/src/views/expense-management/share/index.vue
+++ b/src/views/expense-management/share/index.vue
@@ -8,7 +8,7 @@
+
+
diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue
index 1a6b071..b6929a5 100644
--- a/src/views/project-demand/summary/add.vue
+++ b/src/views/project-demand/summary/add.vue
@@ -8,11 +8,19 @@
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -139,18 +141,20 @@
- {{item.label}}
+ {{ item.label }}
+
- {{item.label}}
+ {{ item.label }}
+
@@ -230,13 +234,14 @@
存为草稿
- 发布
- 重新发布
+ 发布
+ 重新发布
diff --git a/src/views/project-management/filing/attachment.vue b/src/views/project-management/filing/attachment.vue
index 1ed9890..7653e0d 100644
--- a/src/views/project-management/filing/attachment.vue
+++ b/src/views/project-management/filing/attachment.vue
@@ -1,83 +1,214 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/project-management/filing/conclusion.vue b/src/views/project-management/filing/conclusion.vue
index 390e722..2487ef2 100644
--- a/src/views/project-management/filing/conclusion.vue
+++ b/src/views/project-management/filing/conclusion.vue
@@ -128,11 +128,12 @@ const getFileParam = (item) => {
}
}
const handleSubmit = async () => {
- if (JSON.stringify(file.value) === "{}") {
- attachment.value.validate()
- } else {
- attachment.value.clearValidate()
- }
+ // if (JSON.stringify(file.value) === "{}") {
+ // attachment.value.validate()
+ // return;
+ // } else {
+ // attachment.value.clearValidate()
+ // }
let files = []
let singleFile = {}
if (file.value.fileId !== undefined) {
@@ -150,6 +151,17 @@ const handleSubmit = async () => {
singleFile: singleFile,
projectId: route.query.projectId,
}
+ if (JSON.stringify(singleFile) === "{}") {
+ attachment.value.validate()
+ ElNotification({
+ title: '提示',
+ message: '请上传附件',
+ type: 'error'
+ })
+ return;
+ }else {
+ attachment.value.clearValidate()
+ }
console.log('params', params)
let res = await projectConclusion(params)
ElNotification({
@@ -168,11 +180,12 @@ const handleResubmit = () => {
let singleFile = {}
let otherFiles = []
let fileArray
- if (JSON.stringify(file.value) === "{}" || attachment.value.singleFile === null) {
- attachment.value.validate()
- } else {
- attachment.value.clearValidate()
- }
+ // if (JSON.stringify(file.value) === "{}" || attachment.value.singleFile === null) {
+ // attachment.value.validate()
+ // return;
+ // } else {
+ // attachment.value.clearValidate()
+ // }
if (attachment.value.singleFile !== null && name.value === 'Filing/edit') {
singleFile = {
fileId: attachment.value.singleFile.fileId
@@ -197,6 +210,17 @@ const handleResubmit = () => {
singleFile: singleFile,
projectId: route.query.projectId,
}
+ if (JSON.stringify(singleFile) === "{}") {
+ attachment.value.validate()
+ ElNotification({
+ title: '提示',
+ message: '请上传附件',
+ type: 'error'
+ })
+ return;
+ }else {
+ attachment.value.clearValidate()
+ }
console.log('重新提交params', params)
resubmitConclusion(params).then(res => {
ElNotification({
@@ -227,11 +251,6 @@ const getDetailInfo = async () => {
}
const init = () => {
getProjectConclusionProcess().then(res => {
- ElNotification({
- title: '提示',
- message: res.msg,
- type: res.code === 1000 ? 'success' : 'error'
- })
processDiagramViewer.value = false
if (res.code === 1000) {
let data = res.data
@@ -246,6 +265,12 @@ const init = () => {
nextTick(() => {
processDiagramViewer.value = true
})
+ }else {
+ ElNotification({
+ title: '提示',
+ message: res.msg,
+ type: 'error'
+ })
}
})
}
diff --git a/src/views/project-management/filing/detail.vue b/src/views/project-management/filing/detail.vue
index b7f1460..b07c02d 100644
--- a/src/views/project-management/filing/detail.vue
+++ b/src/views/project-management/filing/detail.vue
@@ -5,7 +5,6 @@
:formData="commonForm.formData"
:data="commonForm"
:processViewer="commonProvessViewer"
- :companyOption="companyOption"
v-show="showActive == '00'"
:loading="loading"
/>
@@ -24,52 +23,35 @@
+
+
diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue
index b7a5732..88e2215 100644
--- a/src/views/project-management/implementation/attachment.vue
+++ b/src/views/project-management/implementation/attachment.vue
@@ -1,12 +1,12 @@
-
+
-
+
@@ -27,7 +27,7 @@
diff --git a/src/views/project-management/implementation/check.vue b/src/views/project-management/implementation/check.vue
index 7a820a2..585f157 100644
--- a/src/views/project-management/implementation/check.vue
+++ b/src/views/project-management/implementation/check.vue
@@ -85,6 +85,7 @@ const handleSubmit = (instance) => {
if (!valid) return
if(JSON.stringify(file.value) === "{}"){
attachment.value.validate()
+ return;
}else {
attachment.value.clearValidate()
}
@@ -115,6 +116,17 @@ const handleSubmit = (instance) => {
singleFile: singleFile,
projectId:route.query.projectId,
}
+ if (JSON.stringify(singleFile) === "{}") {
+ attachment.value.validate()
+ ElNotification({
+ title: '提示',
+ message: '请上传附件',
+ type: 'error'
+ })
+ return;
+ }else {
+ attachment.value.clearValidate()
+ }
console.log('params-提交',params)
let res = await projectCheck(params)
ElNotification({
@@ -137,11 +149,12 @@ const handleResubmit = (instance) => {
let singleFile = {}
let otherFiles = []
let fileArray
- if (JSON.stringify(file.value) === "{}"||attachment.value.singleFile===null) {
- attachment.value.validate()
- } else {
- attachment.value.clearValidate()
- }
+ // if (JSON.stringify(file.value) === "{}"||attachment.value.singleFile===null) {
+ // attachment.value.validate()
+ // return;
+ // } else {
+ // attachment.value.clearValidate()
+ // }
if (attachment.value.singleFile!==null&&name.value === 'Implementation/edit') {
singleFile = {
fileId: attachment.value.singleFile.fileId
@@ -166,6 +179,17 @@ const handleResubmit = (instance) => {
singleFile: singleFile,
projectId: route.query.projectId,
}
+ if (JSON.stringify(singleFile) === "{}") {
+ attachment.value.validate()
+ ElNotification({
+ title: '提示',
+ message: '请上传附件',
+ type: 'error'
+ })
+ return;
+ }else {
+ attachment.value.clearValidate()
+ }
console.log('重新提交params', params)
resubmitCheck(params).then(res => {
ElNotification({
@@ -197,11 +221,6 @@ const getDetailInfo = async () => {
}
const init = () => {
getProjectCheckProcess(route.query.projectId).then(res => {
- ElNotification({
- title: '提示',
- message: res.msg,
- type: res.code === 1000 ? 'success' : 'error'
- })
processDiagramViewer.value = false
if (res.code === 1000) {
let data = res.data
@@ -216,6 +235,12 @@ const init = () => {
nextTick(() => {
processDiagramViewer.value = true
})
+ }else {
+ ElNotification({
+ title: '提示',
+ message: res.msg,
+ type: 'error'
+ })
}
})
}
diff --git a/src/views/project-management/implementation/detail.vue b/src/views/project-management/implementation/detail.vue
index 210b912..29333c4 100644
--- a/src/views/project-management/implementation/detail.vue
+++ b/src/views/project-management/implementation/detail.vue
@@ -5,7 +5,6 @@
:formData="commonForm.formData"
:data="commonForm"
:processViewer="commonProvessViewer"
- :companyOption="companyOption"
v-show="showActive == '00'"
:loading="loading"
/>
@@ -21,65 +20,42 @@
diff --git a/src/views/special-fund/add.vue b/src/views/special-fund/add.vue
index d0d431d..259c35b 100644
--- a/src/views/special-fund/add.vue
+++ b/src/views/special-fund/add.vue
@@ -5,16 +5,16 @@
-
+
+ v-model:value="formData.introduce"/>
-
@@ -34,11 +34,11 @@
+
+
\ No newline at end of file
diff --git a/src/views/system/department/edit.vue b/src/views/system/department/edit.vue
new file mode 100644
index 0000000..3d3bccd
--- /dev/null
+++ b/src/views/system/department/edit.vue
@@ -0,0 +1,148 @@
+
+
+ form = e">
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/department/index.vue b/src/views/system/department/index.vue
index 8db2d41..b063ea9 100644
--- a/src/views/system/department/index.vue
+++ b/src/views/system/department/index.vue
@@ -33,18 +33,25 @@
+
+
+ 编辑
+
+
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index bdf3eee..c4c2eca 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -135,18 +135,18 @@ const tableConfig = reactive({
showOverflowTooltip: false,
currentRender: ({row, index}) => {
let btn = [{label: '修改', auth: auths.edit, func: ()=>handleEdit(row) , type: 'primary'}]
- btn.push(
- {
- label: '分配用户',
- auth: auths.edit,
- func: ()=>handleAssign(row),
- type: 'primary'
- }
- )
+ // btn.push(
+ // {
+ // label: '分配用户',
+ // auth: auths.edit,
+ // func: ()=>handleAssign(row),
+ // type: 'primary'
+ // }
+ // )
if(authStore.roles.includes('superAdmin')) {
- btn.push({label: '删除', auth: auths.edit, func: ()=>handleDel(row) , type: 'danger'})
+ btn.push({label: '删除', auth: auths.del, func: ()=>handleDel(row) , type: 'danger'})
} else if(!row.template) {
- btn.push({label: '删除', auth: auths.edit, func: ()=>handleDel(row) , type: 'danger'})
+ btn.push({label: '删除', auth: auths.del, func: ()=>handleDel(row) , type: 'danger'})
}
return (
@@ -200,7 +200,7 @@ const formatDataScope = (dataScope) => {
const handleAdd = () => {
router.push({
- path: '/system/roleadd',
+ name: 'Roleadd',
query: {
isAdd: 1
}
@@ -209,7 +209,7 @@ const handleAdd = () => {
const handleEdit = (row) => {
router.push({
- path: '/system/roleedit',
+ name: 'Roleedit',
query: {
id: row.roleId
}
@@ -221,14 +221,14 @@ const handleAssign = (row) => {
}
const handleDel = (row) => {
- if (!(row.template && authStore.roles.includes('superAdmin'))) {
- ElNotification({
- title: '提示',
- message: '模版角色只能由超级管理员删除!',
- type: 'warning'
- })
- return
- }
+ // if (!(row.template && authStore.roles.includes('superAdmin'))) {
+ // ElNotification({
+ // title: '提示',
+ // message: '模版角色只能由超级管理员删除!',
+ // type: 'warning'
+ // })
+ // return
+ // }
ElMessageBox.confirm('确定删除该条数据吗?', '确定删除', {
type: 'warning',
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 9ed57b2..45b2763 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -119,10 +119,10 @@ const tableConfig = reactive({
currentRender: ({row, index}) => {
return (
- handleEdit(row)}>编辑
+ handleEdit(row)} v-perm={['admin:user:edit']}>编辑
{
row.userType != 0 ?
- handleDel(row)}>删除 :
+ handleDel(row)} v-perm={['admin:user:del']}>删除 :
null
}
diff --git a/src/views/workflow/process/ProcessEdit.vue b/src/views/workflow/process/ProcessEdit.vue
index e86c471..77e5700 100644
--- a/src/views/workflow/process/ProcessEdit.vue
+++ b/src/views/workflow/process/ProcessEdit.vue
@@ -15,8 +15,6 @@
-
-
@@ -89,7 +87,10 @@ const validOptions = ref([
{title: '审批流程', description: '', icon: '', status: ''},
// {title: '扩展设置', description: '', icon: '', status: ''}
])
-
+onActivated(()=>{
+ activeSelect.value = 'processDesign'
+ init()
+})
const errTitle = computed(() => {
if (validResult.finished && !validResult.success) {
diff --git a/src/views/workflow/process/ProcessSetting.vue b/src/views/workflow/process/ProcessSetting.vue
index 2b53d68..ef8ac82 100644
--- a/src/views/workflow/process/ProcessSetting.vue
+++ b/src/views/workflow/process/ProcessSetting.vue
@@ -28,7 +28,6 @@ const processData = computed(() => {
return processStore.getDesign()
})
-
const validate = () => {
return []
}
diff --git a/src/views/workflow/process/common/InsertButton.vue b/src/views/workflow/process/common/InsertButton.vue
index c9344e9..02e3dce 100644
--- a/src/views/workflow/process/common/InsertButton.vue
+++ b/src/views/workflow/process/common/InsertButton.vue
@@ -63,27 +63,27 @@ const nullBlockClick = (e) => {
disVisible()
}
}
-const addApprovalNode = debounce(() => {
+const addApprovalNode = () => {
emit('insertNode', "APPROVAL")
disVisible()
-})
+}
-const addCcNode = debounce(() => {
+const addCcNode = () => {
emit('insertNode', "CC")
disVisible()
-})
-const addDelayNode = debounce(() => {
+}
+const addDelayNode =() => {
emit('insertNode', "DELAY")
disVisible()
-})
-const addConditionsNode = debounce(() => {
+}
+const addConditionsNode = () => {
emit('insertNode', "CONDITIONS")
disVisible()
-})
-const addConcurrentsNode = debounce(() => {
+}
+const addConcurrentsNode = () => {
emit('insertNode', "CONCURRENTS")
disVisible()
-})
+}
const addTriggerNode = () => {
emit('insertNode', "TRIGGER")
disVisible()
diff --git a/src/views/workflow/process/config/FormAuthorityConfig.vue b/src/views/workflow/process/config/FormAuthorityConfig.vue
index ea23042..97dd8f2 100644
--- a/src/views/workflow/process/config/FormAuthorityConfig.vue
+++ b/src/views/workflow/process/config/FormAuthorityConfig.vue
@@ -91,7 +91,6 @@ const formPermsLoadMosr = (oldPermMap, perms) => {
old.required = perm.required;
formPerms.value.push(old);
} else {
- console.log(perm)
if (perm.id === 'fileList'){
formPerms.value.push({
id: perm.id, //todo ,id 就是字段名称
diff --git a/src/views/workflow/process/index.vue b/src/views/workflow/process/index.vue
index ae68949..085238f 100644
--- a/src/views/workflow/process/index.vue
+++ b/src/views/workflow/process/index.vue
@@ -16,9 +16,9 @@
搜索
- 新增
+ 新增
重置
- 导出
+ 导出
diff --git a/vite.config.js b/vite.config.js
index 608feaa..fc3db23 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -69,8 +69,8 @@ export default defineConfig({
open: true,
proxy: {
// '/api/workflow': {
- // target: 'http://frp.feashow.cn:31800/',
- // // target: 'http://clay.frp.feashow.cn/',
+ // // target: 'http://frp.feashow.cn:31800/',
+ // target: 'http://clay.frp.feashow.cn/',
// // target: 'http://192.168.31.175:8000',
// changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, '')