diff --git a/src/main.ts b/src/main.ts index 583c005..ed79271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,33 +41,40 @@ axios .get('./config/config.json') - .then(result => { + .then((result) => { request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 app.config.globalProperties.config = result.data window.localStorage.setItem('baseURL', result.data.baseUrl) window.localStorage.setItem('wsURL', result.data.wsURL) app.mount('#app') }) - .catch(error => { + .catch((error) => { console.error(`get baseConfig error...${error}`) }) // 监听全局刷新页面事件 -window.addEventListener('beforeunload', e => { +window.addEventListener('beforeunload', (e) => { // 1. 保存用户名 if (userStore.username) { localStorage.setItem('currentName', userStore.username) } // 2. 判断证书生成状态 + console.log( + '=========556644645645=======', + sessionStorage.getItem('createCerting'), + ) + if (sessionStorage.getItem('createCerting') === 'true') { // // 必需的核心代码 e.preventDefault() - e.returnValue = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) + e.returnValue + = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) // const message = // '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // // // 可选:开发环境调试输出 console.log('[DEBUG] 已拦截页面离开') + sessionStorage.setItem('createCerting', 'false') // ElMessageBox.confirm(message, '警告', { // confirmButtonText: '确定刷新', // cancelButtonText: '取消刷新', diff --git a/src/main.ts b/src/main.ts index 583c005..ed79271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,33 +41,40 @@ axios .get('./config/config.json') - .then(result => { + .then((result) => { request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 app.config.globalProperties.config = result.data window.localStorage.setItem('baseURL', result.data.baseUrl) window.localStorage.setItem('wsURL', result.data.wsURL) app.mount('#app') }) - .catch(error => { + .catch((error) => { console.error(`get baseConfig error...${error}`) }) // 监听全局刷新页面事件 -window.addEventListener('beforeunload', e => { +window.addEventListener('beforeunload', (e) => { // 1. 保存用户名 if (userStore.username) { localStorage.setItem('currentName', userStore.username) } // 2. 判断证书生成状态 + console.log( + '=========556644645645=======', + sessionStorage.getItem('createCerting'), + ) + if (sessionStorage.getItem('createCerting') === 'true') { // // 必需的核心代码 e.preventDefault() - e.returnValue = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) + e.returnValue + = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) // const message = // '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // // // 可选:开发环境调试输出 console.log('[DEBUG] 已拦截页面离开') + sessionStorage.setItem('createCerting', 'false') // ElMessageBox.confirm(message, '警告', { // confirmButtonText: '确定刷新', // cancelButtonText: '取消刷新', diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 894943e..b4b96ac 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -116,6 +116,8 @@ localStorage.removeItem(`token-${this.username}`) localStorage.removeItem('nameId') localStorage.removeItem('depId') + sessionStorage.removeItem('createCerting') + sessionStorage.removeItem('currentName') this.username = '' this.token = '' this.roleList = [] diff --git a/src/main.ts b/src/main.ts index 583c005..ed79271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,33 +41,40 @@ axios .get('./config/config.json') - .then(result => { + .then((result) => { request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 app.config.globalProperties.config = result.data window.localStorage.setItem('baseURL', result.data.baseUrl) window.localStorage.setItem('wsURL', result.data.wsURL) app.mount('#app') }) - .catch(error => { + .catch((error) => { console.error(`get baseConfig error...${error}`) }) // 监听全局刷新页面事件 -window.addEventListener('beforeunload', e => { +window.addEventListener('beforeunload', (e) => { // 1. 保存用户名 if (userStore.username) { localStorage.setItem('currentName', userStore.username) } // 2. 判断证书生成状态 + console.log( + '=========556644645645=======', + sessionStorage.getItem('createCerting'), + ) + if (sessionStorage.getItem('createCerting') === 'true') { // // 必需的核心代码 e.preventDefault() - e.returnValue = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) + e.returnValue + = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) // const message = // '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // // // 可选:开发环境调试输出 console.log('[DEBUG] 已拦截页面离开') + sessionStorage.setItem('createCerting', 'false') // ElMessageBox.confirm(message, '警告', { // confirmButtonText: '确定刷新', // cancelButtonText: '取消刷新', diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 894943e..b4b96ac 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -116,6 +116,8 @@ localStorage.removeItem(`token-${this.username}`) localStorage.removeItem('nameId') localStorage.removeItem('depId') + sessionStorage.removeItem('createCerting') + sessionStorage.removeItem('currentName') this.username = '' this.token = '' this.roleList = [] diff --git a/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue new file mode 100644 index 0000000..c1aa8f6 --- /dev/null +++ b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }} + + + + + + + + 确认 + + 取消 + + + + + + + diff --git a/src/main.ts b/src/main.ts index 583c005..ed79271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,33 +41,40 @@ axios .get('./config/config.json') - .then(result => { + .then((result) => { request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 app.config.globalProperties.config = result.data window.localStorage.setItem('baseURL', result.data.baseUrl) window.localStorage.setItem('wsURL', result.data.wsURL) app.mount('#app') }) - .catch(error => { + .catch((error) => { console.error(`get baseConfig error...${error}`) }) // 监听全局刷新页面事件 -window.addEventListener('beforeunload', e => { +window.addEventListener('beforeunload', (e) => { // 1. 保存用户名 if (userStore.username) { localStorage.setItem('currentName', userStore.username) } // 2. 判断证书生成状态 + console.log( + '=========556644645645=======', + sessionStorage.getItem('createCerting'), + ) + if (sessionStorage.getItem('createCerting') === 'true') { // // 必需的核心代码 e.preventDefault() - e.returnValue = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) + e.returnValue + = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) // const message = // '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // // // 可选:开发环境调试输出 console.log('[DEBUG] 已拦截页面离开') + sessionStorage.setItem('createCerting', 'false') // ElMessageBox.confirm(message, '警告', { // confirmButtonText: '确定刷新', // cancelButtonText: '取消刷新', diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 894943e..b4b96ac 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -116,6 +116,8 @@ localStorage.removeItem(`token-${this.username}`) localStorage.removeItem('nameId') localStorage.removeItem('depId') + sessionStorage.removeItem('createCerting') + sessionStorage.removeItem('currentName') this.username = '' this.token = '' this.roleList = [] diff --git a/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue new file mode 100644 index 0000000..c1aa8f6 --- /dev/null +++ b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }} + + + + + + + + 确认 + + 取消 + + + + + + + diff --git a/src/views/business/lab/measureData/measureData-interface.ts b/src/views/business/lab/measureData/measureData-interface.ts index 90498bf..b3271a1 100644 --- a/src/views/business/lab/measureData/measureData-interface.ts +++ b/src/views/business/lab/measureData/measureData-interface.ts @@ -90,6 +90,8 @@ processId?: string // 流程实例id rejectRemark?: string // 历次驳回原因 + + [key: string]: string | undefined } // 被检样品 diff --git a/src/main.ts b/src/main.ts index 583c005..ed79271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,33 +41,40 @@ axios .get('./config/config.json') - .then(result => { + .then((result) => { request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 app.config.globalProperties.config = result.data window.localStorage.setItem('baseURL', result.data.baseUrl) window.localStorage.setItem('wsURL', result.data.wsURL) app.mount('#app') }) - .catch(error => { + .catch((error) => { console.error(`get baseConfig error...${error}`) }) // 监听全局刷新页面事件 -window.addEventListener('beforeunload', e => { +window.addEventListener('beforeunload', (e) => { // 1. 保存用户名 if (userStore.username) { localStorage.setItem('currentName', userStore.username) } // 2. 判断证书生成状态 + console.log( + '=========556644645645=======', + sessionStorage.getItem('createCerting'), + ) + if (sessionStorage.getItem('createCerting') === 'true') { // // 必需的核心代码 e.preventDefault() - e.returnValue = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) + e.returnValue + = '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // 任意字符串均可(浏览器不会显示) // const message = // '证书未生成完成, 离开页面会使证书生成失败或者自动检完失效,确定离开页面吗?请谨慎选择!' // // // 可选:开发环境调试输出 console.log('[DEBUG] 已拦截页面离开') + sessionStorage.setItem('createCerting', 'false') // ElMessageBox.confirm(message, '警告', { // confirmButtonText: '确定刷新', // cancelButtonText: '取消刷新', diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 894943e..b4b96ac 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -116,6 +116,8 @@ localStorage.removeItem(`token-${this.username}`) localStorage.removeItem('nameId') localStorage.removeItem('depId') + sessionStorage.removeItem('createCerting') + sessionStorage.removeItem('currentName') this.username = '' this.token = '' this.roleList = [] diff --git a/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue new file mode 100644 index 0000000..c1aa8f6 --- /dev/null +++ b/src/views/business/lab/measureData/dialog/selectHistoryMeasureDataDialog.vue @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }} + + + + + + + + 确认 + + 取消 + + + + + + + diff --git a/src/views/business/lab/measureData/measureData-interface.ts b/src/views/business/lab/measureData/measureData-interface.ts index 90498bf..b3271a1 100644 --- a/src/views/business/lab/measureData/measureData-interface.ts +++ b/src/views/business/lab/measureData/measureData-interface.ts @@ -90,6 +90,8 @@ processId?: string // 流程实例id rejectRemark?: string // 历次驳回原因 + + [key: string]: string | undefined } // 被检样品 diff --git a/src/views/business/lab/measureData/measureDataDetail.vue b/src/views/business/lab/measureData/measureDataDetail.vue index e7dffb3..fb8e018 100644 --- a/src/views/business/lab/measureData/measureDataDetail.vue +++ b/src/views/business/lab/measureData/measureDataDetail.vue @@ -14,6 +14,7 @@ import type { IEquipmentList, IForm, ISampleList } from './measureData-interface' import selectMeasueDataDialog from './dialog/selectMeasueDataDialog.vue' import selectTechFilesDialog from './dialog/selectTechFilesDialog.vue' +import selectHistoryMeasureDataDialog from './dialog/selectHistoryMeasureDataDialog.vue' import selectApproverDialog from '@/components/Approval/selectApproverDialog.vue' import ApprovalDialog from '@/components/Approval/ApprovalDialogCustom.vue' import { getCustomerList } from '@/api/customer/customer' @@ -163,9 +164,24 @@ } // 选好原证书 const selectMeasueDataConfirm = (val: any) => { - getDetail(val.id, val.certificateReportCode) + getDetail('cert', val.id, val.certificateReportCode) } - +// -------------------------------------历史计量数据-------------------------------------------- +const selectHistoryMeasureDataDialogRef = ref() // 选择原证书组件ref +// 点击选择原证书 +const handleHistoryMeasureData = () => { + let sampleModel = '' // 型号 + let manufacturingNo = '' // manufacturingNo + if (Array.isArray(sampleList.value) && sampleList.value.length) { + sampleModel = sampleList.value[0].sampleModel + manufacturingNo = sampleList.value[0].manufacturingNo + } + selectHistoryMeasureDataDialogRef.value.initDialog(sampleModel, manufacturingNo) +} +// 选好原证书 +const selectHistoryMeasueDataConfirm = (val: any) => { + getDetail('history', val.id, val.certificateReportCode) +} // -------------------------------选择环境记录单---------------------------------------- const businessEnvironmentRecord = ref({}) as any // 环境记录单信息 // 选择环境记录单Ref @@ -411,7 +427,6 @@ form.value.customerAddress = res.data.customerAddress// 委托方地址 form.value.certificationCompany = res.data.certificationCompany// 证书单位名称 form.value.certificationCompanyAddress = res.data.certificationCompanyAddress// 证书单位地址 - form.value.certificationCompanyAddress = res.data.certificationCompanyAddress// 证书单位地址 form.value.busPersonId = res.data.busPersonId// 业务员id form.value.busPersonName = res.data.busPersonName// 业务员名字 form.value.deliverTime = res.data.planDeliverTime ? dayjs(res.data.planDeliverTime).format('YYYY-MM-DD') : res.data.planDeliverTime// 接收时间 @@ -607,29 +622,43 @@ } // 获取详情信息 -async function getDetail(id?: string, certificateReportCode?: string) { +async function getDetail(type: 'cert' | 'history', id?: string, certificateReportCode?: string) { const loading = ElLoading.service({ lock: true, background: 'rgba(255, 255, 255, 0.8)', }) const res = await getMeasureDataDetail({ id: infoId.value! || id! }) loading.close() - form.value = res.data + for (const key in form.value) { + if (type === 'history') { // 历史测量按钮功能有关于被检样品带出来的数据不进行覆盖 + if (key !== 'orderId' && key !== 'orderCode' && key !== 'customerId' && key !== 'customerName' + && key !== 'customerAddress' && key !== 'certificationCompany' && key !== 'certificationCompanyAddress' + && key !== 'busPersonId' && key !== 'busPersonName' && key !== 'planDeliverTime' + ) { + form.value[key] = res.data[key] + } + } + else { + form.value = res.data + } + } form.value.repeatTime = Number(form.value.repeatTime) form.value.processId = '' fileList.value = res.data.fileList // 依据的技术文件 if (Array.isArray(res.data.fileList)) { form.value.techFilesName = fileList.value.map((item: { fileName: string; fileCode: string }) => item.fileCode + item.fileName).join(',') } - sampleList.value = [{ - sampleNo: res.data.sampleNo, // 样品编号 - sampleName: res.data.sampleName, // 样品名称 - sampleModel: res.data.sampleModel, // 型号 - manufacturingNo: res.data.manufacturingNo, // 出厂编号 - manufacturer: res.data.manufacturer, // 生产厂家 - remark: res.data.sampleRemark, // 备注 - id: res.data.sampleId, - }] + if (type !== 'history') { // 选择历史测量数据 + sampleList.value = [{ + sampleNo: res.data.sampleNo, // 样品编号 + sampleName: res.data.sampleName, // 样品名称 + sampleModel: res.data.sampleModel, // 型号 + manufacturingNo: res.data.manufacturingNo, // 出厂编号 + manufacturer: res.data.manufacturer, // 生产厂家 + remark: res.data.sampleRemark, // 备注 + id: res.data.sampleId, + }] + } equipmentInfoList.value = res.data.equipmentInfoList.map((item: { validDate: string }) => { return { ...item, @@ -1013,6 +1042,9 @@ + + 历史计量数据 + excel在线编辑 @@ -1552,8 +1584,10 @@ confirmSelectSample(val, 'warehouse')" /> - + + +