diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss
index 9fa5a86..971fcd1 100644
--- a/src/assets/styles/index.scss
+++ b/src/assets/styles/index.scss
@@ -479,6 +479,11 @@ html, body, #app, .el-container, .el-aside, .el-main {
height: 1.4em;
margin-right: 5px;
}
+.file-svg{
+ width: 1.4em;
+ height: 1.4em;
+ fill: #BEA266;
+}
.middle-icon {
width: 1.4em;
height: 1.4em;
diff --git a/src/components/DetailComponent/ProjectApply.vue b/src/components/DetailComponent/ProjectApply.vue
index 1796d7b..efca74e 100644
--- a/src/components/DetailComponent/ProjectApply.vue
+++ b/src/components/DetailComponent/ProjectApply.vue
@@ -1,8 +1,24 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17,7 +33,7 @@
-
{{ projectPersonUserList?.length !== 0 ? '更改' : getProjectPerson(projectPersonUserList) ? '更改' : '请选择' }}
@@ -91,8 +107,8 @@
- 提交
- 重新提交
+ 提交
+ 重新提交
返回
@@ -160,6 +176,7 @@ import UserPicker from "@/views/workflow/process/common/UserPicker.vue";
const router = useRouter()
const route = useRoute()
+const formRef = ref()
const changeDiagram = ref(false)
const showSingleTable = ref(false)
const projectChargePersonUserList = ref([])
@@ -211,11 +228,11 @@ const pageInfo = reactive({
pageNum: 1,
pageSize: 10,
})
-// const rules = reactive({
-// preProcess: [{required: true, message: '请选择前置流程', trigger: 'blur'}],
-// projectChargePerson: [{required: true, message: '请选择项目负责人', trigger: 'blur'}],
-// projectPerson: [{required: true, message: '请选择项目成员', trigger: 'blur'}],
-// })
+const rules = reactive({
+ actualEconomicEstimate: [{required: true, message: '请输入实际经费预算', trigger: ['blur','change']}],
+ // projectChargePerson: [{required: true, message: '请选择项目负责人', trigger: 'blur'}],
+ // projectPerson: [{required: true, message: '请选择项目成员', trigger: 'blur'}],
+})
const tagsViewStore = useTagsView()
const processStore = useProcessStore()
const localProjectPerson = ref([])
@@ -489,106 +506,118 @@ const getFileParam = (item) => {
tag: item.tag
}
}
-const handleSubmit = async () => {
- let files = []
- if (props.mode === 'resubmit') {
- attachment.value.allFileList.forEach(item => {
- files.push(getFileParam(item))
- })
- } else {
- otherFileList.value.forEach(item => {
- files.push(getFileParam(item))
- })
- }
- // console.info("🚀 ~method:handleSubmit -----", files,attachment.value.isHaveOneFile)
- if (!attachment.value.isHaveOneFile) {
- attachment.value.validate()
+const handleSubmit = async (instance) => {
+ if (!instance) return
+ instance.validate(async (valid) => {
+ if (!valid) {
+ ElNotification({
+ title: '提示',
+ message: '请完善数据,再提交!',
+ type: 'error'
+ })
+ return;
+ }
+ let files = []
+ if (props.mode === 'resubmit') {
+ attachment.value.allFileList.forEach(item => {
+ files.push(getFileParam(item))
+ })
+ } else {
+ otherFileList.value.forEach(item => {
+ files.push(getFileParam(item))
+ })
+ }
+ // console.info("🚀 ~method:handleSubmit -----", files,attachment.value.isHaveOneFile)
+ if (!attachment.value.isHaveOneFile) {
+ attachment.value.validate()
+ ElNotification({
+ title: '提示',
+ message: '请上传附件',
+ type: 'error'
+ })
+ return;
+ } else {
+ attachment.value.clearValidate()
+ }
+ let projectPersonIds = []
+ for (const item of projectPersonUserList.value) {
+ projectPersonIds.push(parseInt(item.id))
+ }
+ let params = {
+ deploymentId: deploymentId.value,
+ requirementId: route.query.id,
+ fileList: files,
+ // singleFile: attachment.value.singleFile,
+ projectId: projectId.value,
+ actualEconomicEstimate: localFormData.value.actualEconomicEstimate,
+ preProcess: JSON.stringify(localFormData.value.preProcess)
+ }
+ if (sessionParams.value.preProcess && !localFormData.value.preProcess) {
+ params.preProcess = JSON.stringify(sessionParams.value.preProcess)
+ }
+ console.log('params',params)
+ let res
+ if (props.step === '20') {
+ if (projectChargePersonUserList.value && projectChargePersonUserList.value.length === 0) {
+ ElNotification({
+ title: '提示',
+ message: '请选择项目负责人!',
+ type: 'error'
+ })
+ return;
+ }
+ if (projectPersonUserList.value && projectPersonUserList.value.length === 0) {
+ ElNotification({
+ title: '提示',
+ message: '请选择项目成员!',
+ type: 'error'
+ })
+ return;
+ }
+ params.projectChargePerson = parseInt(projectChargePersonUserList.value[0].id)
+ params.projectPersonIds = projectPersonIds
+ params.optionalChargeLeadership = optionalChargeLeadershipList.value
+ if (props.mode === 'resubmit') {
+ res = await resubmitApply(params)
+ } else {
+ res = await projectApply(params)
+ }
+ } else if (props.step === '40') {
+ params.optionalChargeLeadership = optionalChargeLeadershipList.value
+ if (props.mode === 'resubmit') {
+ res = await resubmitCheck(params)
+ } else {
+ res = await projectCheck(params)
+ }
+ } else if (props.step === '50') {
+ if (props.mode === 'resubmit') {
+ res = await resubmitConclusion(params)
+ } else {
+ res = await projectConclusion(params)
+ }
+ }
ElNotification({
title: '提示',
- message: '请上传附件',
- type: 'error'
+ message: res.msg,
+ type: res.code === 1000 ? 'success' : 'error'
})
- return;
- } else {
- attachment.value.clearValidate()
- }
- let projectPersonIds = []
- for (const item of projectPersonUserList.value) {
- projectPersonIds.push(parseInt(item.id))
- }
- let params = {
- deploymentId: deploymentId.value,
- requirementId: route.query.id,
- fileList: files,
- // singleFile: attachment.value.singleFile,
- projectId: projectId.value,
- preProcess: JSON.stringify(localFormData.value.preProcess)
- }
- if (sessionParams.value.preProcess && !localFormData.value.preProcess) {
- params.preProcess = JSON.stringify(sessionParams.value.preProcess)
- }
- // console.log(params.preProcess)
- let res
- if (props.step === '20') {
- if (projectChargePersonUserList.value && projectChargePersonUserList.value.length === 0) {
- ElNotification({
- title: '提示',
- message: '请选择项目负责人!',
- type: 'error'
- })
- return;
+ if (res.code === 1000) {
+ tagsViewStore.delVisitedViews(router.currentRoute.value.path)
+ if (props.step === '20') {
+ await router.push({
+ name: 'Initiation'
+ })
+ } else if (props.step === '40') {
+ await router.push({
+ name: 'Implementation'
+ })
+ } else if (props.step === '50') {
+ await router.push({
+ name: 'Filing'
+ })
+ }
}
- if (projectPersonUserList.value && projectPersonUserList.value.length === 0) {
- ElNotification({
- title: '提示',
- message: '请选择项目成员!',
- type: 'error'
- })
- return;
- }
- params.projectChargePerson = parseInt(projectChargePersonUserList.value[0].id)
- params.projectPersonIds = projectPersonIds
- params.optionalChargeLeadership = optionalChargeLeadershipList.value
- if (props.mode === 'resubmit') {
- res = await resubmitApply(params)
- } else {
- res = await projectApply(params)
- }
- } else if (props.step === '40') {
- params.optionalChargeLeadership = optionalChargeLeadershipList.value
- if (props.mode === 'resubmit') {
- res = await resubmitCheck(params)
- } else {
- res = await projectCheck(params)
- }
- } else if (props.step === '50') {
- if (props.mode === 'resubmit') {
- res = await resubmitConclusion(params)
- } else {
- res = await projectConclusion(params)
- }
- }
- ElNotification({
- title: '提示',
- message: res.msg,
- type: res.code === 1000 ? 'success' : 'error'
})
- if (res.code === 1000) {
- tagsViewStore.delVisitedViews(router.currentRoute.value.path)
- if (props.step === '20') {
- await router.push({
- name: 'Initiation'
- })
- } else if (props.step === '40') {
- await router.push({
- name: 'Implementation'
- })
- } else if (props.step === '50') {
- await router.push({
- name: 'Filing'
- })
- }
- }
}
const init = async () => {
let id = projectId.value
diff --git a/src/components/DetailComponent/ProjectAttachment.vue b/src/components/DetailComponent/ProjectAttachment.vue
index 364a267..43beee8 100644
--- a/src/components/DetailComponent/ProjectAttachment.vue
+++ b/src/components/DetailComponent/ProjectAttachment.vue
@@ -1,27 +1,35 @@
-
+
-
-
-
-
-
-
-
- 搜索
- 上传附件
-
-
-
- 上传附件
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29,24 +37,39 @@
-
-
+
+ 标签:
+
+ 确定
+ 取消
+
+
-
diff --git a/src/components/Tinymce.vue b/src/components/Tinymce.vue
index f9fa88d..c38dcd4 100644
--- a/src/components/Tinymce.vue
+++ b/src/components/Tinymce.vue
@@ -56,7 +56,6 @@ const props = defineProps({
plugins: {
type: [String, Array],
default:
- //
"preview searchreplace autolink directionality visualblocks visualchars fullscreen image axupimgs link media template code codesample table pagebreak nonbreaking anchor insertdatetime advlist lists wordcount autosave",
},
toolbar: {
diff --git a/src/components/steps/index.vue b/src/components/steps/index.vue
index 2d305ca..fa1d023 100644
--- a/src/components/steps/index.vue
+++ b/src/components/steps/index.vue
@@ -279,7 +279,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -334,7 +334,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/expense-management/project-ledger/index.vue b/src/views/expense-management/project-ledger/index.vue
index 2256280..048147e 100644
--- a/src/views/expense-management/project-ledger/index.vue
+++ b/src/views/expense-management/project-ledger/index.vue
@@ -204,7 +204,7 @@ const tableConfig = reactive({
},
{
prop: 'economicEstimate',
- label: '经费预算(元)',
+ label: '预估经费预算',
align: 'center',
width: 150,
currentRender:({row})=>{
diff --git a/src/views/plan/detail.vue b/src/views/plan/detail.vue
index 3796522..3c03d5e 100644
--- a/src/views/plan/detail.vue
+++ b/src/views/plan/detail.vue
@@ -130,7 +130,7 @@
--
-
+
{{ toThousands(scope.row.economicEstimate) }}
diff --git a/src/views/project-management/filing/attachment.vue b/src/views/project-management/filing/attachment.vue
index 4110a5e..ed272ae 100644
--- a/src/views/project-management/filing/attachment.vue
+++ b/src/views/project-management/filing/attachment.vue
@@ -157,7 +157,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -212,7 +212,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/filing/index.vue b/src/views/project-management/filing/index.vue
index 272a830..45fd58a 100644
--- a/src/views/project-management/filing/index.vue
+++ b/src/views/project-management/filing/index.vue
@@ -275,7 +275,7 @@ const tableConfig = reactive({
},
{
prop: 'economicEstimate',
- label: '经费预算(元)',
+ label: '预估经费预算',
align: 'center',
width: 150,
currentRender:({row})=>{
diff --git a/src/views/project-management/filing/upload.vue b/src/views/project-management/filing/upload.vue
index 2f050fd..22f13e2 100644
--- a/src/views/project-management/filing/upload.vue
+++ b/src/views/project-management/filing/upload.vue
@@ -168,7 +168,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -223,7 +223,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/account.vue b/src/views/project-management/implementation/account.vue
index 003e941..725df77 100644
--- a/src/views/project-management/implementation/account.vue
+++ b/src/views/project-management/implementation/account.vue
@@ -163,7 +163,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -218,7 +218,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue
index 466f3d7..ed1d928 100644
--- a/src/views/project-management/implementation/attachment.vue
+++ b/src/views/project-management/implementation/attachment.vue
@@ -177,7 +177,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -232,7 +232,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue
index 1ff11b2..f12e1c2 100644
--- a/src/views/project-management/implementation/index.vue
+++ b/src/views/project-management/implementation/index.vue
@@ -292,7 +292,7 @@ const tableConfig = reactive({
},
{
prop: 'economicEstimate',
- label: '经费预算(元)',
+ label: '预估经费预算',
align: 'center',
width: 150,
currentRender:({row})=>{
diff --git a/src/views/project-management/implementation/phase.vue b/src/views/project-management/implementation/phase.vue
index 601114e..f391f61 100644
--- a/src/views/project-management/implementation/phase.vue
+++ b/src/views/project-management/implementation/phase.vue
@@ -230,7 +230,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -285,7 +285,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/phaseDetail.vue b/src/views/project-management/implementation/phaseDetail.vue
index 716ee6f..3772162 100644
--- a/src/views/project-management/implementation/phaseDetail.vue
+++ b/src/views/project-management/implementation/phaseDetail.vue
@@ -170,7 +170,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -225,7 +225,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/share.vue b/src/views/project-management/implementation/share.vue
index 5b5856d..12a99ea 100644
--- a/src/views/project-management/implementation/share.vue
+++ b/src/views/project-management/implementation/share.vue
@@ -145,7 +145,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -200,7 +200,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/upload.vue b/src/views/project-management/implementation/upload.vue
index 557e657..19cf86d 100644
--- a/src/views/project-management/implementation/upload.vue
+++ b/src/views/project-management/implementation/upload.vue
@@ -182,7 +182,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -237,7 +237,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/implementation/uploadFee.vue b/src/views/project-management/implementation/uploadFee.vue
index 8ef07cc..3b8dadd 100644
--- a/src/views/project-management/implementation/uploadFee.vue
+++ b/src/views/project-management/implementation/uploadFee.vue
@@ -253,7 +253,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 6
@@ -315,7 +315,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
diff --git a/src/views/project-management/initiation/index.vue b/src/views/project-management/initiation/index.vue
index e420462..c7f9f5a 100644
--- a/src/views/project-management/initiation/index.vue
+++ b/src/views/project-management/initiation/index.vue
@@ -274,7 +274,7 @@ const tableConfig = reactive({
},
{
prop: 'economicEstimate',
- label: '经费预算(元)',
+ label: '预估经费预算',
align: 'center',
width: 150,
currentRender:({row})=>{
diff --git a/src/views/project-management/mobledetail/StepsMoblie.vue b/src/views/project-management/mobledetail/StepsMoblie.vue
index 28290cc..a7eaaf2 100644
--- a/src/views/project-management/mobledetail/StepsMoblie.vue
+++ b/src/views/project-management/mobledetail/StepsMoblie.vue
@@ -259,7 +259,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 24
@@ -321,7 +321,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 24
diff --git a/src/views/project-management/phaseDetailMoblie/index.vue b/src/views/project-management/phaseDetailMoblie/index.vue
index b0c0a88..fa54783 100644
--- a/src/views/project-management/phaseDetailMoblie/index.vue
+++ b/src/views/project-management/phaseDetailMoblie/index.vue
@@ -167,7 +167,7 @@ const schema = computed(() => {
)
},
{
- label: '经费预算(元)',
+ label: '预估经费预算',
prop: 'economicEstimate',
colProps: {
span: 24
@@ -222,7 +222,7 @@ const schema = computed(() => {
}
},
{
- label: '申请总部专项资金(元)',
+ label: '预估专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 24