{"remainingRequest":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\jd_cgpt_fvue\\src\\views\\Normal\\ManagementBid\\quotesMy\\component\\tendeRecording.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\src\\views\\Normal\\ManagementBid\\quotesMy\\component\\tendeRecording.vue","mtime":1720730442274},{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport Breadcrumb from '@/components/Breadcrumb/index.vue'\r\nimport {mapState} from 'vuex'\r\nimport basicData from '@/api/basicData'\r\nexport default {\r\n name: 'domesticDialog',\r\n components: {Breadcrumb},\r\n props: {\r\n editData: Object,\r\n },\r\n data() {\r\n return {\r\n form: {},\r\n totalValue: 0,\r\n importData: {\r\n title: '导入报价',\r\n templateName: '导入报价导入模板.xls',\r\n downloadUrl:\r\n window.context.portal +\r\n '/matApprovalDetails/v1/exportTemplateToExcel',\r\n importUrl:\r\n window.context.portal + '/matApprovalDetails/v1/excelTemplateToData',\r\n show: true,\r\n header: '报价导入',\r\n },\r\n dialogVisible: false,\r\n breadcrumbOpt: [{breadcrumbName: '物资采购'}, {breadcrumbName: '报价'}],\r\n tableData: [],\r\n dataList: [],\r\n time: null,\r\n biding: false,\r\n addendumList: [], //补遗文件\r\n tenderList: [], //投标文件\r\n exporting: false,\r\n show: false,\r\n clarifyList: [], //澄清文件\r\n activeName: '0',\r\n tableLoading: false,\r\n id: '',\r\n params: {},\r\n fileList: [],\r\n saveing: false,\r\n startTime: null,\r\n bidFileList: [],\r\n templateId: '',\r\n templateDetailId: '',\r\n endTime: null,\r\n countDown: null,\r\n dataing:false,\r\n dateTime: {\r\n days: '',\r\n hours: '',\r\n minutes: '',\r\n seconds: '',\r\n },\r\n currentUser: {},\r\n tableHeadData: [{label: '我的报价', width: 130, prop: 'quoArrange'}],\r\n }\r\n },\r\n created() {\r\n ;(this.tableHeadData = [\r\n {label: '我的报价', width: 130, prop: 'quoArrange'},\r\n {label: '合计金额', width: 120, prop: 'amount'},\r\n ]),\r\n (this.currentUser = JSON.parse(\r\n sessionStorage.getItem('currentUserDetail')\r\n ))\r\n this.id = this.$route.params.id\r\n this.method = this.$route.params.method\r\n this.loadData()\r\n this.selectTree()\r\n },\r\n watch: {\r\n tableData: {\r\n handler: function (newVal, oldVal) {\r\n let sum = 0\r\n newVal.forEach((item) => {\r\n if (item.quoArrange != undefined) {\r\n sum += item.quoArrange * item.matNum\r\n this.totalValue = sum.toFixed(2)\r\n }\r\n })\r\n },\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.getBidFiles()\r\n },\r\n computed: {\r\n uploadHeaders: function () {\r\n return {\r\n Authorization:\r\n this.$store.state.login.currentUser &&\r\n 'Bearer ' + this.$store.state.login.currentUser.token,\r\n }\r\n },\r\n ...mapState({\r\n headers: (state) => {\r\n return {Authorization: `Bearer ${state.login.currentUser.token}`}\r\n },\r\n action: function () {\r\n return window.context.portal + '/biz/universal/v1/minioUpload'\r\n },\r\n }),\r\n },\r\n methods: {\r\n handleClick() {\r\n if (this.activeName == 2) {\r\n this.getBidFiles()\r\n }\r\n if (this.activeName == 1) {\r\n let arr = []\r\n let arr1 = []\r\n let parmas = {\r\n pageBean: {\r\n pageSize: -1,\r\n page: -1,\r\n },\r\n querys: [],\r\n }\r\n parmas.querys.push(\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'operateOrgId',\r\n relation: 'AND',\r\n value: this.currentUser.org[0].orgId,\r\n },\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'projectApprovalId',\r\n relation: 'AND',\r\n value: this.id,\r\n }\r\n )\r\n this.$http\r\n .post('${portal}/clarifyQuestions/v1/page', parmas)\r\n .then((res) => {\r\n arr = res.data.value.rows\r\n let data = {\r\n pageBean: {\r\n pageSize: -1,\r\n page: -1,\r\n },\r\n querys: [],\r\n }\r\n data.querys.push({\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'questionsId',\r\n relation: 'AND',\r\n value: arr[0].projectApprovalId,\r\n })\r\n this.$http\r\n .post('${portal}/clarifyAnswer/v1/page', data)\r\n .then((res) => {\r\n console.log(res, 1111111111)\r\n })\r\n })\r\n }\r\n if (this.activeName == 4) {\r\n this.dataing = true\r\n this.selectTree()\r\n let parmas = {\r\n pageBean: {\r\n pageSize: -1,\r\n page: -1,\r\n },\r\n querys: [],\r\n }\r\n parmas.querys.push(\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'noticeId',\r\n relation: 'AND',\r\n value: this.id,\r\n },\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'noticeType',\r\n relation: 'AND',\r\n value: 1,\r\n }\r\n )\r\n this.$http\r\n .post('${portal}/bizEvaluationSystem/v1/pageDetail', parmas)\r\n .then((res) => {\r\n let data = res.data.value.rows\r\n this.dataing = false\r\n this.scoreData.forEach((item) => {\r\n data.forEach((val) => {\r\n val.descriptionList.forEach((e) => {\r\n if (e.evaluationItemPid == item.id) {\r\n item.evaluationItemPname = item.subjectName\r\n item.evaluationScore += e.evaluationScore\r\n item.children.push(e)\r\n }\r\n })\r\n })\r\n })\r\n })\r\n console.log(this.scoreData)\r\n }\r\n },\r\n //查询评标分类树结构\r\n selectTree() {\r\n this.scoreData = []\r\n basicData.bizEvaluationItemSelectTree().then((res) => {\r\n this.scoreData = res.value[0].children\r\n this.scoreData.forEach((item) => {\r\n this.$set(item, 'evaluationScore', 0)\r\n })\r\n })\r\n },\r\n //报价总额\r\n totalChange() {\r\n this.totalValue = 0\r\n let sum = 0\r\n this.tableData.forEach((item) => {\r\n if (item.quoArrange != undefined) {\r\n sum += item.quoArrange * item.matNum\r\n this.totalValue = sum.toFixed(2)\r\n }\r\n })\r\n },\r\n handleDown() {\r\n this.exporting = true\r\n let data = {\r\n querys: [],\r\n }\r\n data.querys.push({\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'noticeId',\r\n relation: 'AND',\r\n value: this.params.id,\r\n })\r\n let portal = window.context.portal\r\n let query = {\r\n url: `${portal}/matApprovalDetails/v1/exportTemplateToExcel`,\r\n method: 'post',\r\n data: data,\r\n headers: {\r\n 'Content-type': 'application/json',\r\n },\r\n responseType: 'blob', //将文件流转成blob对象\r\n noErrorMsg: true,\r\n }\r\n this.$http.request(query).then((res) => {\r\n if (res.status == 200) {\r\n this.$message.success('导出成功')\r\n this.exporting = false\r\n } else {\r\n this.$message.error('导出失败')\r\n this.exporting = false\r\n }\r\n })\r\n },\r\n //下载文件\r\n downloadFile(name, url) {\r\n console.log(name, 'name')\r\n const link = document.createElement('a')\r\n link.style.display = 'none'\r\n link.target = '_blank'\r\n // 设置下载地址\r\n link.setAttribute('href', url)\r\n // 设置文件名\r\n link.setAttribute('download', name)\r\n link.download = name\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n },\r\n /** 鼠标移入cell */\r\n handleCellEnter(row, column, cell, event) {\r\n row.isEdit = true\r\n },\r\n /** 鼠标移出cell */\r\n handleCellLeave(row, column, cell, event) {\r\n row.isEdit = false\r\n },\r\n load(data) {\r\n console.log(data, 'ress')\r\n let sum = 0\r\n this.tableData.forEach((item) => {\r\n data.forEach((val) => {\r\n if (item.id == val['标的ID']) {\r\n item.quoArrange = Number(val['含税单价'])\r\n item.quotationTemplateDetailList.forEach((i) => {\r\n if (item.quotationTemplateDetailDataList) {\r\n item.quotationTemplateDetailDataList.push({\r\n noticeDetailedId: item.id,\r\n noticeId: this.id,\r\n noticeType: 1,\r\n templateId: i.templateId,\r\n templateDetailId: i.id,\r\n value: item.quoArrange,\r\n quoArrange: i.quoArrange,\r\n })\r\n item.quotationTemplateDetailDataList.forEach((val) => {\r\n if (val.quoArrange == '合计金额') {\r\n val.priceEntry = 2\r\n val['value'] = item.quoArrange * item.matNum\r\n } else {\r\n val.priceEntry = 1\r\n }\r\n })\r\n }\r\n })\r\n sum += item.quoArrange * item.matNum\r\n }\r\n })\r\n })\r\n },\r\n loadData() {\r\n this.tableLoading = true\r\n let params = {\r\n pageBean: {\r\n page: -1,\r\n pageSize: -1,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'noticeId',\r\n relation: 'AND',\r\n value: this.id,\r\n },\r\n ],\r\n }\r\n this.$http\r\n .post('${portal}/matApprovalDetails/v1/quoData', params)\r\n .then((res) => {\r\n console.log(res, 'res')\r\n if (res.data.state) {\r\n this.params = res.data.value\r\n console.log(this.params, 'this.params')\r\n this.time =\r\n new Date(this.params.biddingEndTime).getTime() - Date.now()\r\n if (new Date(this.params.biddingStartTime).getTime() > Date.now()) {\r\n this.show = false\r\n }\r\n this.tableData = res.data.value.detailsList\r\n this.countDownMethod(this.params)\r\n this.dataList = []\r\n if (res.data.value.zbDocument != undefined) {\r\n this.dataList = res.data.value.zbDocument.accessoryList\r\n }\r\n this.addendumList = []\r\n if (\r\n res.data.value.byDocument != undefined &&\r\n res.data.value.byDocument.length != 0\r\n ) {\r\n res.data.value.byDocument.forEach((item) => {\r\n if (item.accessoryList && item.accessoryList.length != 0) {\r\n item.accessoryList.forEach((val) => {\r\n if (item.id == val.sourceId) {\r\n val.describe = item.describe\r\n this.addendumList.push(val)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n this.tableData.forEach((item, index) => {\r\n if (item.quotationTemplateDetailDataList == undefined) {\r\n item.quotationTemplateDetailDataList = []\r\n }\r\n if (item.quoArrange == undefined) {\r\n this.$set(item, 'quoArrange', 0)\r\n }\r\n\r\n if (\r\n item.quotationTemplateDetailList &&\r\n item.quotationTemplateDetailList.length != 0\r\n ) {\r\n if (\r\n item.quotationTemplateDetailList[0].value == undefined &&\r\n this.params.quotationRoundsNum == 1\r\n ) {\r\n item.quoArrange = 0\r\n } else {\r\n item.quoArrange = item.quotationTemplateDetailList[0].value\r\n }\r\n if (this.params.quotationRoundsNum != 1&& item.quotationTemplateDetailList[0].value == undefined) {\r\n item.quoArrange = 0\r\n item[\r\n 'quoValue' + (this.params.quotationRoundsNum - 1).toString()\r\n ] =\r\n item.quotationTemplateDetailList[0][\r\n 'quoValue' + (this.params.quotationRoundsNum - 1).toString()\r\n ]\r\n }else{\r\n item.quoArrange = item.quotationTemplateDetailList[0].value\r\n item[\r\n 'quoValue' + (this.params.quotationRoundsNum - 1).toString()\r\n ] =\r\n item.quotationTemplateDetailList[0][\r\n 'quoValue' + (this.params.quotationRoundsNum - 1).toString()\r\n ]\r\n }\r\n item.quotationTemplateDetailList.forEach((object) => {\r\n let arr = []\r\n arr = Object.keys(item.quotationTemplateDetailList[0])\r\n this.tableHeadData.forEach((val) => {\r\n arr.forEach((e) => {\r\n if (e == val.prop && object.quoArrange != '') {\r\n val.label = item.quotationTemplateDetailList[0].quoArrange\r\n }\r\n })\r\n })\r\n })\r\n }\r\n this.$set(item, 'isEdit', true)\r\n })\r\n console.log(this.tableData, 'tableData')\r\n this.tableLoading = false\r\n })\r\n },\r\n // 倒计时定时器\r\n countDownMethod(row) {\r\n this.countDown = setInterval(() => {\r\n const date =\r\n Date.parse(new Date(row.biddingEndTime)) - Date.parse(new Date())\r\n if (date > 0) {\r\n this.dateTime = this.formatDate(date)\r\n } else {\r\n this.countDown = '已结束'\r\n this.show = true\r\n // this.handleClose()\r\n this.tableData = []\r\n this.totalValue = 0\r\n clearInterval(this.countDown)\r\n }\r\n }, 1000)\r\n },\r\n formatDate(time) {\r\n let days = this.addZero(Math.floor(time / 1000 / 60 / 60 / 24)) //天\r\n let hours = this.addZero(Math.floor((time / 1000 / 60 / 60) % 24)) //时\r\n let minutes = this.addZero(Math.floor((time / 1000 / 60) % 60)) //分\r\n let seconds = this.addZero(Math.floor((time / 1000) % 60)) //秒\r\n return {\r\n days,\r\n hours,\r\n minutes,\r\n seconds,\r\n }\r\n },\r\n addZero(d) {\r\n return parseInt(d) < 10 ? '0' + d : d\r\n },\r\n // 获取投标文件\r\n getBidFiles() {\r\n let parmas = {\r\n pageBean: {\r\n pageSize: -1,\r\n page: -1,\r\n },\r\n querys: [],\r\n }\r\n parmas.querys.push(\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'projectApprovalId',\r\n relation: 'AND',\r\n value: this.id,\r\n },\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'projectApprovalType',\r\n relation: 'AND',\r\n value: 1,\r\n },\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'supplierId',\r\n relation: 'AND',\r\n value: this.currentUser.org[0].orgId,\r\n }\r\n )\r\n this.tenderList = []\r\n this.$http.post('${portal}/bidDocuments/v1/page', parmas).then((res) => {\r\n let data = res.data.value.rows\r\n data.forEach((item) => {\r\n if (item.accessoryList && item.accessoryList.length != 0) {\r\n item.accessoryList.forEach((val) => {\r\n this.tenderList.push(val)\r\n })\r\n }\r\n })\r\n })\r\n },\r\n // 关闭//面包屑点击\r\n handleClose() {\r\n this.$router.push({\r\n name: 'quotesMy',\r\n params: {\r\n tabsActiveName: 'TenderProcurement',\r\n },\r\n })\r\n },\r\n // 删除\r\n deleteFile(index) {\r\n this.$confirm('是否确认删除该附件', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n this.bidFileList.splice(index, 1)\r\n })\r\n },\r\n changeQuoArrange(row) {\r\n if (row.maximumPriceLimit != undefined) {\r\n if (row.quoArrange > row.maximumPriceLimit) {\r\n this.$message.error('当前项报价已超过最高限价,请重新报价!')\r\n return\r\n }\r\n }\r\n row.quotationTemplateDetailDataList = []\r\n row.quotationTemplateDetailList.forEach((item) => {\r\n row.quotationTemplateDetailDataList.push({\r\n noticeDetailedId: row.id,\r\n noticeId: this.id,\r\n noticeType: 1,\r\n templateId: item.templateId,\r\n templateDetailId: item.id,\r\n value: row.quoArrange,\r\n quoArrange: item.quoArrange,\r\n })\r\n })\r\n this.tableData.forEach((e) => {\r\n if (e.quotationTemplateDetailDataList.length != 0) {\r\n e.quotationTemplateDetailDataList.forEach((val) => {\r\n if (e.id == val.noticeDetailedId && val.quoArrange == '合计金额') {\r\n val.priceEntry = 2\r\n val['value'] = e.quoArrange * e.matNum\r\n } else {\r\n val.priceEntry = 1\r\n }\r\n })\r\n } else {\r\n e.quotationTemplateDetailList.forEach((i) => {\r\n if (i.quoArrange == '合计金额') {\r\n i.priceEntry = 2\r\n }\r\n e.quotationTemplateDetailDataList.push({\r\n noticeDetailedId: e.id,\r\n noticeId: this.id,\r\n noticeType: 1,\r\n templateId: i.templateId,\r\n templateDetailId: i.id,\r\n value: e.quoArrange,\r\n priceEntry: i.priceEntry,\r\n quoArrange: i.quoArrange,\r\n })\r\n })\r\n }\r\n })\r\n },\r\n // 报价\r\n open() {\r\n console.log(this.tenderList, '/bidDocuments/v1/removeByIds')\r\n if (\r\n this.tenderList.length == 0 &&\r\n this.params.isBidDocumentsUpload == 1\r\n ) {\r\n this.$message.warning('请上传投标文件')\r\n this.show = true\r\n return\r\n } else {\r\n this.show = false\r\n }\r\n this.saveing = true\r\n let quoVo = {\r\n matApproval: {\r\n detailsList: [],\r\n },\r\n }\r\n this.tableData.forEach((item) => {\r\n if (item.quoArrange > 0) {\r\n quoVo.matApproval.detailsList.push(item)\r\n }\r\n })\r\n quoVo.matApproval = {...quoVo.matApproval, ...this.params}\r\n console.log(quoVo)\r\n this.$http\r\n .post('${portal}/bizBiddingQuotation/v1/quotationMat', quoVo)\r\n .then((res) => {\r\n this.saveing = false\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.loadData()\r\n }\r\n })\r\n },\r\n // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用,function(file, fileList)\r\n handleSuccess(res, file, fileList) {\r\n console.log(res, fileList)\r\n this.bidFileList.push(res.value)\r\n if (this.bidFileList.length != 0) {\r\n this.show = false\r\n }\r\n },\r\n //下载按钮回调\r\n downloadFile(name, url) {\r\n console.log(name, 'name')\r\n var a = document.createElement('a')\r\n var event = new MouseEvent('click')\r\n a.download = name\r\n a.target = '_blank'\r\n a.href = url\r\n a.dispatchEvent(event)\r\n },\r\n // 删除\r\n deleteHandle(id, index) {\r\n this.$confirm('是否确认删除该附件', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n if (this.activeName == 2 && id) {\r\n this.$http\r\n .post('${portal}/biz/universal/v1/delete?ids=' + id)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.$message.success('删除成功')\r\n this.getBidFiles()\r\n }\r\n })\r\n }\r\n this.$forceUpdate()\r\n })\r\n },\r\n dialogBeforeClose() {\r\n this.dialogVisible = false\r\n },\r\n // 打开投标文件\r\n openBid() {\r\n this.dialogVisible = true\r\n },\r\n // 保存投标文件\r\n saveBid() {\r\n let data = {\r\n accessoryList: [],\r\n projectApprovalId: this.params.id,\r\n projectApprovalType: 1,\r\n quotationRounds: 1,\r\n supplierId: '',\r\n }\r\n data.supplierId = this.currentUser.org[0].orgId\r\n data.accessoryList = this.bidFileList\r\n this.biding = true\r\n this.$http\r\n .post('${portal}/bidDocuments/v1/saveOrUpdateEntity', data)\r\n .then((res) => {\r\n this.biding = false\r\n if (res.data.state) {\r\n this.handleClick()\r\n this.dialogBeforeClose()\r\n this.bidFileList = []\r\n }\r\n })\r\n },\r\n },\r\n}\r\n",null]}