业务办理-标签查询
This commit is contained in:
parent
954f658ac3
commit
be8e3fce68
|
|
@ -1,12 +1,12 @@
|
|||
<template>
|
||||
<div class="container">
|
||||
<uni-card is-shadow is-full spacing="0px">
|
||||
<uni-card is-shadow is-full spacing="0px" style="overflow: visible;"> <!-- 添加 overflow: visible -->
|
||||
<div style="display: flex; align-items: center">
|
||||
<div>编号:</div>
|
||||
|
||||
<uni-easyinput v-model="code" maxlength="999" placeholder="请输入编号" />
|
||||
<button
|
||||
size="mini"
|
||||
@click=""
|
||||
@click="handQuery"
|
||||
style="margin: 0 5px; background: #e89e42; color: #fff"
|
||||
>
|
||||
查询
|
||||
|
|
@ -19,20 +19,444 @@
|
|||
识别
|
||||
</button>
|
||||
</div>
|
||||
<div>
|
||||
<view>
|
||||
<uni-data-select
|
||||
v-model="maCodeTwo"
|
||||
:localdata="optionList"
|
||||
@change="changeTag"
|
||||
placeholder="请选择相关联编号"
|
||||
style="width:60%;margin-top:10px;z-index: 1000;"
|
||||
></uni-data-select>
|
||||
</view>
|
||||
</div>
|
||||
</uni-card>
|
||||
|
||||
<uni-card is-shadow is-full spacing="0px" style="margin-top: 10px">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
<div class="img-cont">
|
||||
<div>
|
||||
<canvas
|
||||
canvasId="canvas"
|
||||
class="my-canvas"
|
||||
></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<uni-card is-shadow is-full spacing="0px"
|
||||
style="width: 100%; height: 240px;margin-top: 5px;border: 6px solid green; position: relative;"
|
||||
v-if="isJj!=null && isJj==0">
|
||||
<div style="height: 240px; padding: 0 0px;">
|
||||
<div
|
||||
class="title"
|
||||
style="text-align: center; font-weight: 450; font-size: 16px; color: #4dad7e"
|
||||
>
|
||||
检 验 合 格 证
|
||||
</div>
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">名称:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.materialName}}</span>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">检验结论</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">型号:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.materialModel}}</span>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="color: #ef3e3e;margin-right: 20px;font-size: 14px;">{{tagInfo.inspectStatus}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">编号:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.maCode}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 1px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">本次检验日期:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.thisCheckTime}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">下次检验日期:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.nextCheckTime}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">检修员:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.inspectMan}}</span>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 1px;
|
||||
font-size: 16px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e;font-size: 14px;">检验员:</span>
|
||||
<span style="margin-left: 20px;margin-right: 20px;font-size: 14px;">{{tagInfo.checkMan}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">联系电话:</span>
|
||||
<span style="margin-left: 40px;">{{tagInfo.phone}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 1px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span style="color: #4dad7e">出库检验报告:</span>
|
||||
<span style="margin-left: 40px; text-decoration: underline; cursor: pointer;color: #4dad7e" @click="handleReportClick">
|
||||
{{"检测报告"}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div >
|
||||
<div>
|
||||
<canvas
|
||||
canvasId="canvas"
|
||||
style="position: absolute; top: 50%; left: 8%; transform: translate(0, -50%); z-index: 9999;width: 165px; height: 165px;"
|
||||
></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</uni-card>
|
||||
|
||||
<uni-card is-shadow is-full spacing="0px"
|
||||
style="width: 100%; height: 240px;margin-top: 1px;border: 6px solid #0055aa; position: relative;"
|
||||
v-if="isJj!=null && isJj==1">
|
||||
<div style="height: 240px; padding: 0 0px;">
|
||||
<div
|
||||
class="title"
|
||||
style="text-align: center; font-weight: 450; font-size: 16px; "
|
||||
>
|
||||
安徽顺凯有限公司
|
||||
</div>
|
||||
<div
|
||||
class="title"
|
||||
style="text-align: center; font-weight: 450; font-size: 16px; "
|
||||
>
|
||||
合格证
|
||||
</div>
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >试样名称:</span>
|
||||
<span style="margin-left: 40px;">{{"攀登自锁器"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >规格型号:</span>
|
||||
<span style="margin-left: 40px;">{{"1.5T"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >编号:</span>
|
||||
<span style="margin-left: 40px;">{{"W204-20648"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >本次检验日期:</span>
|
||||
<span style="margin-left: 40px;">{{"2024-8-02"}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >下次检验日期:</span>
|
||||
<span style="margin-left: 40px;">{{"2025-7-02"}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >试验人:</span>
|
||||
<span style="margin-left: 40px;">{{"张三"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >检验结果:</span>
|
||||
<span style="margin-left: 40px;">{{"合格"}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="info"
|
||||
style="margin-top: 0px; display: flex; flex-wrap: wrap"
|
||||
>
|
||||
<div
|
||||
class="item"
|
||||
style="
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 0px;
|
||||
font-size: 14px;
|
||||
display: flex; /* 添加 flex 布局 */
|
||||
align-items: center; /* 垂直居中对齐 */
|
||||
"
|
||||
>
|
||||
<span >检测报告:</span>
|
||||
<span style="margin-left: 40px; text-decoration: underline; cursor: pointer;color: #0055aa;" @click="handleReportClick">
|
||||
{{"检测报告"}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div >
|
||||
<div>
|
||||
<canvas
|
||||
canvasId="canvasTwo"
|
||||
style="position: absolute; top: 50%; left: 8%; transform: translate(0, -50%); z-index: 9999;width: 165px; height: 165px;"
|
||||
></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</uni-card>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -40,19 +464,109 @@
|
|||
<script setup lang="ts">
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { nextTick, ref } from 'vue'
|
||||
import { getListTag,getSelectionList } from '@/services/stquery/stquery.js'
|
||||
|
||||
// 编号
|
||||
const code = ref<string>('')
|
||||
// 编号图片
|
||||
const codeImg = ref<string>('https://web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg')
|
||||
//
|
||||
const isJj = ref<Number>(0)
|
||||
const maCodeTwo = ref<string>('')
|
||||
const optionList = ref([])
|
||||
const tagInfo = ref({})
|
||||
|
||||
onLoad(() => {
|
||||
nextTick(() => {
|
||||
// 画章
|
||||
chapter('XXX专用章', 'XXX科技股份有限公司')
|
||||
})
|
||||
isJj.value = null
|
||||
// nextTick(() => {
|
||||
// // 画章
|
||||
// chapter('XXX专用章', 'XXX科技股份有限公司')
|
||||
// })
|
||||
})
|
||||
|
||||
const handQuery = () => {
|
||||
getSelectionList({'maCode':code.value}).then(response => {
|
||||
optionList.value = response.data.map(option => {
|
||||
return {
|
||||
value:option.maCode,
|
||||
text:option.maCode,
|
||||
}
|
||||
});
|
||||
console.log("xxxxxxxxxxxxxxxxxxxxxx",optionList.value)
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
const changeTag =async () => {
|
||||
await getListTag({'maCode':maCodeTwo.value}).then((response) => {
|
||||
if(response.data &&response.data.length!=0){
|
||||
tagInfo.value = response.data[0]
|
||||
}
|
||||
});
|
||||
isJj.value = 0
|
||||
nextTick(() => {
|
||||
let canvas = null
|
||||
if(isJj.value==null){
|
||||
canvas =null
|
||||
}else{
|
||||
canvas = isJj.value === 0 ? 'canvas' : 'canvasTwo';
|
||||
}
|
||||
|
||||
console.log("xxxxxxxxx",canvas)
|
||||
if (canvas!=null && isJj.value==0) {
|
||||
chapter('机具检验专用章', '安徽送边电工程有限公司机具(物流)分公司', canvas);
|
||||
}
|
||||
if (canvas!=null && isJj.value==1) {
|
||||
chapter('检验专用章', '安徽顺凯检测有限公司', canvas);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 处理下载 PDF 文件的函数
|
||||
const handleReportClick = async () => {
|
||||
try {
|
||||
const pdfUrl = encodeURI("http://192.168.0.244:18583/statics/2025/03/05/清新互联智能事件格式_2021(1)_20250305153249A001.pdf");
|
||||
console.log('请求的 PDF URL:', pdfUrl); // 打印请求的 URL,方便调试
|
||||
uni.downloadFile({
|
||||
url: pdfUrl,
|
||||
success: (res) => {
|
||||
if (res.statusCode === 200) {
|
||||
uni.saveFile({
|
||||
tempFilePath: res.tempFilePath,
|
||||
success: (saveRes) => {
|
||||
uni.showToast({
|
||||
title: '文件下载成功',
|
||||
icon: 'success'
|
||||
});
|
||||
// 可以在这里打开文件
|
||||
uni.openDocument({
|
||||
filePath: saveRes.savedFilePath,
|
||||
success: () => {
|
||||
console.log('文件打开成功');
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('文件打开失败', err);
|
||||
}
|
||||
});
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('文件保存失败', err);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error('下载文件失败,状态码:', res.statusCode);
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('下载文件失败', err);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('获取 PDF 文件 URL 失败', error);
|
||||
}
|
||||
};
|
||||
|
||||
// 识别
|
||||
const handleRecognition = () => {
|
||||
console.log('识别')
|
||||
|
|
@ -60,8 +574,8 @@ const handleRecognition = () => {
|
|||
}
|
||||
|
||||
// 绘制章
|
||||
const chapter = (text, companyName) => {
|
||||
const ctx = uni.createCanvasContext('canvas')
|
||||
const chapter = (text, companyName,canvasName) => {
|
||||
const ctx = uni.createCanvasContext(canvasName)
|
||||
|
||||
// 绘制印章边框
|
||||
let width = 82
|
||||
|
|
|
|||
|
|
@ -9,6 +9,24 @@ export const getRetainedEquipmentListApi = (data) => {
|
|||
})
|
||||
}
|
||||
|
||||
//获取电子标签详情
|
||||
export const getListTag = (data) => {
|
||||
return http({
|
||||
method: 'GET',
|
||||
url: '/material/ma_machine/getElectronicLabel',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电子标签下拉框
|
||||
export const getSelectionList = (data) => {
|
||||
return http({
|
||||
method: 'GET',
|
||||
url: '/material/ma_machine/getByMaCode',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue