diff --git a/src/views/business/measure/item/components/fourteen/components/clock.vue b/src/views/business/measure/item/components/fourteen/components/clock.vue index 1d92ac9..e466896 100644 --- a/src/views/business/measure/item/components/fourteen/components/clock.vue +++ b/src/views/business/measure/item/components/fourteen/components/clock.vue @@ -38,12 +38,12 @@ const form = ref({ appearanceFunctionCheck: 1, // 外观及功能性检查 - outputSignal: '', // 输出信号 - warmUp: '', // 开机特性 - frequencyReproducibility: '', // 频率复现性 - relativeFrequencyDeviation: '', // 相对频率偏差 - frequencyStability: '', // 频率稳定度 - dailyFrequencyDriftRate: '', // 日频率漂移率 + outputSignal: 1, // 输出信号 + warmUp: 1, // 开机特性 + frequencyReproducibility: 1, // 频率复现性 + relativeFrequencyDeviation: 1, // 相对频率偏差 + frequencyStability: 1, // 频率稳定度 + dailyFrequencyDriftRate: 1, // 日频率漂移率 }) watch(() => props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/fourteen/components/clock.vue b/src/views/business/measure/item/components/fourteen/components/clock.vue index 1d92ac9..e466896 100644 --- a/src/views/business/measure/item/components/fourteen/components/clock.vue +++ b/src/views/business/measure/item/components/fourteen/components/clock.vue @@ -38,12 +38,12 @@ const form = ref({ appearanceFunctionCheck: 1, // 外观及功能性检查 - outputSignal: '', // 输出信号 - warmUp: '', // 开机特性 - frequencyReproducibility: '', // 频率复现性 - relativeFrequencyDeviation: '', // 相对频率偏差 - frequencyStability: '', // 频率稳定度 - dailyFrequencyDriftRate: '', // 日频率漂移率 + outputSignal: 1, // 输出信号 + warmUp: 1, // 开机特性 + frequencyReproducibility: 1, // 频率复现性 + relativeFrequencyDeviation: 1, // 相对频率偏差 + frequencyStability: 1, // 频率稳定度 + dailyFrequencyDriftRate: 1, // 日频率漂移率 }) watch(() => props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts new file mode 100644 index 0000000..82f5ae6 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts @@ -0,0 +1,3 @@ +export interface IList { + id: string +} diff --git a/src/views/business/measure/item/components/fourteen/components/clock.vue b/src/views/business/measure/item/components/fourteen/components/clock.vue index 1d92ac9..e466896 100644 --- a/src/views/business/measure/item/components/fourteen/components/clock.vue +++ b/src/views/business/measure/item/components/fourteen/components/clock.vue @@ -38,12 +38,12 @@ const form = ref({ appearanceFunctionCheck: 1, // 外观及功能性检查 - outputSignal: '', // 输出信号 - warmUp: '', // 开机特性 - frequencyReproducibility: '', // 频率复现性 - relativeFrequencyDeviation: '', // 相对频率偏差 - frequencyStability: '', // 频率稳定度 - dailyFrequencyDriftRate: '', // 日频率漂移率 + outputSignal: 1, // 输出信号 + warmUp: 1, // 开机特性 + frequencyReproducibility: 1, // 频率复现性 + relativeFrequencyDeviation: 1, // 相对频率偏差 + frequencyStability: 1, // 频率稳定度 + dailyFrequencyDriftRate: 1, // 日频率漂移率 }) watch(() => props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts new file mode 100644 index 0000000..82f5ae6 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts @@ -0,0 +1,3 @@ +export interface IList { + id: string +} diff --git a/src/views/business/measure/item/components/sixteen/templateDetail.vue b/src/views/business/measure/item/components/sixteen/templateDetail.vue new file mode 100644 index 0000000..d254271 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail.vue @@ -0,0 +1,620 @@ + + + + diff --git a/src/views/business/measure/item/components/fourteen/components/clock.vue b/src/views/business/measure/item/components/fourteen/components/clock.vue index 1d92ac9..e466896 100644 --- a/src/views/business/measure/item/components/fourteen/components/clock.vue +++ b/src/views/business/measure/item/components/fourteen/components/clock.vue @@ -38,12 +38,12 @@ const form = ref({ appearanceFunctionCheck: 1, // 外观及功能性检查 - outputSignal: '', // 输出信号 - warmUp: '', // 开机特性 - frequencyReproducibility: '', // 频率复现性 - relativeFrequencyDeviation: '', // 相对频率偏差 - frequencyStability: '', // 频率稳定度 - dailyFrequencyDriftRate: '', // 日频率漂移率 + outputSignal: 1, // 输出信号 + warmUp: 1, // 开机特性 + frequencyReproducibility: 1, // 频率复现性 + relativeFrequencyDeviation: 1, // 相对频率偏差 + frequencyStability: 1, // 频率稳定度 + dailyFrequencyDriftRate: 1, // 日频率漂移率 }) watch(() => props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts new file mode 100644 index 0000000..82f5ae6 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts @@ -0,0 +1,3 @@ +export interface IList { + id: string +} diff --git a/src/views/business/measure/item/components/sixteen/templateDetail.vue b/src/views/business/measure/item/components/sixteen/templateDetail.vue new file mode 100644 index 0000000..d254271 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail.vue @@ -0,0 +1,620 @@ + + + + diff --git a/src/views/business/measure/item/detail.vue b/src/views/business/measure/item/detail.vue index a03eedf..4b30082 100644 --- a/src/views/business/measure/item/detail.vue +++ b/src/views/business/measure/item/detail.vue @@ -18,6 +18,7 @@ import templateDetailThirteenth from './components/thirteenth/templateDetail.vue' import templateDetailFourteen from './components/fourteen/templateDetail.vue' import templateDetailFifteenth from './components/fifteenth/templateDetail.vue' +import templateDetailSixteen from './components/sixteen/templateDetail.vue' import quoteTemplateListDialog from './dialog/quoteTemplateListDialog.vue' import useUserStore from '@/store/modules/user' import type { Itech } from '@/views/equipement/info/book/book-interface' @@ -190,7 +191,13 @@ return false } if (!standardRef.value.getInfo().checkAllList()) { return false } - // return false + } + else if (form.value.belongStandardEquipment === '16') { // 低频信号源 + if (!standardRef.value.list.length) { + ElMessage.warning('检定项不能为空') + return false + } + if (!standardRef.value.checkAllList()) { return false } } return true } @@ -406,6 +413,30 @@ })), // 鉴定项列表 } } + else if (form.value.belongStandardEquipment === '16') { // 第十六套: 低频信号源 + params = { + helpFieldInstruction: form.value.helpFieldInstruction, // 辅助字段说明 + itemRemark: form.value.itemRemark, // 检定项备注 + itemId: infoId.value, // 检定项id + + appearanceFunctionCheck: standardRef.value.form.appearanceFunctionCheck, // 外观及功能性检查 + frequency: standardRef.value.form.frequency, // 频率 + acVoltage: standardRef.value.form.acVoltage, // 交流电压 + dcVoltage: standardRef.value.form.dcVoltage, // 直流电压 + riseTime: standardRef.value.form.riseTime, // 上升时间 + sinusoidFlatness: standardRef.value.form.sinusoidFlatness, // 正弦信号平坦度 + harmonicDistortion: standardRef.value.form.harmonicDistortion, // 总谐波失真 + + measureItemDataLowFrequencySignalList: standardRef.value.getList().map((item: any) => ({ + ...item, + itemId: infoId.value, + // technicalIndexSymbol: undefined, + // referencePoint: item.referencePoint === '是' ? '1' : item.referencePoint === '否' ? '0' : undefined, + id: undefined, + updateTime: '', + })), // 鉴定项列表 + } + } return params } @@ -561,6 +592,10 @@ getList.value = response.measureItemDataCesiumAtomList // 检定项表格 getObject.value = response // 检定项表单 } + else if (form.value.belongStandardEquipment === '16') { // 第16套:低频信号源 + getList.value = response.measureItemDataLowFrequencySignalList // 检定项表格 + getObject.value = response // 检定项表单 + } } function fetchInfo() { @@ -887,6 +922,18 @@ /> + + + + props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts new file mode 100644 index 0000000..82f5ae6 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts @@ -0,0 +1,3 @@ +export interface IList { + id: string +} diff --git a/src/views/business/measure/item/components/sixteen/templateDetail.vue b/src/views/business/measure/item/components/sixteen/templateDetail.vue new file mode 100644 index 0000000..d254271 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail.vue @@ -0,0 +1,620 @@ + + + + diff --git a/src/views/business/measure/item/detail.vue b/src/views/business/measure/item/detail.vue index a03eedf..4b30082 100644 --- a/src/views/business/measure/item/detail.vue +++ b/src/views/business/measure/item/detail.vue @@ -18,6 +18,7 @@ import templateDetailThirteenth from './components/thirteenth/templateDetail.vue' import templateDetailFourteen from './components/fourteen/templateDetail.vue' import templateDetailFifteenth from './components/fifteenth/templateDetail.vue' +import templateDetailSixteen from './components/sixteen/templateDetail.vue' import quoteTemplateListDialog from './dialog/quoteTemplateListDialog.vue' import useUserStore from '@/store/modules/user' import type { Itech } from '@/views/equipement/info/book/book-interface' @@ -190,7 +191,13 @@ return false } if (!standardRef.value.getInfo().checkAllList()) { return false } - // return false + } + else if (form.value.belongStandardEquipment === '16') { // 低频信号源 + if (!standardRef.value.list.length) { + ElMessage.warning('检定项不能为空') + return false + } + if (!standardRef.value.checkAllList()) { return false } } return true } @@ -406,6 +413,30 @@ })), // 鉴定项列表 } } + else if (form.value.belongStandardEquipment === '16') { // 第十六套: 低频信号源 + params = { + helpFieldInstruction: form.value.helpFieldInstruction, // 辅助字段说明 + itemRemark: form.value.itemRemark, // 检定项备注 + itemId: infoId.value, // 检定项id + + appearanceFunctionCheck: standardRef.value.form.appearanceFunctionCheck, // 外观及功能性检查 + frequency: standardRef.value.form.frequency, // 频率 + acVoltage: standardRef.value.form.acVoltage, // 交流电压 + dcVoltage: standardRef.value.form.dcVoltage, // 直流电压 + riseTime: standardRef.value.form.riseTime, // 上升时间 + sinusoidFlatness: standardRef.value.form.sinusoidFlatness, // 正弦信号平坦度 + harmonicDistortion: standardRef.value.form.harmonicDistortion, // 总谐波失真 + + measureItemDataLowFrequencySignalList: standardRef.value.getList().map((item: any) => ({ + ...item, + itemId: infoId.value, + // technicalIndexSymbol: undefined, + // referencePoint: item.referencePoint === '是' ? '1' : item.referencePoint === '否' ? '0' : undefined, + id: undefined, + updateTime: '', + })), // 鉴定项列表 + } + } return params } @@ -561,6 +592,10 @@ getList.value = response.measureItemDataCesiumAtomList // 检定项表格 getObject.value = response // 检定项表单 } + else if (form.value.belongStandardEquipment === '16') { // 第16套:低频信号源 + getList.value = response.measureItemDataLowFrequencySignalList // 检定项表格 + getObject.value = response // 检定项表单 + } } function fetchInfo() { @@ -887,6 +922,18 @@ /> + + + + item.name === '铯原子频标核查').length) { frequencyListStability.value = frequencyListStability.value.map((item) => { - clearDateValue(item) + // clearDateValue(item) const { itemData, columnsData } = solveHistoryIndicationTableData(res.data.data, item, columns_stability_frequency.value, num, 3) columns_stability_frequency.value = columnsData return item = itemData diff --git a/src/views/business/measure/item/components/fourteen/components/clock.vue b/src/views/business/measure/item/components/fourteen/components/clock.vue index 1d92ac9..e466896 100644 --- a/src/views/business/measure/item/components/fourteen/components/clock.vue +++ b/src/views/business/measure/item/components/fourteen/components/clock.vue @@ -38,12 +38,12 @@ const form = ref({ appearanceFunctionCheck: 1, // 外观及功能性检查 - outputSignal: '', // 输出信号 - warmUp: '', // 开机特性 - frequencyReproducibility: '', // 频率复现性 - relativeFrequencyDeviation: '', // 相对频率偏差 - frequencyStability: '', // 频率稳定度 - dailyFrequencyDriftRate: '', // 日频率漂移率 + outputSignal: 1, // 输出信号 + warmUp: 1, // 开机特性 + frequencyReproducibility: 1, // 频率复现性 + relativeFrequencyDeviation: 1, // 相对频率偏差 + frequencyStability: 1, // 频率稳定度 + dailyFrequencyDriftRate: 1, // 日频率漂移率 }) watch(() => props.form, (newVal) => { form.value = JSON.parse(JSON.stringify(newVal)) diff --git a/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts new file mode 100644 index 0000000..82f5ae6 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail-interface.ts @@ -0,0 +1,3 @@ +export interface IList { + id: string +} diff --git a/src/views/business/measure/item/components/sixteen/templateDetail.vue b/src/views/business/measure/item/components/sixteen/templateDetail.vue new file mode 100644 index 0000000..d254271 --- /dev/null +++ b/src/views/business/measure/item/components/sixteen/templateDetail.vue @@ -0,0 +1,620 @@ + + + + diff --git a/src/views/business/measure/item/detail.vue b/src/views/business/measure/item/detail.vue index a03eedf..4b30082 100644 --- a/src/views/business/measure/item/detail.vue +++ b/src/views/business/measure/item/detail.vue @@ -18,6 +18,7 @@ import templateDetailThirteenth from './components/thirteenth/templateDetail.vue' import templateDetailFourteen from './components/fourteen/templateDetail.vue' import templateDetailFifteenth from './components/fifteenth/templateDetail.vue' +import templateDetailSixteen from './components/sixteen/templateDetail.vue' import quoteTemplateListDialog from './dialog/quoteTemplateListDialog.vue' import useUserStore from '@/store/modules/user' import type { Itech } from '@/views/equipement/info/book/book-interface' @@ -190,7 +191,13 @@ return false } if (!standardRef.value.getInfo().checkAllList()) { return false } - // return false + } + else if (form.value.belongStandardEquipment === '16') { // 低频信号源 + if (!standardRef.value.list.length) { + ElMessage.warning('检定项不能为空') + return false + } + if (!standardRef.value.checkAllList()) { return false } } return true } @@ -406,6 +413,30 @@ })), // 鉴定项列表 } } + else if (form.value.belongStandardEquipment === '16') { // 第十六套: 低频信号源 + params = { + helpFieldInstruction: form.value.helpFieldInstruction, // 辅助字段说明 + itemRemark: form.value.itemRemark, // 检定项备注 + itemId: infoId.value, // 检定项id + + appearanceFunctionCheck: standardRef.value.form.appearanceFunctionCheck, // 外观及功能性检查 + frequency: standardRef.value.form.frequency, // 频率 + acVoltage: standardRef.value.form.acVoltage, // 交流电压 + dcVoltage: standardRef.value.form.dcVoltage, // 直流电压 + riseTime: standardRef.value.form.riseTime, // 上升时间 + sinusoidFlatness: standardRef.value.form.sinusoidFlatness, // 正弦信号平坦度 + harmonicDistortion: standardRef.value.form.harmonicDistortion, // 总谐波失真 + + measureItemDataLowFrequencySignalList: standardRef.value.getList().map((item: any) => ({ + ...item, + itemId: infoId.value, + // technicalIndexSymbol: undefined, + // referencePoint: item.referencePoint === '是' ? '1' : item.referencePoint === '否' ? '0' : undefined, + id: undefined, + updateTime: '', + })), // 鉴定项列表 + } + } return params } @@ -561,6 +592,10 @@ getList.value = response.measureItemDataCesiumAtomList // 检定项表格 getObject.value = response // 检定项表单 } + else if (form.value.belongStandardEquipment === '16') { // 第16套:低频信号源 + getList.value = response.measureItemDataLowFrequencySignalList // 检定项表格 + getObject.value = response // 检定项表单 + } } function fetchInfo() { @@ -887,6 +922,18 @@ /> + + + + item.name === '铯原子频标核查').length) { frequencyListStability.value = frequencyListStability.value.map((item) => { - clearDateValue(item) + // clearDateValue(item) const { itemData, columnsData } = solveHistoryIndicationTableData(res.data.data, item, columns_stability_frequency.value, num, 3) columns_stability_frequency.value = columnsData return item = itemData diff --git a/src/views/quality/correct/handle/components/ApprovalDialog.vue b/src/views/quality/correct/handle/components/ApprovalDialog.vue index 719fb1b..d6f9d04 100644 --- a/src/views/quality/correct/handle/components/ApprovalDialog.vue +++ b/src/views/quality/correct/handle/components/ApprovalDialog.vue @@ -53,6 +53,12 @@ userList: [] as any, processId: '', } +// 纠正措施 负责人原因分析和责任部门负责人填写纠正措施 合并 +const correctMerge = ref(false) +const currentProcess = ref() +// 附加的输入框 +const comments1 = ref('') +const comments2 = ref('') // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') // 表单数据对象 @@ -72,8 +78,10 @@ const rules: FormRules = reactive({ comments: [{ required: true, message: '审批结论必填', trigger: ['blur', 'change'] }], userList: [{ required: true, message: '节点审批人必选', trigger: ['blur', 'change'] }], + // comments1: [{ required: true, message: '审批结论必填', trigger: ['blur', 'change'] }], // situationAnalysisType: [{ required: true, message: '处理意见必填', trigger: ['blur', 'change'] }], }) +const loading = ref(false) const { proxy } = getCurrentInstance() as any /** * 初始化审批弹窗 @@ -82,6 +90,9 @@ * @param id 列表id */ function initDialog(type: string, taskId: string, id: string, processId: string) { + loading.value = true + comments1.value = '' + comments2.value = '' formData.correctiveActionFiles = undefined formData.rectificationSituationFiles = undefined formData.type = type @@ -97,6 +108,7 @@ // 获取当前审批进度,判断是否上传附件 isShowUser.value = true fetchApproval(processId).then((res) => { + loading.value = false if (res.data.length) { const data = res.data[res.data.length - 1] if (data.length) { @@ -112,12 +124,13 @@ arr.push(citem) }) }) + // 判断是否需要上传 const data = arr.length ? arr[arr.length - 1] : {} if (data.approvalStatus === '审批中') { const baseData = ref(JSON.parse(JSON.stringify(quality[$props.type])) as any[]) const filterData = baseData.value.filter((item: any) => data.taskName.includes(item.tips)) - if (filterData.length && filterData[filterData.length - 1]?.upload && $route.path.includes('prevent')) { + if (filterData.length && filterData[filterData.length - 1]?.upload && $route.path.includes('correct')) { // 需要上传 if (filterData[filterData.length - 1]?.uploadfield === 'correctiveActionFiles') { // 纠正措施文件集合 @@ -129,6 +142,17 @@ } } } + console.log(data, '111') + if (data.approvalStatus === '审批中' && data.taskName === '责任部门负责人原因分析') { + // 纠正措施 负责人原因分析和责任部门负责人填写纠正措施 合并 + correctMerge.value = true + currentProcess.value = data + if ($route.path.includes('correct')) { + formData.correctiveActionFiles = [] as any[] + } + } + }).catch(() => { + loading.value = false }) } // 获取字典 @@ -180,8 +204,8 @@ if (valid) { btnLoading.value = true if (formData.type === 'agree') { - const agree = () => { - request({ + const agree = (done = true) => { + return request({ url: $props.agree, method: 'post', // data, @@ -193,6 +217,9 @@ rectificationSituationFiles: formData.rectificationSituationFiles ? formData.rectificationSituationFiles : undefined, }, }).then((res) => { + if (!done) { + return + } ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -201,6 +228,46 @@ btnLoading.value = false }) } + if (correctMerge.value) { + addApprovalUser({ + assignees: [currentProcess.value.assigneeId], + processInstanceId: formData.processId, + }).then(async () => { + await agree(false) + addApprovalUser({ + assignees: formData.userList, + processInstanceId: formData.processId, + }).then((res) => { + fetchApproval(formData.processId).then((res) => { + if (res.data.length) { + const data = res.data[res.data.length - 1] + if (data.length) { + const process = data[data.length - 1] + request({ + url: $props.agree, + method: 'post', + // data, + data: { + id: formData.id, + taskId: process.ruTaskId, + comments: comments1.value, + correctiveActionFiles: formData.correctiveActionFiles ? formData.correctiveActionFiles : undefined, + rectificationSituationFiles: formData.rectificationSituationFiles ? formData.rectificationSituationFiles : undefined, + }, + }).then((res) => { + ElMessage.success('审批完成') + btnLoading.value = false + dialogVisible.value = false + }).catch((_) => { + btnLoading.value = false + }) + } + } + }) + }) + }) + return + } if (isShowUser.value) { addApprovalUser({ assignees: formData.userList, @@ -234,6 +301,7 @@