|
|
@@ -6,8 +6,8 @@
|
|
|
<div class="project-title">{{projects.title}}</div>
|
|
|
<!-- <div class="project-subtitle">{{ projects.c_xmbtqc }}</div> -->
|
|
|
|
|
|
- <div class="project-meta">{{projects.c_fbz || projects.zbmsxx ?.zb_source_name || ''}} · {{projects.c_zgfw || projects.zbmsxx ?.zb_project_name || ''}} · 金额{{UTIL.formatCurrency(projects.c_nh || '0')}}元</div>
|
|
|
- <!-- <div class="project-meta">{{projects.c_fbz || projects.zbmsxx ?.zb_source_name || '上海市杨浦区政府采购中心'}} · 杨浦区图书馆总馆物业管理服务项目 · 金额{{UTIL.formatCurrency(projects.c_nh || '0')}}元</div> -->
|
|
|
+ <div class="project-meta">{{projects.c_fbz || projects.zbmsxx ?.zb_source_name || ''}} · {{projects.c_zgfw || projects.zbmsxx ?.zb_project_name || ''}} · 金额{{UTIL.formatCurrency(projects.c_nh || '0')}}万元</div>
|
|
|
+ <!-- <div class="project-meta">{{projects.c_fbz || projects.zbmsxx ?.zb_source_name || '上海市杨浦区政府采购中心'}} · 杨浦区图书馆总馆物业管理服务项目 · 金额{{UTIL.formatCurrency(projects.c_nh || '0')}}万元</div> -->
|
|
|
|
|
|
|
|
|
<!-- <div class="project-subtitle">{{ projects.c_is_xb == true ? projects.c_xmbtqc : projects.zbmsxx ?.zb_project_name || ''}}</div>
|
|
|
@@ -177,10 +177,10 @@
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
- <tr v-for="item in tablelist" :key="item.id">
|
|
|
+ <tr v-for="item in historyBidList" :key="item.id">
|
|
|
<td>{{ item.year }}</td>
|
|
|
- <td>{{ item.status }}</td>
|
|
|
- <td>{{ item.money }}</td>
|
|
|
+ <td> 中标</td>
|
|
|
+ <td>{{ UTIL.formatCurrency(item.money/10000) }} 万元</td>
|
|
|
<td class="link-text" >
|
|
|
查看
|
|
|
</td>
|
|
|
@@ -213,11 +213,11 @@
|
|
|
</div>
|
|
|
<div class="info-row">
|
|
|
<span class="label">合同金额</span>
|
|
|
- <span class="value">{{UTIL.formatCurrency(projects.c_nh)}}元</span>
|
|
|
+ <span class="value">{{UTIL.formatCurrency(projects.c_nh)}}万元</span>
|
|
|
</div>
|
|
|
<div class="info-row">
|
|
|
<span class="label">委托服务</span>
|
|
|
- <span class="value">{{projects.c_zgfw}}</span>
|
|
|
+ <span class="value">{{wtArr[projects.c_zgfw]}}</span>
|
|
|
</div>
|
|
|
<!-- <div class="info-row">
|
|
|
<span class="label">合同状况</span>
|
|
|
@@ -242,11 +242,11 @@
|
|
|
<div class="info-row">
|
|
|
<span class="label">招标起止</span>
|
|
|
<!-- <span class="value">{{projects.zbProject?.c_publish_time ? moment(projects.zbProject?.c_publish_time).format('YYYY.MM.DD') : '' }}-{{projects.zbProject?.c_bid_deadline ? moment(projects.zbProject?.c_bid_deadline.replace(/\s*\(.*\)$/, '') , 'YYYY年MM月DD日 HH:mm').format('YYYY.MM.DD') : '' }}</span> -->
|
|
|
- <span class="value">{{moment(projects.zbkssj).format('YYYY.MM.DD') }}-{{moment(projects.zbjzsj).format('YYYY.MM.DD') }}</span>
|
|
|
+ <span class="value">{{projects.zbkssj ? moment(projects.zbkssj).format('YYYY.MM.DD') : '' }}-{{projects.zbjzsj ? moment(projects.zbjzsj).format('YYYY.MM.DD') : '' }}</span>
|
|
|
</div>
|
|
|
<div class="info-row">
|
|
|
<span class="label">招标金额</span>
|
|
|
- <span class="value">{{UTIL.formatCurrency(projects.zbmsxx ?.zb_budget_amount || 0)}}元</span>
|
|
|
+ <span class="value">{{projects.zbmsxx ?.zb_budget_amount ? UTIL.formatCurrency(projects.zbmsxx ?.zb_budget_amount / 10000 || 0) + '万元' : '-'}}</span>
|
|
|
</div>
|
|
|
<div class="info-row">
|
|
|
<span class="label">数据源名称</span>
|
|
|
@@ -661,6 +661,42 @@ const ruleBidForm = reactive<RuleForm>({
|
|
|
file:[],
|
|
|
},
|
|
|
})
|
|
|
+const wtArr = ref<any>([
|
|
|
+ '全委',
|
|
|
+ '单一单委',
|
|
|
+ '多项单委'
|
|
|
+])
|
|
|
+const historyBidList = ref<any>([
|
|
|
+ {
|
|
|
+ year: '2019',
|
|
|
+ money: '8585360'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2020',
|
|
|
+ money: '8585360'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2021',
|
|
|
+ money: '8585360'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2022',
|
|
|
+ money: '8499576'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2023',
|
|
|
+ money: '8499576'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2024',
|
|
|
+ money: '8499576'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ year: '2025',
|
|
|
+ money: '8395152'
|
|
|
+ },
|
|
|
+])
|
|
|
+
|
|
|
const dialogBidFileVisible = ref(false)
|
|
|
const bidRules = reactive<FormRules<RuleForm>>({
|
|
|
file1: [
|
|
|
@@ -673,10 +709,7 @@ const bidRules = reactive<FormRules<RuleForm>>({
|
|
|
|
|
|
const steps = ref<any[]>([]);
|
|
|
const stage = ref(Number(sessionStorage.getItem('progres')) || 0);
|
|
|
-const tablelist = ref([
|
|
|
- {id:1,year:"2025",status:"中标",money:"620.00万",url:""},
|
|
|
- {id:2,year:"2024",status:"中标",money:"560.00万",url:""},
|
|
|
-]);
|
|
|
+
|
|
|
const stepsType = ref('')
|
|
|
// const swb_status = ref('1')
|
|
|
// const jsb_status = ref('1')
|
|
|
@@ -808,7 +841,7 @@ const ruleKBJKForm = reactive<RuleForm>({
|
|
|
c_sfzb:false,
|
|
|
c_kbsj:'',
|
|
|
c_xmmc:'',
|
|
|
- c_zbtjr:moment('2026-06-22 10:00:00').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ c_zbtjr:moment('2026-06-29 10:00:00').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
c_tbbj:'',
|
|
|
c_glxm:'',
|
|
|
c_enable: true
|
|
|
@@ -923,14 +956,14 @@ const handleViewClick = (item: any,type: string) => {
|
|
|
let flag2 = projects.value.rwlcqd.find((p: any) => p.id == '2').done
|
|
|
if(flag && flag2){
|
|
|
updateProject()
|
|
|
- console.log(item)
|
|
|
+ // console.log(item)
|
|
|
ruleZBJKForm.title = projects.value.title,
|
|
|
ruleZBJKForm.content = projects.value.content,
|
|
|
ruleZBJKForm.c_province = projects.value.sourceProject.c_sfzxs,
|
|
|
ruleZBJKForm.c_city = projects.value.sourceProject.c_sfzxs,
|
|
|
ruleZBJKForm.c_district = projects.value.sourceProject.c_sq,
|
|
|
// ruleZBJKForm.c_project_code = projects.value.xmbh
|
|
|
- ruleZBJKForm.c_title_key_word = projects.value.title,
|
|
|
+ ruleZBJKForm.c_title_key_word = projects.value.c_xmbt,
|
|
|
ruleZBJKForm.c_publisher_key_word = projects.value.c_xfyt,
|
|
|
ruleZBJKForm.c_complete = false,
|
|
|
ruleZBJKForm.c_gl_xm = projects.value.id,
|
|
|
@@ -954,9 +987,9 @@ const handleViewClick = (item: any,type: string) => {
|
|
|
}
|
|
|
|
|
|
}else if(item.n == 4){
|
|
|
- console.log(item)
|
|
|
+ // console.log(item)
|
|
|
if(type == 'cqgg'){
|
|
|
- console.log("cqgg=====",item)
|
|
|
+ // console.log("cqgg=====",item)
|
|
|
dialogFormFileVisible.value = true
|
|
|
}else if(stepsType.value == '1'){
|
|
|
let flag = projects.value.rwlcqd.find((p: any) => p.id == '4').done
|
|
|
@@ -1122,7 +1155,7 @@ const getDmsDataList = async (params: any) => {
|
|
|
const calculateRemaining = async (st: string, et: string, zbxmbh: string,xmbh: string): Promise<{ days: string; daysClass: string; year: string; type: string, zbProject: any,sourceProject:any }> => {
|
|
|
if (!et) return { days: '', daysClass: '', year: '', type: '', zbProject: {},sourceProject:{} }
|
|
|
const startDate = moment(moment(st).format('YYYY-MM-DD'), 'YYYY-MM-DD')
|
|
|
- const expireDate = moment(moment(et).format('YYYY-MM-DD'), 'YYYY-MM-DD')
|
|
|
+ const expireDate = moment(moment(et).add(45, 'days').format('YYYY-MM-DD'), 'YYYY-MM-DD')
|
|
|
|
|
|
if (!startDate.isValid() || !expireDate.isValid()) {
|
|
|
return { days: '', daysClass: '', year: '', type: '', zbProject: {},sourceProject:{} }
|
|
|
@@ -1143,15 +1176,17 @@ const calculateRemaining = async (st: string, et: string, zbxmbh: string,xmbh:
|
|
|
if (yearNum < 0) yearNum = 0
|
|
|
}
|
|
|
if (diffDays < 0) {
|
|
|
- return { days: `${Math.abs(diffDays)}`, daysClass: 'danger', year: yearNum.toString(), type: '已完成', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ return { days: `${Math.abs(diffDays)}`, daysClass: 'grey', year: yearNum.toString(), type: '已完成', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
} else if (diffDays === 0) {
|
|
|
- return { days: '0', daysClass: 'danger', year: yearNum.toString(), type: '进行中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
- } else if (diffDays <= 30) {
|
|
|
- return { days: `${diffDays}`, daysClass: 'danger', year: yearNum.toString(), type: '进行中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ return { days: '0', daysClass: 'grey', year: yearNum.toString(), type: '进行中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ } else if (diffDays <= 60) {
|
|
|
+ return { days: `${diffDays}`, daysClass: 'red', year: yearNum.toString(), type: '进行中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
} else if (diffDays <= 90) {
|
|
|
- return { days: `${diffDays}`, daysClass: 'warn', year: yearNum.toString(), type: '监控中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ return { days: `${diffDays}`, daysClass: 'orange', year: yearNum.toString(), type: '监控中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ } else if (diffDays <= 180) {
|
|
|
+ return { days: `${diffDays}`, daysClass: 'yellow', year: yearNum.toString(), type: '监控中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
} else {
|
|
|
- return { days: `${diffDays}`, daysClass: 'ok', year: yearNum.toString(), type: '监控中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
+ return { days: `${diffDays}`, daysClass: 'green', year: yearNum.toString(), type: '监控中', zbProject:zbProject,sourceProject:sourceProject }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1275,14 +1310,15 @@ const handleZBSubmit = async (formEl: FormInstance | undefined) => {
|
|
|
c_detail_url:ruleZBForm.c_detail_url,
|
|
|
}
|
|
|
updateZBProject(tempTask.value,formData,'')
|
|
|
- console.log(projects.value.id)
|
|
|
+ // console.log(projects.value.id)
|
|
|
getProjectParams(projects.value.id,'c_gl_xm',CONFIG.COLUMNIDARR[5]).then(async res => {
|
|
|
const reslust = (res as any)[0]
|
|
|
const content = {
|
|
|
id: reslust.id,
|
|
|
+ c_complete: true,
|
|
|
c_enable: false
|
|
|
}
|
|
|
- console.log(content)
|
|
|
+ // console.log(content)
|
|
|
updateProjectParams(CONFIG.COLUMNIDARR[5],CONFIG.MODELIDARR[2], content)
|
|
|
})
|
|
|
|
|
|
@@ -1320,12 +1356,12 @@ const handleKBJKSubmit = async (formEl: FormInstance | undefined) => {
|
|
|
await formEl.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
// console.log('submit!')
|
|
|
- console.log(ruleKBJKForm)
|
|
|
+ // console.log(ruleKBJKForm)
|
|
|
ruleKBJKForm.c_glxm = projects.value.xmbh
|
|
|
ruleKBJKForm.c_xmmc = projects.value.c_xmbt
|
|
|
ruleKBJKForm.c_zbbh = projects.value.zbxmbh
|
|
|
ruleKBJKForm.c_kbsj = moment(projects.value.zbkssj).format('YYYY-MM-DD HH:mm')
|
|
|
- ruleKBJKForm.title = projects.value.title
|
|
|
+ ruleKBJKForm.title = projects.value.c_xmbt
|
|
|
ruleKBJKForm.content = projects.value.content
|
|
|
ruleKBJKForm.c_enable = true
|
|
|
// console.log(ruleKBJKForm)
|
|
|
@@ -1353,7 +1389,7 @@ const handleKBJKSubmit = async (formEl: FormInstance | undefined) => {
|
|
|
tbrq:ruleKBJKForm.c_zbtjr,
|
|
|
tbbj:ruleKBJKForm.c_tbbj,
|
|
|
}
|
|
|
- console.log(constParams)
|
|
|
+ // console.log(constParams)
|
|
|
updateTXBProject(CONFIG.COLUMNIDARR[2],CONFIG.MODELIDARR[0],constParams)
|
|
|
dialogKBJKVisible.value = false
|
|
|
} else {
|
|
|
@@ -1368,7 +1404,7 @@ const handleBidSubmit = async (formEl: FormInstance | undefined) => {
|
|
|
await formEl.validate((valid) => {
|
|
|
if (valid) {
|
|
|
// console.log('submit!')
|
|
|
- console.log(ruleBidForm)
|
|
|
+ // console.log(ruleBidForm)
|
|
|
|
|
|
updateTypeProject(2)
|
|
|
ruleBidForm.file3.file.forEach((item: any) => {
|
|
|
@@ -1405,7 +1441,7 @@ const dialogFormFileVisible = ref(false)
|
|
|
const FileForm = ref<RuleForm>({})
|
|
|
const fileList = ref([])
|
|
|
const handleCQFileChange = (file: any) => {
|
|
|
- console.log(file)
|
|
|
+ // console.log(file)
|
|
|
FileForm.value.name = file.name
|
|
|
FileForm.value.file = file
|
|
|
}
|
|
|
@@ -1419,11 +1455,11 @@ const submitFileForm = (file:any) => {
|
|
|
type: 3,
|
|
|
file: file
|
|
|
}
|
|
|
- console.log(fileList.value)
|
|
|
+ // console.log(fileList.value)
|
|
|
api.uploadFile(params).then((res: any) => {
|
|
|
if((res as any).code === 200){
|
|
|
ElMessage.success('上传成功')
|
|
|
- console.log((res as any).content)
|
|
|
+ // console.log((res as any).content)
|
|
|
const path = (res as any).content
|
|
|
getProjectParams(projects.value.id,'c_gltxbid',columnId).then(async res2 => {
|
|
|
let arr = []
|
|
|
@@ -1436,7 +1472,7 @@ const submitFileForm = (file:any) => {
|
|
|
create_time: moment().format('YYYY-MM-DD HH:mm'),
|
|
|
author: userName,
|
|
|
})
|
|
|
- console.log(arr)
|
|
|
+ // console.log(arr)
|
|
|
const params: any = {
|
|
|
columnId: columnId,
|
|
|
modelId: modelId,
|
|
|
@@ -1589,7 +1625,7 @@ const updateJKLCProject = async () => {
|
|
|
{ n: 4, label: '标书制作'},
|
|
|
{ n: 5, label: '投标提交'},
|
|
|
{ n: 6, label: '开标监控'},
|
|
|
- { n: 7, label: '确认中标'},
|
|
|
+ { n: 7, label: '开标监控完成,已中标'},
|
|
|
]
|
|
|
let xmjd_json = projects.value.c_xmjd_json
|
|
|
let json = xmjd_json.map((item:any) => {
|