| | |
| | | import AddTestItem from './add-test-item.vue' |
| | | import ConfirmDialog from './confirm-dialog.vue' |
| | | import { add, update, getDetail } from '../service' |
| | | |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | name: 'AddConfirmationSheet', |
| | | components: { |
| | |
| | | this.getDetailData(id) |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(["tagList", "isFold"]), |
| | | }, |
| | | mounted() { }, |
| | | methods: { |
| | | setSelectedScheduling(data) { |
| | | console.log('data', data) |
| | | if (!data || data.length === 0) return; |
| | | const selectedData = data[0]; // 获取选中的第一条数据 |
| | | this.selectedScheduling = selectedData; |
| | |
| | | planCode: selectedData.projectName || '', // 所属项目课题方案 |
| | | planName: selectedData.experimentCode || '', // 实验编号 |
| | | testName: selectedData.experimentName || '', // 实验名称 |
| | | notifyTime: selectedData.experimentDate || '', // 通知时间 |
| | | notifyTime: selectedData.createTime || '', // 通知时间 |
| | | startTime: selectedData.experimentStartTime || '', // 实验开始时间 |
| | | endTime: selectedData.experimentEndTime || '', // 实验结束时间 |
| | | participants: selectedData.participantsName || '', // 参加人员 |
| | |
| | | obj.roleId = this.$route.query.roleId |
| | | edit(obj).then(() => { |
| | | this.msgsuccess('保存成功') |
| | | this.$router.go(-1) |
| | | this.back() |
| | | }) |
| | | } else { |
| | | add(obj).then(() => { |
| | |
| | | remark: "", |
| | | } |
| | | this.menu = [] |
| | | this.$router.go(-1) |
| | | this.back() |
| | | }) |
| | | } |
| | | } |
| | |
| | | confirmSign: signatureImage, // 签字图片 |
| | | signTime: new Date().toISOString(), // 签字时间 |
| | | testMethodConfirmSheetTerms: this.testItems.map(item => ({ |
| | | id: item.id, // 保留原有ID(编辑时使用) |
| | | id: '', // 保留原有ID(编辑时使用) |
| | | termCode: item.termCode, |
| | | termName: item.termName, |
| | | termType: item.termType, |
| | |
| | | testId: item.testId |
| | | })) |
| | | } |
| | | |
| | | // 打印提交参数 |
| | | console.log('提交确认单参数:', JSON.stringify(submitData, null, 2)) |
| | | |
| | | // 根据是否有 id 决定调用新增还是更新接口 |
| | | if (this.formData.id) { |
| | | submitData.id = this.formData.id |
| | | console.log('调用更新接口,参数:', JSON.stringify(submitData, null, 2)) |
| | | await update(submitData) |
| | | this.$message.success('更新成功') |
| | | } else { |
| | | console.log('调用新增接口,参数:', JSON.stringify(submitData, null, 2)) |
| | | await add(submitData) |
| | | this.$message.success('提交成功') |
| | | } |
| | | |
| | | this.confirmDialogVisible = false // 关闭弹窗 |
| | | this.$router.go(-1) |
| | | this.back() |
| | | } catch (error) { |
| | | this.$message.error((this.formData.id ? '更新' : '提交') + '失败:' + (error.message || '未知错误')) |
| | | } |
| | | }, |
| | | back() { |
| | | this.$router.back(); |
| | | this.$store.commit( |
| | | "SET_TAGLIST", |
| | | this.tagList.filter((item) => item.path !== this.$route.path) |
| | | ); |
| | | }, |
| | | async handleSaveDraft() { |
| | | try { |
| | |
| | | dispatchId: this.selectedScheduling.id, |
| | | auditStatus: -1, // 草稿箱状态 |
| | | testMethodConfirmSheetTerms: this.testItems.map(item => ({ |
| | | id: item.id, // 保留原有ID(编辑时使用) |
| | | id: '', // 保留原有ID(编辑时使用) |
| | | termCode: item.termCode, |
| | | termName: item.termName, |
| | | termType: item.termType, |
| | |
| | | } |
| | | |
| | | // 打印草稿参数 |
| | | console.log('保存草稿参数:', JSON.stringify(draftData, null, 2)) |
| | | |
| | | // 根据是否有 id 决定调用新增还是更新接口 |
| | | if (this.formData.id) { |
| | | draftData.id = this.formData.id |
| | | console.log('调用更新草稿接口,参数:', JSON.stringify(draftData, null, 2)) |
| | | await update(draftData) |
| | | this.$message.success('更新草稿成功') |
| | | } else { |
| | | console.log('调用新增草稿接口,参数:', JSON.stringify(draftData, null, 2)) |
| | | await add(draftData) |
| | | this.$message.success('保存草稿成功') |
| | | } |
| | |
| | | if (res) { |
| | | // 设置实验调度数据 |
| | | this.selectedScheduling = { |
| | | ...res, |
| | | id: res.dispatchId, |
| | | ...res |
| | | } |
| | | this.tableData = [{ |
| | | // planCode: res.projectName, |
| | |
| | | status: this.getStatusText(res.status) // 状态 |
| | | |
| | | }] |
| | | // this.confirmFormData = { |
| | | // planName: res.projectName || '', |
| | | // testCode: res.experimentCode || '', |
| | | // testName: res.experimentName || '', |
| | | // }; |
| | | console.log('confirmFormData confirmFormData ',this.confirmFormData) |
| | | |
| | | // 设置检测项数据 |
| | | this.testItems = res.testMethodConfirmSheetTerms.map(item => ({ |
| | |
| | | |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('获取详情失败:' + (error.message || '未知错误')) |
| | | } |
| | | }, |
| | | |
| | | async handleEditSubmit(signatureImage) { |
| | | try { |
| | | const submitData = { |
| | | id: this.formData.id, |
| | | dispatchId: this.selectedScheduling.id, |
| | | auditStatus: 1, |
| | | confirmSign: signatureImage, |
| | | signTime: new Date().toISOString(), |
| | | testMethodConfirmSheetTerms: this.testItems.map(item => ({ |
| | | id: item.id, // 保留原有ID |
| | | termCode: item.termCode, |
| | | termName: item.termName, |
| | | termType: item.termType, |
| | | termMethodCode: item.termMethodCode, |
| | | termMethod: item.termMethod, |
| | | sampleRequire: item.sampleRequire, |
| | | status: item.status, |
| | | testId: item.testId |
| | | })) |
| | | } |
| | | |
| | | await update(submitData) |
| | | this.$message.success('更新成功') |
| | | this.$router.push('/dataManagement/confirmation-sheet') |
| | | } catch (error) { |
| | | this.$message.error('更新失败:' + (error.message || '未知错误')) |
| | | // this.$message.error('获取详情失败:' + (error.message || '未知错误')) |
| | | } |
| | | }, |
| | | }, |