From d1a8077eeab293194fa6bb8d8271e5a616ffe18e Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sun, 16 Jun 2024 19:34:08 +0800 Subject: [PATCH 01/55] =?UTF-8?q?fix=20:=20=E6=B5=81=E7=A8=8B=E5=9B=BE?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailComponent/CompanyPicker.vue | 16 ++++++++++++---- src/views/expense-management/share/add.vue | 4 ++-- src/views/project-demand/requirement/add.vue | 5 +++-- src/views/project-demand/summary/add.vue | 4 ++-- .../project-management/implementation/phase.vue | 4 ++-- src/views/special-fund/add.vue | 4 ++-- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index 49b0e28..af633de 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -12,6 +12,17 @@ 全选 不全选 + + + + + + + @@ -75,9 +86,8 @@ const props = defineProps({ type: Boolean } }); -const radio = ref(0); +const checkBtn=ref(1) const isChooseAll = ref(true); -const chooseId = ref(0); let selectItem = reactive({ type: -1, value: "0" @@ -90,8 +100,6 @@ const filterText = ref(""); const dataList = ref([]); const defaultChecked = ref([]); const tree = ref([]); -const isSearch = ref(false); -const expandedKeys = ref([]); const defaultProps = { value: "value", label: "label", diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue index 2b3cc74..030fab9 100644 --- a/src/views/expense-management/share/add.vue +++ b/src/views/expense-management/share/add.vue @@ -125,8 +125,8 @@ 添加一行
-
- +
+
流程图
-
- +
+
流程图
+
提交 重新提交 diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue index 0b6a6c5..ef3ca6a 100644 --- a/src/views/project-demand/summary/add.vue +++ b/src/views/project-demand/summary/add.vue @@ -237,8 +237,8 @@ @getOtherFile="getOtherFile" :showFileList="true" :formData="formData" :preview="name === 'Summary/edit'"/>
-
- +
+
流程图
-
- +
+
流程图
-
- +
+
流程图
Date: Sun, 16 Jun 2024 19:50:17 +0800 Subject: [PATCH 02/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E6=94=B9=E6=89=80?= =?UTF-8?q?=E5=B1=9E=E5=85=AC=E5=8F=B8=E9=80=89=E6=8B=A9=E6=A1=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailComponent/CompanyPicker.vue | 22 +++++++++---------- .../DetailComponent/SpecialFundDetail.vue | 11 ++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index af633de..3aafc60 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -12,17 +12,17 @@ 全选 不全选 - - - - - - - + + + + + + + + + + + diff --git a/src/components/DetailComponent/SpecialFundDetail.vue b/src/components/DetailComponent/SpecialFundDetail.vue index 56e523f..f9c0298 100644 --- a/src/components/DetailComponent/SpecialFundDetail.vue +++ b/src/components/DetailComponent/SpecialFundDetail.vue @@ -96,6 +96,7 @@ import {downloadFile} from "@/api/project-demand"; const changeDiagram = ref(false) const emit = defineEmits(['getInfo', "update:formData"]) const form = ref() +const router = useRouter() const props = defineProps({ formData: { @@ -194,6 +195,16 @@ const fileTable = reactive({ } ] }) +const handleView=(row)=>{ + router.push({ + name: 'Implementation/detail', + query: { + id: row.requirementId, + projectId: row.projectId, + // step: '40' + } + }) +} const handleDownload = (row) => { downloadFile(row.fileId).then(res => { const blob = new Blob([res]) From 009d73ce8682b5e7a7056eabb445ee885aa295fc Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sun, 16 Jun 2024 20:34:46 +0800 Subject: [PATCH 03/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=B4=B9=E7=94=A8=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/expense-management/ledger/index.vue | 2 +- .../implementation/account.vue | 36 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue index 7856719..df7d90e 100644 --- a/src/views/expense-management/ledger/index.vue +++ b/src/views/expense-management/ledger/index.vue @@ -36,7 +36,7 @@ const searchConfig = reactive([ colProps: {} }, { label: '项目费用', - prop: 'requirementName', + prop: 'projectCost', component: shallowRef(fvSelect), props: { placeholder: '请选择项目费用查询', diff --git a/src/views/project-management/implementation/account.vue b/src/views/project-management/implementation/account.vue index 79f2547..2016ad0 100644 --- a/src/views/project-management/implementation/account.vue +++ b/src/views/project-management/implementation/account.vue @@ -58,9 +58,10 @@ const searchConfig = reactive([ valueFormat: 'YYYY-MM-DD HH:mm:ss', }, colProps: {} - }, { + }, + { label: '项目费用', - prop: 'requirementName', + prop: 'projectCost', component: shallowRef(fvSelect), props: { placeholder: '请选择项目费用查询', @@ -68,7 +69,8 @@ const searchConfig = reactive([ filterable: true, cacheKey: 'project_cost', } - }, { + }, + { label: '项目阶段', prop: 'researchStage', component: shallowRef(fvSelect), @@ -109,7 +111,7 @@ const tableConfig = reactive({ prop: 'name', type: 'index', label: '序号', - width:'80', + width: '80', align: 'center' }, { @@ -121,13 +123,10 @@ const tableConfig = reactive({ prop: 'projectCost', label: '项目费用', align: 'center', + showOverflowTooltip: false, currentRender: ({row, index}) => { - if (row.projectCost !== null&&row.projectCost !== null&&row.projectCost!==undefined) { - if(typeof Number(row.projectCost) === 'number'){ - return '--' - }else { - return () - } + if (row.projectCost !== null && row.projectCost !== null && row.projectCost !== undefined) { + return () } else { return '--' } @@ -137,8 +136,9 @@ const tableConfig = reactive({ prop: 'researchStage', label: '项目阶段', align: 'center', + showOverflowTooltip: false, currentRender: ({row, index}) => { - if (row.researchStage&&row.researchStage !== null&&row.researchStage!==undefined) { + if (row.researchStage && row.researchStage !== null && row.researchStage !== undefined) { return () } else { return '--' @@ -154,20 +154,20 @@ const tableConfig = reactive({ prop: 'afterTax', label: '税后余额(元)', align: 'center', - currentRender:({row})=>{ + currentRender: ({row}) => { return {toThousands(row.afterTax)} } } ], api: '/workflow/mosr/expense/ledger', params: { - projectId:route.query.id + projectId: route.query.id }, btns: [ - {name: '上传费用', key: 'add', color: '#DED0B2',auth: ''} + {name: '上传费用', key: 'add', color: '#DED0B2', auth: ''} ] }) -const tableIns=ref() +const tableIns = ref() const getBaseInfo = async () => { try { const {code, data} = await getBaseInfoApi(route.query.id) @@ -188,14 +188,14 @@ const handleUploadFee = () => { router.push({ name: 'Implementation/uploadFee', query: { - id:route.query.id + id: route.query.id } }) } const search = (val) => { - console.log('val',val) - tableConfig.params = {...val} + console.log('val', val) + tableConfig.params = {...val, projectId: route.query.id} tableIns.value.refresh() } From b162bb89775b2b9cbf702ba3c982d14f270c9d7e Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sun, 16 Jun 2024 21:08:04 +0800 Subject: [PATCH 04/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E5=88=86=E6=91=8A=E6=97=B6=E9=97=B4=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/expense-management/share/index.vue | 48 ++++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue index 66d9728..d8db8d1 100644 --- a/src/views/expense-management/share/index.vue +++ b/src/views/expense-management/share/index.vue @@ -13,6 +13,35 @@ import { ElNotification} from "element-plus"; import {deleteAllocation} from "@/api/expense-manage"; const router = useRouter(); +const shortcuts = [ + { + text: '上周', + value: () => { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) + return [start, end] + }, + }, + { + text: '上月', + value: () => { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) + return [start, end] + }, + }, + { + text: '三月前', + value: () => { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) + return [start, end] + }, + }, +] const searchConfig = reactive([ { label: '分摊名称', @@ -32,18 +61,23 @@ const searchConfig = reactive([ placeholder: '请选择分摊月份', clearable: true, type:'month', - valueFormat:"YYYY-MM-DD HH:mm:ss" + format: 'YYYY-MM', + valueFormat:"YYYY-MM" }, colProps: {} }, { label: '生成时间', - prop: 'generationTime', + prop: 'dateValue', component: 'el-date-picker', props: { - placeholder: '请选择生成时间', clearable: true, + type: 'daterange', + startPlaceholder: '开始日期', + endPlaceholder: '结束日期', + format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD', + shortcuts: shortcuts }, colProps: {} }, @@ -147,7 +181,13 @@ const tableConfig = reactive({ }) const search = (val) => { - tableConfig.params = {...val} + let obj = {...val} + if (obj.dateValue) { + obj.startGenerationTime = obj.dateValue[0] + obj.endGenerationTime = obj.dateValue[1] + delete obj.dateValue + } + tableConfig.params = obj tableIns.value.refresh() } const handleAdd = () => { From 0c36801e83a476a25445a65de0516383bedf08e6 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sun, 16 Jun 2024 21:41:20 +0800 Subject: [PATCH 05/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=B4=B9=E7=94=A8=E5=88=86=E6=91=8A=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86=E5=9E=82=E7=9B=B4=E5=B1=85=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/expense-management/share/add.vue | 93 +++++++++++++--------- 1 file changed, 56 insertions(+), 37 deletions(-) diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue index 030fab9..a53b35f 100644 --- a/src/views/expense-management/share/add.vue +++ b/src/views/expense-management/share/add.vue @@ -93,7 +93,7 @@ - + - +
diff --git a/src/views/system/role/add.vue b/src/views/system/role/add.vue index 86d6c9a..faff5af 100644 --- a/src/views/system/role/add.vue +++ b/src/views/system/role/add.vue @@ -38,7 +38,7 @@ import { useTagsView } from '@/stores/tagsview.js' import { useAuthStore } from '@/stores/userstore.js' import fvRadio from '@/fvcomponents/fvRadio/index.vue' import { ElLoading, ElNotification } from 'element-plus'; -import { getMenuOpt } from '@/api/system/menuman.js' +import { getMenuOptRole } from '@/api/system/menuman.js' import { getRoleDetail, operate, getTemRoleOption } from "@/api/role/role"; const tagsViewStore = useTagsView() @@ -143,8 +143,9 @@ const init = async () => { form.value.setValues({state: '1', template: false}) const res = await getTemRoleOption() localData.tempRoleOpt = res.data - const { data } = await getMenuOpt(0) - localData.menuData = data + const { data } = await getMenuOptRole() + localData.menuData = data.menuOption + // localData.checked = data.checked } const getInfo = async () => { From 6ab1dc806ec538e8e6da11c230e652c7ea62a638 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 18 Jun 2024 21:27:03 +0800 Subject: [PATCH 10/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=B7=A6=E4=BE=A7=E9=80=89=E6=8B=A9=E6=A1=86,?= =?UTF-8?q?=E5=8F=8A=E6=AD=A3=E7=A1=AEjson=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/expense-management/ledger/index.vue | 6 ++- src/views/expense-management/share/index.vue | 3 +- .../project-demand/requirement/index.vue | 8 +-- src/views/project-demand/summary/index.vue | 8 +-- .../implementation/index.vue | 8 +-- src/views/special-fund/index.vue | 6 ++- src/views/workflow/process/ProcessEdit.vue | 52 ++++++++++--------- src/views/workflow/process/ProcessTree.vue | 6 ++- 8 files changed, 54 insertions(+), 43 deletions(-) diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue index df7d90e..b72e195 100644 --- a/src/views/expense-management/ledger/index.vue +++ b/src/views/expense-management/ledger/index.vue @@ -34,7 +34,8 @@ const searchConfig = reactive([ valueFormat: 'YYYY-MM-DD HH:mm:ss', }, colProps: {} - }, { + }, + { label: '项目费用', prop: 'projectCost', component: shallowRef(fvSelect), @@ -44,7 +45,8 @@ const searchConfig = reactive([ filterable: true, cacheKey: 'project_cost', } - }, { + }, + { label: '项目阶段', prop: 'researchStage', component: shallowRef(fvSelect), diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue index d8db8d1..3120035 100644 --- a/src/views/expense-management/share/index.vue +++ b/src/views/expense-management/share/index.vue @@ -53,7 +53,8 @@ const searchConfig = reactive([ filterable: true, checkStrictly: true } - }, { + }, + { label: '分摊月份', prop: 'apportionmentMonth', component: 'el-date-picker', diff --git a/src/views/project-demand/requirement/index.vue b/src/views/project-demand/requirement/index.vue index aac9045..6a00740 100644 --- a/src/views/project-demand/requirement/index.vue +++ b/src/views/project-demand/requirement/index.vue @@ -61,10 +61,10 @@ const auths = { } const tableConfig = reactive({ columns: [ - { - type: 'selection', - prop: 'selection' - }, + // { + // type: 'selection', + // prop: 'selection' + // }, { prop: 'requirementName', label: '征集名称', diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index 9525468..69fff49 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -78,10 +78,10 @@ const auths = { } const tableConfig = reactive({ columns: [ - { - type: 'selection', - prop: 'selection' - }, + // { + // type: 'selection', + // prop: 'selection' + // }, { prop: 'requirementName', label: '征集名称', diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 1abb366..73e644a 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -136,10 +136,10 @@ const searchConfig = reactive([ const tableIns = ref() const tableConfig = reactive({ columns: [ - { - type: 'selection', - prop: 'selection' - }, + // { + // type: 'selection', + // prop: 'selection' + // }, { prop: 'projectName', label: '项目名称', diff --git a/src/views/special-fund/index.vue b/src/views/special-fund/index.vue index ee3e509..713a75d 100644 --- a/src/views/special-fund/index.vue +++ b/src/views/special-fund/index.vue @@ -42,7 +42,8 @@ const searchConfig = reactive([ clearable: true, placeholder: '请输入资金金额查询' } - }, { + }, + { label: '剩余金额(元)', prop: 'residualAmount', component: 'el-input', @@ -50,7 +51,8 @@ const searchConfig = reactive([ clearable: true, placeholder: '请输入剩余金额查询' } - }, { + }, + { label: '项目数量', prop: 'projectNumber', component: 'el-input', diff --git a/src/views/workflow/process/ProcessEdit.vue b/src/views/workflow/process/ProcessEdit.vue index 02854ee..31aa1c6 100644 --- a/src/views/workflow/process/ProcessEdit.vue +++ b/src/views/workflow/process/ProcessEdit.vue @@ -57,7 +57,7 @@ import ProcessSetting from "./ProcessSetting.vue"; import Ellipsis from '@/views/workflow/process/common/Ellipsis.vue' import {getCurrentInstance} from '@vue/runtime-core'; import {useTagsView} from '@/stores/tagsview.js' -import {ElMessageBox,ElNotification} from "element-plus"; +import {ElMessageBox, ElNotification} from "element-plus"; const tagsViewStore = useTagsView() @@ -87,7 +87,7 @@ const validOptions = ref([ {title: '审批流程', description: '', icon: '', status: ''}, // {title: '扩展设置', description: '', icon: '', status: ''} ]) -onActivated(()=>{ +onActivated(() => { activeSelect.value = 'processSetting' init() }) @@ -157,27 +157,31 @@ const loadInitFrom = () => { type: "END", } ], - processFromPerms: [{ - id: "projectName", - title: "项目名称", - required: true, - perm: "R" - }, { - id: "projectType", - title: "项目类型", - required: true, - perm: "R" - }, { - id: "projectDesc", - title: "项目描述", - required: true, - perm: "R" - }, { - id: "projectManager", - title: "项目经理", - required: true, - perm: "R" - }], + processFromPerms: [ + { + id: "projectName", + title: "项目名称", + required: true, + perm: "R" + }, + { + id: "projectType", + title: "项目类型", + required: true, + perm: "R" + }, + { + id: "projectDesc", + title: "项目描述", + required: true, + perm: "R" + }, + { + id: "projectManager", + title: "项目经理", + required: true, + perm: "R" + }], remark: "备注说明" } processStore.setDesign(design) @@ -332,7 +336,7 @@ const doPublish = () => { ElNotification({ title: '提示', message: err, - type:'error' + type: 'error' }) }) }) diff --git a/src/views/workflow/process/ProcessTree.vue b/src/views/workflow/process/ProcessTree.vue index 79c1cf9..e41759b 100644 --- a/src/views/workflow/process/ProcessTree.vue +++ b/src/views/workflow/process/ProcessTree.vue @@ -402,7 +402,8 @@ const insertConditionsNode = (node) => { props: deepCopy(DefaultProps.CONDITION_PROPS), name: "条件1", children: {} - }, { + }, + { id: getRandomId(), parentId: node.id, type: "CONDITION", @@ -437,7 +438,8 @@ const insertConcurrentsNode = (node) => { props: deepCopy(DefaultProps.CONDITION_PROPS), name: "分支1", children: {} - }, { + }, + { id: getRandomId(), parentId: node.id, type: "CONCURRENT", From 3745c9cb288aa6a127cedfae49a7b53e518e55a6 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 18 Jun 2024 22:18:35 +0800 Subject: [PATCH 11/55] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E5=BE=81=E9=9B=86/=E6=B1=87=E6=80=BB/=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E5=8F=B0=E8=B4=A6=E9=A1=B5=E9=9D=A2=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/expense-management/ledger/index.vue | 7 ++++++- src/views/project-demand/requirement/add.vue | 2 +- src/views/project-demand/requirement/index.vue | 2 +- src/views/project-demand/summary/index.vue | 15 ++++++++++----- .../project-management/implementation/index.vue | 2 +- src/views/project-management/initiation/index.vue | 2 +- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue index b72e195..06e5445 100644 --- a/src/views/expense-management/ledger/index.vue +++ b/src/views/expense-management/ledger/index.vue @@ -55,7 +55,7 @@ const searchConfig = reactive([ clearable: true, filterable: true, checkStrictly: true, - cacheKey: 'research_stage', + cacheKey: 'fee_stage', } }, { @@ -126,6 +126,11 @@ const tableConfig = reactive({ } } }, + { + label: '摘要', + prop: 'digest', + align: 'center' + }, { prop: 'afterTax', label: '税后余额(元)', diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index c72297a..0f48cbb 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -153,7 +153,7 @@ const processStore = useProcessStore() const processInstanceData = ref() const formPermMap = ref(new Map()); const rules = reactive({ - requirementName: [{required: true, message: '请输入需求名称', trigger: 'blur'}], + requirementName: [{required: true, message: '请输入征集名称', trigger: 'blur'}], companyIds: [{required: true, message: '请选择所属公司', trigger: 'blur'}], collectType: [{required: true, message: '请选择征集类型', trigger: 'blur'}], deadline: [{required: true, message: '请选择截止时间', trigger: 'blur'}], diff --git a/src/views/project-demand/requirement/index.vue b/src/views/project-demand/requirement/index.vue index 6a00740..4a68881 100644 --- a/src/views/project-demand/requirement/index.vue +++ b/src/views/project-demand/requirement/index.vue @@ -36,7 +36,7 @@ const searchConfig = reactive([ placeholder: '请选择征集类型', clearable: true, filterable: true, - cacheKey: 'todo_type' + cacheKey: 'collect_type' } }, { diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index 69fff49..6cc316b 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -10,10 +10,10 @@ const tableIns = ref() const router = useRouter() const searchConfig = reactive([ { - label: '需求名称', + label: '征集名称', prop: 'requirementName', props: { - placeholder: '请输入需求名称', + placeholder: '请输入征集名称', clearable: true, checkStrictly: true }, @@ -34,7 +34,7 @@ const searchConfig = reactive([ }, { label: '研发主体', - prop: 'productMainBody', + prop: 'rdSubject', component: shallowRef(fvSelect), props: { placeholder: '请选择研发主体', @@ -46,9 +46,14 @@ const searchConfig = reactive([ }, // { // label: '项目影响', - // prop: 'projectEffect', + // prop: 'projectImpact', // component: shallowRef(fvSelect), - // props: {}, + // props: { + // placeholder: '请选择项目影响', + // cacheKey: 'project_impact', + // clearable: true, + // filterable: true + // }, // colProps: {} // }, // { diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 73e644a..57f9f3c 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -93,7 +93,7 @@ const searchConfig = reactive([ component: 'el-date-picker', props: { clearable: true, - type: 'datetimerange', + type: 'daterange', startPlaceholder: '开始日期', endPlaceholder: '结束日期', valueFormat: 'YYYY-MM-DD HH:mm:ss', diff --git a/src/views/project-management/initiation/index.vue b/src/views/project-management/initiation/index.vue index d80ec63..1593ab8 100644 --- a/src/views/project-management/initiation/index.vue +++ b/src/views/project-management/initiation/index.vue @@ -91,7 +91,7 @@ const searchConfig = reactive([ component: 'el-date-picker', props: { clearable: true, - type: 'datetimerange', + type: 'daterange', startPlaceholder: '开始日期', endPlaceholder: '结束日期', valueFormat: 'YYYY-MM-DD HH:mm:ss', From 5410b6d24842b1f092543607854b32ab2994ef8e Mon Sep 17 00:00:00 2001 From: clay <20932067@zju.edu.cn> Date: Tue, 18 Jun 2024 22:24:50 +0800 Subject: [PATCH 12/55] =?UTF-8?q?feat=20:=20=E8=8F=9C=E5=8D=95=E4=B8=8E?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/menuman.js | 2 +- .../DetailComponent/CompanyPicker.vue | 121 +++++++++--------- src/views/project-demand/requirement/add.vue | 6 +- src/views/system/role/add.vue | 2 +- src/views/system/user/index.vue | 6 + 5 files changed, 73 insertions(+), 64 deletions(-) diff --git a/src/api/system/menuman.js b/src/api/system/menuman.js index 8d44d4b..c4db6d5 100644 --- a/src/api/system/menuman.js +++ b/src/api/system/menuman.js @@ -40,7 +40,7 @@ export const getMenuInfo = (menuId) => { export const getMenuOpt = (excludeId=0) => { return request({ - url: '/admin/menu/option/role/'+excludeId, + url: '/admin/menu/option/'+excludeId, method: 'get' }) } diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index b57686e..2824f79 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -12,23 +12,24 @@ 全选 不全选 - - - - - - - - - - - + + + + + + + + + + +
@@ -119,11 +120,13 @@ import {getSubCompOpt} from '@/api/user/user.js' import {useTagsView} from '@/stores/tagsview.js' import {getFundOption} from "@/api/special-fund"; import CompanyPicker from "@/components/DetailComponent/CompanyPicker.vue"; +import {matterTree} from "@/utils/matterTree"; import {useCacheStore} from '@/stores/cache.js' const cacheStore = useCacheStore() const companyRef = ref() -const companyList = ref([]) +const selectedCompanyList = ref([]) +// const companyList = ref([]) const changeDiagram = ref(false) const tagsViewStore = useTagsView() const authStore = useAuthStore() @@ -152,6 +155,7 @@ const showTable = ref(true) const processStore = useProcessStore() const processInstanceData = ref() const formPermMap = ref(new Map()); +const companyNameArray = ref([]) const rules = reactive({ requirementName: [{required: true, message: '请输入征集名称', trigger: 'blur'}], companyIds: [{required: true, message: '请选择所属公司', trigger: 'blur'}], @@ -203,6 +207,15 @@ const tableConfig = reactive({ } ] }) + +const getCompanyOptionItem = (val) => { + if (val !== undefined) { + val.forEach(item => { + matterTree(companyNameArray.value, companyOption.value, item) + }) + } + return companyNameArray.value.join(','); +} const getName = (list) => { return list.map(item => item.label).join(',') } @@ -210,12 +223,10 @@ const showCompany = () => { companyRef.value.show() } const selected = (select) => { - let companyInfoList = [] for (let val of select) { - companyInfoList.push(val) formData.value.companyIds.push(val.value) } - companyList.value = companyInfoList + selectedCompanyList.value = select } const checkFormPrem = (formKey) => { if (formPermMap.value.hasOwnProperty(formKey)) { @@ -306,7 +317,6 @@ const init = async () => { }) } const submitParam = (item) => { - console.log('item..', item.companyIds) if (item.companyIds.length === 0) { ElNotification({ title: '提示', @@ -373,6 +383,7 @@ const handleResubmit = () => { const getDetailInfo = async () => { getFormInfo(route.query.id).then(res => { if (res.code === 1000) { + selectedCompanyList.value = getCompanyOptionItem(res.data.companyIds) formData.value = res.data showTinymce.value = false showTable.value = false diff --git a/src/views/project-management/implementation/account.vue b/src/views/project-management/implementation/account.vue index a035274..42d202f 100644 --- a/src/views/project-management/implementation/account.vue +++ b/src/views/project-management/implementation/account.vue @@ -60,11 +60,11 @@ const searchConfig = reactive([ } }, { - label: '项目阶段', + label: '研发阶段', prop: 'researchStage', component: shallowRef(fvSelect), props: { - placeholder: '请选择项目阶段查询', + placeholder: '请选择研发阶段查询', clearable: true, filterable: true, checkStrictly: true, @@ -123,7 +123,7 @@ const tableConfig = reactive({ }, { prop: 'researchStage', - label: '项目阶段', + label: '研发阶段', align: 'center', showOverflowTooltip: false, currentRender: ({row, index}) => { diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 57f9f3c..ca6c397 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -183,7 +183,7 @@ const tableConfig = reactive({ }, { prop: 'researchStage', - label: '项目阶段', + label: '研发阶段', align: 'center', showOverflowTooltip: false, currentRender: ({row, index}) => { diff --git a/src/views/project-management/implementation/uploadFee.vue b/src/views/project-management/implementation/uploadFee.vue index cf01a8d..80af415 100644 --- a/src/views/project-management/implementation/uploadFee.vue +++ b/src/views/project-management/implementation/uploadFee.vue @@ -31,10 +31,10 @@ - + - - diff --git a/src/fvcomponents/fvTable/index.vue b/src/fvcomponents/fvTable/index.vue index 75a0952..770de1c 100644 --- a/src/fvcomponents/fvTable/index.vue +++ b/src/fvcomponents/fvTable/index.vue @@ -17,6 +17,7 @@
+ 导出 @@ -101,6 +102,7 @@ diff --git a/src/fvcomponents/fvTable/index.vue b/src/fvcomponents/fvTable/index.vue index 770de1c..0f37907 100644 --- a/src/fvcomponents/fvTable/index.vue +++ b/src/fvcomponents/fvTable/index.vue @@ -17,7 +17,9 @@
- 导出 + 导出 + @@ -142,7 +144,7 @@ const exportTable = () => { if (props.tableConfig.export && props.tableConfig.export) { fileName = props.tableConfig.export.fileName } - exportExcel($table, localData.list[0], fileName) + exportExcel($table, Object.keys(localData.list[0]), fileName) } const localData = reactive({ diff --git a/src/utils/export-excel.js b/src/utils/export-excel.js index 598a4de..c0fd244 100644 --- a/src/utils/export-excel.js +++ b/src/utils/export-excel.js @@ -2,20 +2,20 @@ import {utils} from "xlsx"; import FileSaver from 'file-saver' import XLSX from "xlsx-style-vite"; - -export function exportExcel($table, row, excelName) { - //如果导出后多出空白行则修改rowspan,否则可不用 - // var tds = document.querySelectorAll(".el-table__footer td"); - // tds.forEach(td => td.setAttribute("rowspan", "1")); - +/** + * 导出excel + * @param $table 表格html dom元素 + * @param columnLength 列长度 + * @param excelName 导出文件名称 + */ +export function exportExcel($table, columnLength, excelName) { //从el-table表生成工作簿对象 //使用原始的格式,保留表格中的格式如%、小数末尾的0等 let workbook = utils.table_to_book($table, { raw: true }); //列宽,需要导出的表格有多少列这里的i就小于多少 - let keys = Object.keys(row).length - for (let i = 1; i < (5 + (keys - 5) * 5); i++) { + for (let i = 1; i < columnLength; i++) { workbook.Sheets.Sheet1["!cols"].push({wpx: 100}); } //设置单元格样式 diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue index ec3dfeb..fc69e58 100644 --- a/src/views/expense-management/share/add.vue +++ b/src/views/expense-management/share/add.vue @@ -51,49 +51,49 @@ - + - + - + - + - + - + - + - - - - - - - - - - - - - diff --git a/src/utils/export-excel.js b/src/utils/export-excel.js index b05118e..afeeb79 100644 --- a/src/utils/export-excel.js +++ b/src/utils/export-excel.js @@ -7,8 +7,9 @@ import XLSX from "xlsx-style-vite"; * @param $table 表格html dom元素 * @param columnLength 列长度 * @param excelName 导出文件名称 + * @param bigWidthIndex 更宽列的索引 */ -export function exportExcel($table, columnLength, excelName,bigWidth) { +export function exportExcel($table, columnLength, excelName, bigWidthIndex) { //从el-table表生成工作簿对象 //使用原始的格式,保留表格中的格式如%、小数末尾的0等 let workbook = utils.table_to_book($table, { @@ -16,7 +17,7 @@ export function exportExcel($table, columnLength, excelName,bigWidth) { }); //列宽,需要导出的表格有多少列这里的i就小于多少 for (let i = 1; i < columnLength; i++) { - if(i==bigWidth){ + if (i === bigWidthIndex) { workbook.Sheets.Sheet1["!cols"].push({wpx: 300}); } workbook.Sheets.Sheet1["!cols"].push({wpx: 100}); diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue index 02215e4..84910b3 100644 --- a/src/views/expense-management/share/add.vue +++ b/src/views/expense-management/share/add.vue @@ -38,7 +38,7 @@ - - - - - - - - - - - -