| | |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :visible.sync="visible" |
| | | width="80%" |
| | | width="90%" |
| | | @open='open' |
| | | top="5vh" |
| | | :close-on-click-modal="false" |
| | | @close="handleClose" |
| | | > |
| | |
| | | <div style="padding-left: 25px"> |
| | | <el-form-item prop="experimentTime" label="试验时间"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="form.experimentTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | |
| | | <img |
| | | v-if="imgSrc" |
| | | style="width: 200px; height: 100px; margin-left: 25px" |
| | | :src="imgSrc" |
| | | :src="getFullUrl(imgSrc)" |
| | | fit="fit" |
| | | /> |
| | | </div> |
| | |
| | | import SignatureCanvas from "@/components/SignatureCanvas.vue"; |
| | | import AIEditor from "@/components/AiEditor"; |
| | | import { getDetailById, sign } from "./service"; |
| | | import {queryDetail} from '@/components/service.js' |
| | | import {getFullUrl} from '@/utils/utils.js' |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | open(){ |
| | | queryDetail().then(res=>{ |
| | | if(res){ |
| | | this.imgSrc=res.signPicture |
| | | } |
| | | }) |
| | | }, |
| | | // 获取详情 |
| | | getDetail(id) { |
| | | getDetailById({ id }) |
| | |
| | | name: item.nickName || "", |
| | | status: item.status === 2 ? "已确认" : "待确认", |
| | | approveTime: item.status === 2 ? item.signTime : "", |
| | | avatar: item.avatar || "", |
| | | avatar: item.avatar, |
| | | })), |
| | | }, |
| | | { |
| | |
| | | name: item.nickName || "", |
| | | status: item.status === 2 ? "已确认" : "待确认", |
| | | approveTime: item.status === 2 ? item.signTime : "", |
| | | avatar: item.avatar || "", |
| | | avatar: item.avatar, |
| | | })), |
| | | }, |
| | | ], |
| | |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.error("获取详情失败:", err); |
| | | this.$message.error("获取详情失败"); |
| | | // console.error("获取详情失败:", err); |
| | | // this.$message.error("获取详情失败"); |
| | | }); |
| | | }, |
| | | memberList(type) { |
| | |
| | | this.imgSrc = ''; |
| | | }, |
| | | handleApprove() { |
| | | if(!this.imgSrc){ |
| | | this.$message.error('请先签字在提交'); |
| | | return |
| | | } |
| | | // 组装签名数据 |
| | | const params = { |
| | | dispatchId: this.data.id, // 传递当前调度id |
| | |
| | | if (res && res.code === 200) { |
| | | this.$message.success('签字成功'); |
| | | this.handleClose(); |
| | | this.$emit('update:data') |
| | | } else { |
| | | this.$message.error(res.msg || '签字失败'); |
| | | } |
| | | }).catch(() => { |
| | | this.$message.error('签字失败'); |
| | | // this.$message.error('签字失败'); |
| | | }); |
| | | }, |
| | | openSignature() { |
| | |
| | | }, |
| | | handleSignatureConfirm(imageData) { |
| | | this.signatureDialogVisible = false; |
| | | // 模拟上传签名图片,实际应调用上传接口,成功后回显图片链接 |
| | | // TODO: 替换为实际上传接口 |
| | | // uploadSignature(imageData).then(url => { this.imgSrc = url }) |
| | | this.imgSrc = 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'; // 默认图片链接 |
| | | this.imgSrc = ""; // 先清空 |
| | | this.$nextTick(() => { |
| | | this.imgSrc = imageData; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | |
| | | .approval-dialog { |
| | | display: flex; |
| | | height: 60vh; |
| | | height: 70vh; |
| | | |
| | | .approval-content { |
| | | flex: 1; |
| | |
| | | } |
| | | |
| | | .approval-flow { |
| | | padding: 40px 20px; |
| | | width: 405px; |
| | | padding: 20px 0px; |
| | | width: 305px; |
| | | background: #ffffff; |
| | | box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.08); |
| | | border-radius: 10px; |
| | |
| | | } |
| | | } |
| | | .approval-dialog-approve { |
| | | margin-top: 26px; |
| | | margin-top: 18px; |
| | | } |
| | | |
| | | .approval-content-card { |
| | | height: calc(100% - 100px) !important; |
| | | height: calc(100% - 10px) !important; |
| | | box-shadow: none !important; |
| | | } |
| | | |