| | |
| | | <div> |
| | | <el-dialog |
| | | title="实验方案详情" |
| | | :visible.sync="visible" |
| | | :visible="dialogVisible" |
| | | width="80%" |
| | | :close-on-click-modal="false" |
| | | @close="handleClose" |
| | |
| | | <img src="@/assets/public/headercard.png" /> |
| | | <div>所属实验调度</div> |
| | | </div> |
| | | <el-button @click="handleStopExperiment" type="danger"> |
| | | <el-button @click="handleStopExperiment" type="danger" v-if='form.status != 2 && form.status != 3 && form.status != 4'> |
| | | 申请终止实验</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | form: { |
| | | projectName: "", // 项目课题方案名称 |
| | | projectCode: "", // 项目课题方案编号 |
| | |
| | | }; |
| | | }, |
| | | watch: { |
| | | visible: { |
| | | handler(val) { |
| | | this.dialogVisible = val; |
| | | if (val && this.data && this.data.id) { |
| | | // 弹窗打开时,确保数据已获取 |
| | | this.getPlanDetail(this.data.id); |
| | | } |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | data: { |
| | | handler(val) { |
| | | if (val && val.id) { |
| | |
| | | }, |
| | | immediate: true, |
| | | deep: true, |
| | | }, |
| | | visible: { |
| | | handler(val) { |
| | | if (val && this.data && this.data.id) { |
| | | // 弹窗打开时,确保数据已获取 |
| | | this.getPlanDetail(this.data.id); |
| | | } |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | }, |
| | | methods: { |
| | |
| | | return statusMap[status] || "未知"; |
| | | }, |
| | | handleClose() { |
| | | this.$emit("update:visible", false); |
| | | this.form.approvalComment = ""; |
| | | this.$emit('update:visible', false); |
| | | }, |
| | | handleApprove() { |
| | | if (!this.form.approvalComment) { |
| | |
| | | }); |
| | | if(res.status==4||res.status==3){ |
| | | processData.push({ |
| | | type: |
| | | res.auditStatus === 2 |
| | | ? "primary" |
| | | : res.auditStatus === 3 |
| | | ? "danger" |
| | | : "warning", |
| | | type:'primary', |
| | | mode: "list", |
| | | fields: [ |
| | | { |
| | | label: "审核结果:", |
| | | value: |
| | | res.auditStatus === 2 |
| | | res.status ==3 |
| | | ? "通过" |
| | | : res.auditStatus === 3 |
| | | : res.status ==4 |
| | | ? "驳回" |
| | | : "待审批", |
| | | }, |
| | |
| | | border-bottom: 1px solid #e4e7ed; |
| | | } |
| | | |
| | | ::v-deep .el-dialog__body { |
| | | padding: 20px; |
| | | max-height: 80vh; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | @media screen and (max-width: 1200px) { |
| | | ::v-deep .el-dialog__body { |
| | | max-height: none; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | |
| | | .approval-dialog { |
| | | display: flex; |
| | | height: 60vh; |
| | | padding:20px; |
| | | overflow: hidden; |
| | | |
| | | @media screen and (max-width: 1200px) { |
| | | flex-direction: column; |
| | | height: auto; |
| | | |
| | | .approval-content, .approval-flow { |
| | | width: 100%; |
| | | margin-right: 0; |
| | | margin-bottom: 20px; |
| | | height: 50vh; |
| | | } |
| | | } |
| | | |
| | | .approval-content { |
| | | flex: 1; |
| | | flex: 7; |
| | | margin-right: 20px; |
| | | background: #ffffff; |
| | | box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.08); |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .approval-flow { |
| | | flex: 3; |
| | | min-width: 350px; |
| | | padding: 40px 20px; |
| | | width: 405px; |
| | | background: #ffffff; |
| | | box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.08); |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | |
| | | .flow-title { |
| | | font-size: 16px; |