diff --git a/src/api/project-demand/summary/index.js b/src/api/project-demand/summary/index.js
index 5fc3430..a23f224 100644
--- a/src/api/project-demand/summary/index.js
+++ b/src/api/project-demand/summary/index.js
@@ -18,9 +18,10 @@ export const requirementReported = (data) => {
data: data
});
};
-export const getProcessInfo = () => {
+//获取需求上报 流程信息
+export const getProcessInfo = (specialFund) => {
return request({
- url: '/workflow/mosr/requirement/collect/process',
+ url: `/workflow/mosr/requirement/collect/process/${specialFund}`,
method: "get"
});
};
diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue
index aa5ed37..4a36418 100644
--- a/src/components/AttachmentUpload.vue
+++ b/src/components/AttachmentUpload.vue
@@ -37,6 +37,32 @@ import FileUpload from '@/components/FileUpload.vue'
import {deleteFile, downloadFile} from "@/api/project-demand";
import {ElMessage, ElMessageBox, ElNotification} from "element-plus";
+const props = defineProps({
+ showFileList: {
+ type: Boolean,
+ default: false
+ },
+ label: {
+ type: String,
+ default: '项目附件'
+ },
+ showTable: {
+ type: Boolean,
+ default: true
+ },
+ preview: {
+ type: Boolean,
+ default: false
+ },
+ otherFileList: {
+ type: Array,
+ default: []
+ },
+ formData: {
+ type: Array,
+ default: []
+ }
+})
const emit = defineEmits(["getAttachment", "getOtherFile"])
const formData = ref({})
const tableConfig = reactive({
@@ -72,9 +98,9 @@ const tableConfig = reactive({
currentRender: ({row, index}) => {
let btn = []
btn.push({label: '下载', func: () => handleDownload(row), type: 'primary'})
- if (row.newFile){
- btn.push({label: '删除', func: () => handleDelete(row), type: 'primary'})
- }
+ // if (row.newFile){
+ // btn.push({label: '删除', func: () => handleDelete(row), type: 'primary'})
+ // }
return (
{
@@ -88,6 +114,12 @@ const tableConfig = reactive({
))
}
+ {
+ row.newFile||props.preview||!props.preview ?
handleDelete(row)}/>
+ : ''
+ }
)
}
@@ -101,39 +133,13 @@ const applyForm = ref()
const singleFile = ref()
const isSingleFile = ref(false)
const allFileList = ref([])
-const props = defineProps({
- showFileList: {
- type: Boolean,
- default: false
- },
- label: {
- type: String,
- default: '项目附件'
- },
- showTable: {
- type: Boolean,
- default: true
- },
- preview: {
- type: Boolean,
- default: false
- },
- otherFileList: {
- type: Array,
- default: []
- },
- formData: {
- type: Array,
- default: []
- }
-})
watch(() => props.showTable, (newVal) => {
props.showTable = newVal
}, {deep: true})
watch(() => props.otherFileList, (newVal) => {
console.log('newotherFileList', newVal)
if (props.preview) {
- if (props.formData.fileList.length===0) {
+ if (props.formData.fileList===null||props.formData.fileList.length===0) {
allFileList.value = newVal
} else {
newVal?.forEach(item => {
@@ -156,6 +162,21 @@ watch(() => props.formData.singleFile, (newVal) => {
console.log('singleFile', newVal)
singleFile.value = newVal
}, {deep: true})
+watch(() => isSingleFile.value, (newVal) => {
+ isSingleFile.value = newVal
+}, {deep: true})
+const handleDelete = (row) => {
+ deleteFile(row.fileId).then(res => {
+ ElNotification({
+ title: '提示',
+ message: res.msg,
+ type: res.code === 1000 ? 'success' : 'error'
+ })
+ if (res.code === 1000) {
+ allFileList.value.splice(allFileList.value.findIndex((item) => item.id === row.fileId), 1);
+ }
+ });
+}
const getAttachment = (val) => {
isSingleFile.value = true
emit('getAttachment', val)
@@ -172,11 +193,12 @@ const deleteAttachment = (val) => {
type: 'success'
})
isSingleFile.value = false
+ singleFile.value=null
}
});
}
const deleteSingleFile = (row, type) => {
- ElMessageBox.confirm(`确认删除名称为${row.originalFileName}的表格吗?`, '系统提示', {
+ ElMessageBox.confirm(`确认删除名称为${row.originalFileName}的文件吗?`, '系统提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -190,7 +212,7 @@ const deleteSingleFile = (row, type) => {
if (res.code === 1000) {
isSingleFile.value=false
if (type === 1) {
- singleFile.value = {}
+ singleFile.value = null
} else {
props.otherFileList.splice(props.otherFileList.findIndex((item) => item.id === row.fileId), 1);
}
@@ -221,7 +243,8 @@ defineExpose({
return applyForm.value.clearValidate()
},
allFileList,
- singleFile
+ singleFile,
+ isSingleFile
})
diff --git a/src/components/DetailComponent/ApprovalDetail.vue b/src/components/DetailComponent/ApprovalDetail.vue
index d5c7bdc..8d1bb39 100644
--- a/src/components/DetailComponent/ApprovalDetail.vue
+++ b/src/components/DetailComponent/ApprovalDetail.vue
@@ -22,7 +22,7 @@
@@ -67,6 +67,10 @@ const props = defineProps({
value: {
type: String,
default: ''
+ },
+ idName: {
+ type: String,
+ default: ''
}
})
const form = ref()
@@ -224,7 +228,7 @@ const handleDownload = (row) => {
})
}
watchEffect(() => {
- Object.keys(props.formData).length && (form.value.setValues(props.formData))
+ Object.keys(props.formData).length && (form.value?.setValues(props.formData))
})
watch(() => props.loading, (newVal) => {
diff --git a/src/components/DetailComponent/ExpenseDetail.vue b/src/components/DetailComponent/ExpenseDetail.vue
index 6a5816b..ee44889 100644
--- a/src/components/DetailComponent/ExpenseDetail.vue
+++ b/src/components/DetailComponent/ExpenseDetail.vue
@@ -10,6 +10,8 @@
diff --git a/src/components/DetailComponent/SpecialFundDetail.vue b/src/components/DetailComponent/SpecialFundDetail.vue
index 140f81f..7806e87 100644
--- a/src/components/DetailComponent/SpecialFundDetail.vue
+++ b/src/components/DetailComponent/SpecialFundDetail.vue
@@ -9,13 +9,13 @@
-
- {{ formData.fundAmount }}
+
+ {{ toThousands(formData.fundAmount) }}
-
- {{ formData.residualAmount }}
+
+ {{ toThousands(formData.residualAmount) }}
@@ -50,7 +50,7 @@
-
diff --git a/src/components/DetailComponent/SummaryDetail.vue b/src/components/DetailComponent/SummaryDetail.vue
index 0b1f73f..8ded615 100644
--- a/src/components/DetailComponent/SummaryDetail.vue
+++ b/src/components/DetailComponent/SummaryDetail.vue
@@ -8,8 +8,8 @@
-
- {{ changeName(fundOption, localFormData.specialFund) }}
+
+ {{localFormData.specialFundId===0?localFormData.specialFund:changeName(fundOption,localFormData.specialFundId) }}
@@ -105,13 +105,13 @@
- {{ localFormData.economicEstimate }}
+ {{toThousands( localFormData.economicEstimate )}}
- {{ localFormData.specialFundAmount }}
+ v-if="localFormData.isSpecialFund">
+ {{ toThousands(localFormData.specialFundAmount) }}
@@ -163,6 +163,7 @@
diff --git a/src/components/steps/index.vue b/src/components/steps/index.vue
index f02c4a6..6352a5f 100644
--- a/src/components/steps/index.vue
+++ b/src/components/steps/index.vue
@@ -93,12 +93,11 @@ const baseForm = ref()
const schema = computed(() => {
return [
{
- label: '所属公司',
- prop: 'affiliatedCompany',
+ label: '征集名称',
+ prop: 'requirementName',
colProps: {
span: 12
}
- // component:
},
{
label: '征集类型',
@@ -106,7 +105,13 @@ const schema = computed(() => {
colProps: {
span: 12
}
- // component:
+ },
+ {
+ label: '所属公司',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 12
+ }
},
{
label: '截止时间',
@@ -114,16 +119,8 @@ const schema = computed(() => {
colProps: {
span: 12
}
- // component:
- },
- {
- label: '需求名称',
- prop: 'requirementName',
- colProps: {
- span: 12
- }
- // component:
- },
+ }
+
]
})
@@ -278,6 +275,16 @@ const getBaseInfo = async () => {
const loading = ElLoading.service({fullscreen: true})
try {
const {code, data} = await getBaseInfoApi(route.query.projectId)
+ console.log('data.procedure',data.procedure,route.query.step)
+ if(route.query.step==='40'){
+ if(data.procedure.indexOf('40')==-1){
+ data.procedure.push('40')
+ }
+ }else if(route.query.step==='50'){
+ if(data.procedure.indexOf('50')==-1){
+ data.procedure.push('50')
+ }
+ }
localStepSuccess.value = formatProcedure(data.procedure)
baseForm.value.setValues(data)
emits('setDetail', formatActive(localActive.value))
diff --git a/src/utils/changePrice.js b/src/utils/changePrice.js
new file mode 100644
index 0000000..c7eb7bd
--- /dev/null
+++ b/src/utils/changePrice.js
@@ -0,0 +1,8 @@
+export const toThousands = (num) => {
+ if(num==undefined||num==null)return '--';
+ const options = {
+ style: 'currency',
+ currency: 'CNY',
+ };
+ return (num).toLocaleString('zh-CN', options)
+}
diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue
index e59138c..052765b 100644
--- a/src/views/expense-management/ledger/index.vue
+++ b/src/views/expense-management/ledger/index.vue
@@ -9,7 +9,7 @@
+
+
diff --git a/src/views/project-management/implementation/detail.vue b/src/views/project-management/implementation/detail.vue
index 75f517f..a1f232e 100644
--- a/src/views/project-management/implementation/detail.vue
+++ b/src/views/project-management/implementation/detail.vue
@@ -7,23 +7,27 @@
:data="commonForm"
:processViewer="commonProvessViewer"
v-show="showActive == '00'"
- :loading="loading"
v-model:value="auditOpinion"
/>
-
+
-
-
-
+
+
+
+
-
+
diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue
index f52133f..7541b91 100644
--- a/src/views/project-management/implementation/index.vue
+++ b/src/views/project-management/implementation/index.vue
@@ -9,7 +9,7 @@
diff --git a/src/views/project-management/implementation/phaseDetail.vue b/src/views/project-management/implementation/phaseDetail.vue
index 6aab684..eb87e95 100644
--- a/src/views/project-management/implementation/phaseDetail.vue
+++ b/src/views/project-management/implementation/phaseDetail.vue
@@ -1,5 +1,6 @@
+ 抄送人:{{copyName}}
@@ -16,6 +17,7 @@ const summaryProcessViewer = ref(true)
const processStore = useProcessStore()
const loading = ref(false)
const auditOpinion = ref('')
+const copyName = ref('')
const fileListShow = ref('READ')
const getInfo = async () => {
fileListShow.value = 'READ'
@@ -25,6 +27,7 @@ const getInfo = async () => {
const {code, data, msg} = await getPhaseDetail(projectId)
if (code === 1000) {
summaryData.value = data;
+ copyName.value= data.formData.userInfoList.map(item=>item.name).join(',')
loading.value = false
processStore.setDesign(data)
processStore.runningList.value = data.runningList;
diff --git a/src/views/project-management/implementation/share.vue b/src/views/project-management/implementation/share.vue
index c1e1d87..edb71a6 100644
--- a/src/views/project-management/implementation/share.vue
+++ b/src/views/project-management/implementation/share.vue
@@ -1,4 +1,6 @@
+
+ baseForm = e">
@@ -9,7 +11,44 @@
diff --git a/src/views/special-fund/index.vue b/src/views/special-fund/index.vue
index 5dd5219..7d43069 100644
--- a/src/views/special-fund/index.vue
+++ b/src/views/special-fund/index.vue
@@ -12,7 +12,7 @@
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
import { ElNotification} from "element-plus";
import {deleteFund} from "@/api/special-fund";
-
+import {toThousands} from '@/utils/changePrice.js'
const router = useRouter()
const searchConfig = reactive([
{
@@ -75,12 +75,18 @@ const tableConfig = reactive({
{
prop: 'fundAmount',
label: '资金金额(元)',
- align: 'center'
+ align: 'center',
+ currentRender:({row})=>{
+ return {toThousands(row.fundAmount)}
+ }
},
{
prop: 'residualAmount',
label: '剩余金额(元)',
- align: 'center'
+ align: 'center',
+ currentRender:({row})=>{
+ return {toThousands(row.residualAmount)}
+ }
},
{
prop: 'projectNumber',
@@ -153,6 +159,7 @@ const tableConfig = reactive({
]
})
const tableIns = ref()
+
const search = (val) => {
tableConfig.params = {...val}
tableIns.value.refresh()
diff --git a/vite.config.js b/vite.config.js
index e3c4d22..3f5511a 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,8 +1,8 @@
-import {fileURLToPath, URL} from 'node:url'
-import {defineConfig} from 'vite'
+import { fileURLToPath, URL } from 'node:url'
+import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
-import {ElementPlusResolver} from 'unplugin-vue-components/resolvers'
+import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import vue from '@vitejs/plugin-vue'
@@ -17,7 +17,7 @@ export default defineConfig({
vueJsx(),
AutoImport({
//自动导入vue相关函数
- imports: ['vue', 'vue-router'],
+ imports: ['vue','vue-router'],
resolvers: [
ElementPlusResolver(),
//自动导入图标组件
@@ -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/, '')
@@ -80,19 +80,19 @@ export default defineConfig({
// target: 'http://clay.frp.feashow.cn/',
// // target: 'http://192.168.31.175:8000',
// changeOrigin: true,
- // rewrite: (path) => path.replace(/^\/summary/, '')
+ // rewrite: (path) => path.replace(/^\/api/, '')
// },
'/api': {
- target: 'http://mosr.feashow.cn',
- // target: 'http://clay.frp.feashow.cn/',
+ // target: 'http://mosr.feashow.cn/',
+ target: 'http://10.7.127.57:8000',
changeOrigin: true,
- // rewrite: (path) => path.replace(/^\/api/, '')
+ rewrite: (path) => path.replace(/^\/api/, '')
},
- // '/summary/notice-ws': {
- // target: 'ws://mosr.feashow.cn/summary/notice-ws',
- // ws: true,
- // changeOrigin: true,
- // }
+ '/api/notice-ws': {
+ target: 'ws://mosr.feashow.cn/api/notice-ws',
+ ws: true,
+ changeOrigin: true,
+ }
}
}
})