{"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\\participateRegistration\\component\\participateMaterial.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\src\\views\\Normal\\ManagementBid\\participateRegistration\\component\\participateMaterial.vue","mtime":1720125638776},{"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//\n//\n\r\nimport pagination from '@/components/pagination'\r\nimport {TableMixin} from '@/mixins/tableMixin'\r\nimport {mapState} from 'vuex'\r\nimport qualificationsDialog from './module/qualificationsDialog.vue';\r\nimport routerManagement from '@/api/BasicDataManagement/routerManagement.js'\r\nimport qualification from '@/components/dialog/qualificationDialog.vue'\r\nimport req from '@/request.js'\r\nimport utils from '@/utils.js'\r\nconst portal = window.context.portal\r\nexport default {\r\n name: 'DemandEntry',\r\n components: {\r\n pagination,\r\n qualificationsDialog,\r\n qualification\r\n },\r\n mixins: [TableMixin],\r\n data() {\r\n return {\r\n tableHeight: 1000,\r\n currentPage: 1,\r\n tableMaxHeight: 400,\r\n loading: false,\r\n examineing:false,\r\n showDialog: false,\r\n queryParam: {\r\n pageBean: {\r\n pageSize: 20,\r\n page: 1,\r\n total: 0,\r\n },\r\n },\r\n qualificationList:[],\r\n tableLoading: false,\r\n dialogVisible: false,\r\n quesing: false,\r\n visible: false,\r\n tableData: [],\r\n form: {\r\n describe: '',\r\n accessoryList: [],\r\n },\r\n detailsList: [],\r\n multipleSelection: [],\r\n params: {},\r\n rules: {\r\n describe: [\r\n {\r\n required: true,\r\n message: '请输入问题描述',\r\n trigger: 'blur',\r\n },\r\n ],\r\n },\r\n searchForm: {}, // 顶部搜索对象\r\n deleteIds: '', // 是否选中列表解锁删除按钮\r\n currentDataDel: [], // 删除时排查是否有在审核的数据\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'BID_STATUS_',\r\n relation: 'AND',\r\n value: '3',\r\n },\r\n {\r\n group: 'main',\r\n operation: 'LIKE',\r\n parentGroup: '',\r\n property: 'projectNumber',\r\n relation: 'AND',\r\n value: '',\r\n },\r\n {\r\n group: 'main',\r\n operation: 'LESS',\r\n parentGroup: '',\r\n property: 'biddingEndTime',\r\n relation: 'AND',\r\n value: '',\r\n },\r\n ],\r\n }\r\n },\r\n mounted() {},\r\n created() {\r\n const moment = require('moment')\r\n this.querys[2].value = moment().format('YYYY-MM-DD HH:mm:ss')\r\n this.loadData()\r\n },\r\n methods: {\r\n getDictName(code, value) {\r\n return utils.getDictName(code, value)\r\n },\r\n //获取数据\r\n loadData() {\r\n this.tableLoading = true\r\n this.queryParam.querys = []\r\n if (this.querys[0].value) {\r\n this.queryParam.querys.push(this.querys[0])\r\n }\r\n if (this.querys[1].value) {\r\n this.queryParam.querys.push(this.querys[1])\r\n }\r\n this.queryParam.sorter = [\r\n {\r\n direction: 'DESC',\r\n property: 'create_time_',\r\n },\r\n ]\r\n routerManagement.queryEventsList(this.queryParam).then((res) => {\r\n if (res.data.state) {\r\n this.tableLoading = false\r\n this.tableData = res.data.value.rows\r\n this.queryParam.pageBean = {\r\n page: res.data.value.page,\r\n pageSize: res.data.value.pageSize,\r\n total: res.data.value.total,\r\n }\r\n }\r\n this.tableData.forEach((item) => {\r\n this.$set(item, 'joining', false)\r\n this.$set(item, 'cancle', false)\r\n })\r\n this.$set(this.tableData)\r\n console.log('返回的表格数据', this.tableData)\r\n })\r\n },\r\n handleSuccess(res, fileList) {\r\n this.form.accessoryList.push(res.value)\r\n },\r\n //下载按钮回调\r\n downloadFile(name, url) {\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(index) {\r\n this.$confirm('是否确认删除该附件', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n this.form.accessoryList.splice(index, 1)\r\n this.params.matApprovalQualificationList.forEach(item=>{\r\n item.accessoryList.forEach((val,i)=>{\r\n if(index == i){\r\n item.accessoryList.splice(i, 1)\r\n }\r\n })\r\n })\r\n })\r\n },\r\n openQualification(row) {\r\n this.$refs.qualification.add(row)\r\n },\r\n getLoad(data){\r\n data.forEach(item=>{\r\n item.qualificationTypeName = item.qualificationName\r\n })\r\n this.params.matApprovalQualificationList.forEach(item=>{\r\n item.accessoryList = data\r\n })\r\n this.$forceUpdate()\r\n },\r\n // 参与报名无资质\r\n handleJoin(row) {\r\n console.log(row, 'row')\r\n row.joining = true\r\n if (row.joinStatus == 0) {\r\n let form = {\r\n noticeId: row.id,\r\n noticeTitle: row.noticeTitle,\r\n noticeType: '1',\r\n status: '',\r\n noticeCode: row.projectNumber,\r\n price: row.bond,\r\n }\r\n if(row.hasBond == 1){\r\n form.status = 3\r\n }\r\n if(row.hasBond == 0){\r\n form.status = 1\r\n }\r\n this.$http\r\n .post('${portal}/userParticipation/v1/participate', form)\r\n .then((res) => {\r\n console.log(res, 'data')\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.loadData()\r\n }\r\n row.joining = false\r\n })\r\n } else {\r\n this.$http\r\n .post(\r\n '${portal}/userParticipation/v1/modifyStatus?ids=' +\r\n row.partId +\r\n '&status=1'\r\n )\r\n .then((res) => {\r\n console.log(res, 'data')\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.loadData()\r\n }\r\n row.joining = false\r\n })\r\n }\r\n },\r\n // 有资质报名弹窗\r\n openJoin(row) {\r\n // this.$refs.flowDialog.handleOpen(row) \r\n this.$http\r\n .post('${portal}/matApproval/v1/getDataById?id=' + row.id)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.params = res.data.value\r\n this.showDialog = true\r\n this.$set(this.params)\r\n this.params.matApprovalQualificationList.forEach((item) => {\r\n item['accessoryList'] = []\r\n })\r\n }\r\n })\r\n },\r\n // 参与报名有资质\r\n clickJoin() {\r\n this.quesing = true\r\n let form = {\r\n noticeId: this.params.id,\r\n noticeTitle: this.params.noticeTitle,\r\n noticeType: '1',\r\n status: '1',\r\n noticeCode: this.params.projectNumber,\r\n price: this.params.bond,\r\n accessoryList: [],\r\n }\r\n this.params.matApprovalQualificationList.forEach(item=>{\r\n if(item.accessoryList&&item.accessoryList.length!=0){\r\n item.accessoryList.forEach(val=>{\r\n if(val.id){\r\n delete val.id\r\n }\r\n form.accessoryList.push(val)\r\n })\r\n }\r\n })\r\n if(form.accessoryList.length==0){\r\n this.$message.warning('请传入资质附件')\r\n this.quesing = false\r\n return\r\n }\r\n this.$http\r\n .post('${portal}/userParticipation/v1/qualificationsParticipate', form)\r\n .then((res) => {\r\n console.log(res, 'data')\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.loadData()\r\n this.dialogBeforeClose()\r\n }\r\n this.quesing = false\r\n })\r\n },\r\n // 取消报名\r\n handleCanle(row) {\r\n row.cancle = true\r\n this.$http\r\n .post(\r\n '${portal}/userParticipation/v1/modifyStatus?ids=' +\r\n row.partId +\r\n '&status=5'\r\n )\r\n .then((res) => {\r\n console.log(res, 'data')\r\n if (res.data.state) {\r\n this.$message.success(res.data.message)\r\n this.loadData()\r\n }\r\n row.cancle = false\r\n })\r\n },\r\n handleExamine(){\r\n this.$http\r\n .post(\r\n '${portal}/userParticipation/v1/modifyStatus?ids='+this.multipleSelection[0].partId +\r\n '&status=3'\r\n )\r\n .then((res) => {\r\n console.log(res, 'data')\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 clickSuccess(res, row, index) {\r\n this.params.matApprovalQualificationList.forEach((item, i) => {\r\n if (i == index) {\r\n item.accessoryList.push(res.value)\r\n if (item.accessoryList && item.accessoryList.length != 0) {\r\n item.accessoryList.forEach((val) => {\r\n val['filesize'] = item.fileSize\r\n val['fileNum'] = item.fileNum\r\n val['qualificationTypeName'] = item.qualificationTypeName\r\n val['group'] = item.id\r\n })\r\n }\r\n }\r\n })\r\n this.$forceUpdate()\r\n },\r\n // 查看明细\r\n handleDetails(row) {\r\n this.$http\r\n .post('${portal}/matApproval/v1/getDataById?id=' + row.id)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.detailsList = res.data.value.detailsList\r\n this.dialogVisible = true\r\n }\r\n })\r\n },\r\n // 澄清提问\r\n goQuestions() {\r\n this.visible = true\r\n },\r\n handleQuestion() {\r\n let data = {\r\n projectApprovalId: this.multipleSelection[0].id,\r\n describe: this.form.describe,\r\n accessoryList: this.form.accessoryList,\r\n projectApprovalType: 1,\r\n }\r\n this.quesing = true\r\n this.$http\r\n .post('${portal}/clarifyQuestions/v1/saveOrUpdate', data)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.loadData()\r\n this.dialogBeforeClose()\r\n this.form = {\r\n describe: '',\r\n accessoryList: [],\r\n }\r\n }\r\n this.quesing = false\r\n })\r\n },\r\n //重置\r\n clearSearchForm() {\r\n this.querys[1].value = ''\r\n this.querys[2].value = ''\r\n this.loadData()\r\n },\r\n // 顶部搜索\r\n handleSearch() {\r\n this.loadData()\r\n },\r\n dialogBeforeClose() {\r\n this.dialogVisible = false\r\n this.visible = false\r\n this.showDialog = false\r\n },\r\n //去结算\r\n goCheckout() {\r\n this.$router.push({\r\n path: `participateRecording/${1}`,\r\n })\r\n },\r\n handleSelectionChange(currentData) {\r\n this.currentDataDel = currentData\r\n this.multipleSelection = currentData\r\n if (currentData.length === 0) return (this.deleteIds = '')\r\n let ids = []\r\n currentData.forEach((item) => {\r\n ids.push(item.id)\r\n })\r\n this.deleteIds = ids.join(',')\r\n if (this.multipleSelection.length > 1) {\r\n this.$refs.multipleSelection.toggleRowSelection(\r\n this.multipleSelection[0],\r\n false\r\n )\r\n }\r\n },\r\n handleCurrentChange(page) {\r\n this.queryParam.pageBean = {...this.queryParam.pageBean, page}\r\n this.loadData(this.queryParam)\r\n },\r\n handleSizeChange(pageSize) {\r\n this.queryParam.pageBean = {...this.queryParam.pageBean, pageSize}\r\n this.loadData(this.queryParam)\r\n },\r\n },\r\n computed: {\r\n SearchPanel() {\r\n return {\r\n '--searchPanel': this.searchPanel + 'px',\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}\r\n",null]}