|
@@ -1,22 +1,31 @@
|
|
|
<template>
|
|
<template>
|
|
|
<n-form label-width="auto">
|
|
<n-form label-width="auto">
|
|
|
<n-grid :cols="12" :x-gap="12" style="background: #f1f1f1;padding: 20px 20px 0 20px;margin-bottom: 20px;">
|
|
<n-grid :cols="12" :x-gap="12" style="background: #f1f1f1;padding: 20px 20px 0 20px;margin-bottom: 20px;">
|
|
|
- <n-form-item-gi :span="4" label="验证设备数据时间范围">
|
|
|
|
|
|
|
+ <n-form-item-gi :span="3" label="验证设备数据时间范围">
|
|
|
<n-date-picker v-model:formatted-value="person.picker1"
|
|
<n-date-picker v-model:formatted-value="person.picker1"
|
|
|
:blur = "blurFun('1')"
|
|
:blur = "blurFun('1')"
|
|
|
type="datetimerange" format="yyyy-MM-dd HH:mm:ss" learable
|
|
type="datetimerange" format="yyyy-MM-dd HH:mm:ss" learable
|
|
|
class="w-full"/>
|
|
class="w-full"/>
|
|
|
</n-form-item-gi>
|
|
</n-form-item-gi>
|
|
|
- <n-form-item-gi :span="4" label="绑定设备数据时间范围">
|
|
|
|
|
|
|
+ <n-form-item-gi :span="3" label="绑定设备数据时间范围">
|
|
|
<n-date-picker v-model:formatted-value="person.picker2"
|
|
<n-date-picker v-model:formatted-value="person.picker2"
|
|
|
:blur = "blurFun('2')"
|
|
:blur = "blurFun('2')"
|
|
|
type="datetimerange" format="yyyy-MM-dd HH:mm:ss" learable
|
|
type="datetimerange" format="yyyy-MM-dd HH:mm:ss" learable
|
|
|
class="w-full"/>
|
|
class="w-full"/>
|
|
|
</n-form-item-gi>
|
|
</n-form-item-gi>
|
|
|
|
|
+ <n-form-item-gi :span="3" label="sn">
|
|
|
|
|
+ <n-input v-model:value="person.T_sn" type="text" placeholder="请输入sn" />
|
|
|
|
|
+ </n-form-item-gi>
|
|
|
|
|
+ <n-form-item-gi :span="3" label="校准到期时间">
|
|
|
|
|
+ <n-date-picker
|
|
|
|
|
+ v-model:formatted-value="person.T_CalibrationExpirationTime"
|
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
|
+ type="date"
|
|
|
|
|
+ clearable/>
|
|
|
|
|
+ </n-form-item-gi>
|
|
|
</n-grid>
|
|
</n-grid>
|
|
|
- <n-grid :cols="12" :x-gap="12">
|
|
|
|
|
- <n-form-item-gi v-for="(item, index) of formList" :key="item.T_VerifyTemplateMap_id" :span="4"
|
|
|
|
|
- :label="item.T_name">
|
|
|
|
|
|
|
+ <n-grid :cols="12" :x-gap="60" :y-gap="40">
|
|
|
|
|
+ <n-form-item-gi v-for="(item, index) of formList" :key="item.T_VerifyTemplateMap_id" :span="4" :label="item.T_name">
|
|
|
<!-- 多选id -->
|
|
<!-- 多选id -->
|
|
|
<n-select v-model:value="item.T_value" multiple label-field="T_id" value-field="T_sn" max-tag-count="responsive"
|
|
<n-select v-model:value="item.T_value" multiple label-field="T_id" value-field="T_sn" max-tag-count="responsive"
|
|
|
:options="classList" v-if="item.T_label === 3">
|
|
:options="classList" v-if="item.T_label === 3">
|
|
@@ -60,7 +69,6 @@
|
|
|
</template>
|
|
</template>
|
|
|
请选择CAD新版/旧版
|
|
请选择CAD新版/旧版
|
|
|
</n-popconfirm>
|
|
</n-popconfirm>
|
|
|
-
|
|
|
|
|
<n-button @click="() => handleRefresh(index)">刷新</n-button>
|
|
<n-button @click="() => handleRefresh(index)">刷新</n-button>
|
|
|
</n-space>
|
|
</n-space>
|
|
|
</div>
|
|
</div>
|
|
@@ -91,28 +99,45 @@
|
|
|
<n-image width="100" :src="item.T_text" v-if="item.T_label === 10 || item.T_label === 11"
|
|
<n-image width="100" :src="item.T_text" v-if="item.T_label === 10 || item.T_label === 11"
|
|
|
style="margin-right: 36px;" />
|
|
style="margin-right: 36px;" />
|
|
|
<n-popover trigger="hover" v-else>
|
|
<n-popover trigger="hover" v-else>
|
|
|
- <template #trigger>
|
|
|
|
|
- <n-icon size="24" class="ml-3">
|
|
|
|
|
- <InformationCircleOutline />
|
|
|
|
|
- </n-icon>
|
|
|
|
|
- </template>
|
|
|
|
|
- {{ item.T_text }}
|
|
|
|
|
|
|
+ <template #trigger>
|
|
|
|
|
+ <n-icon size="24" class="ml-3">
|
|
|
|
|
+ <InformationCircleOutline />
|
|
|
|
|
+ </n-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ {{ item.T_text }}
|
|
|
</n-popover>
|
|
</n-popover>
|
|
|
|
|
+ <n-icon size="24" class="ml-3 hoverIcon">
|
|
|
|
|
+ <CloseCircleOutline @click="onclickclear(item)"/>
|
|
|
|
|
+ </n-icon>
|
|
|
</n-form-item-gi>
|
|
</n-form-item-gi>
|
|
|
</n-grid>
|
|
</n-grid>
|
|
|
</n-form>
|
|
</n-form>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import { onMounted } from "vue";
|
|
|
|
|
-import { getTaskDataClassList } from '@/api';
|
|
|
|
|
|
|
+import { nextTick, onMounted } from "vue";
|
|
|
|
|
+import { getTaskDataClassList,getTaskClearvalue } from '@/api';
|
|
|
import * as qiniu from 'qiniu-js';
|
|
import * as qiniu from 'qiniu-js';
|
|
|
import { getFileToken } from '@/common';
|
|
import { getFileToken } from '@/common';
|
|
|
-import { InformationCircleOutline } from '@vicons/ionicons5';
|
|
|
|
|
|
|
+import { InformationCircleOutline,CloseCircleOutline } from '@vicons/ionicons5';
|
|
|
import { NButton } from 'naive-ui';
|
|
import { NButton } from 'naive-ui';
|
|
|
const T_value = ref('')
|
|
const T_value = ref('')
|
|
|
const message = useMessage();
|
|
const message = useMessage();
|
|
|
|
|
|
|
|
|
|
+const emit = defineEmits(['updatas']);
|
|
|
|
|
+const onclickclear = async (value)=>{
|
|
|
|
|
+ let init = {
|
|
|
|
|
+ T_task_id:task.T_task_id,
|
|
|
|
|
+ T_VerifyTemplate_id:task.T_VerifyTemplate_id,
|
|
|
|
|
+ T_VerifyTemplateMap_id:value.T_VerifyTemplateMap_id
|
|
|
|
|
+ }
|
|
|
|
|
+ const {data:result} = await getTaskClearvalue(init)
|
|
|
|
|
+ if(result.Code==200){
|
|
|
|
|
+ message.success('清除成功')
|
|
|
|
|
+ emit("updatas",true)
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log('清空',result)
|
|
|
|
|
+}
|
|
|
const task = window.sessionStorage.getItem('task')
|
|
const task = window.sessionStorage.getItem('task')
|
|
|
? JSON.parse(window.sessionStorage.getItem('task'))
|
|
? JSON.parse(window.sessionStorage.getItem('task'))
|
|
|
: {};
|
|
: {};
|
|
@@ -130,13 +155,14 @@ const formValue = reactive({
|
|
|
pdf: '',
|
|
pdf: '',
|
|
|
});
|
|
});
|
|
|
const ifTime = ()=>{
|
|
const ifTime = ()=>{
|
|
|
- let {T_VerifyDeviceDataTime:pick1,T_BindDeviceDataTime:pick2} = task
|
|
|
|
|
-
|
|
|
|
|
|
|
+ let {T_VerifyDeviceDataTime:pick1,T_BindDeviceDataTime:pick2,T_sn,T_CalibrationExpirationTime} = task
|
|
|
let str1 = pick1.every(item => item === "");
|
|
let str1 = pick1.every(item => item === "");
|
|
|
let str2 = pick2.every(item => item === "");
|
|
let str2 = pick2.every(item => item === "");
|
|
|
-
|
|
|
|
|
str1?person.picker1 = null: person.picker1 = pick1
|
|
str1?person.picker1 = null: person.picker1 = pick1
|
|
|
str2?person.picker2 = null: person.picker2 = pick2
|
|
str2?person.picker2 = null: person.picker2 = pick2
|
|
|
|
|
+ person.T_sn = T_sn
|
|
|
|
|
+ person.T_CalibrationExpirationTime = T_CalibrationExpirationTime?T_CalibrationExpirationTime.slice(0,10):null
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
onMounted(()=>ifTime())
|
|
onMounted(()=>ifTime())
|
|
|
|
|
|
|
@@ -154,7 +180,9 @@ const person = reactive({
|
|
|
T_VerifyDeviceDataStartTime: '',
|
|
T_VerifyDeviceDataStartTime: '',
|
|
|
T_VerifyDeviceDataEndTime: '',
|
|
T_VerifyDeviceDataEndTime: '',
|
|
|
T_BindDeviceDataStartTime: '',
|
|
T_BindDeviceDataStartTime: '',
|
|
|
- T_BindDeviceDataEndTime: ''
|
|
|
|
|
|
|
+ T_BindDeviceDataEndTime: '',
|
|
|
|
|
+ T_sn:'',
|
|
|
|
|
+ T_CalibrationExpirationTime:null
|
|
|
});
|
|
});
|
|
|
const blurFun = async (data)=>{
|
|
const blurFun = async (data)=>{
|
|
|
person.T_VerifyDeviceDataStartTime = person.picker1!=null?person.picker1[0]:''
|
|
person.T_VerifyDeviceDataStartTime = person.picker1!=null?person.picker1[0]:''
|
|
@@ -176,11 +204,15 @@ const classList = ref([]);
|
|
|
const handleRefresh = (index) => {
|
|
const handleRefresh = (index) => {
|
|
|
console.log('cad', formValue.formList)
|
|
console.log('cad', formValue.formList)
|
|
|
formValue.formList[index].T_value = ''
|
|
formValue.formList[index].T_value = ''
|
|
|
-
|
|
|
|
|
- formValue.formList[
|
|
|
|
|
|
|
+ nextTick(()=>{
|
|
|
|
|
+ formValue.formList[
|
|
|
index
|
|
index
|
|
|
- ].T_value = `http://coldverifylocal.coldbaozhida.com/CAD/download?type=upload&filename=${queryData.T_task_id}_${queryData.T_VerifyTemplate_id}_${formValue.formList[index].T_id}.png&xxx=${Math.random()}`;
|
|
|
|
|
-
|
|
|
|
|
|
|
+ ].T_value =
|
|
|
|
|
+ `https://coldverifylocal.coldbaozhida.com/CAD2/download/image/${queryData.T_task_id}_${queryData.T_VerifyTemplate_id}_${formValue.formList[index].T_id}.png`
|
|
|
|
|
+ })
|
|
|
|
|
+console.log(formValue.formList[
|
|
|
|
|
+ index
|
|
|
|
|
+ ].T_value)
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const handlePositiveClick = (row) => {//新版
|
|
const handlePositiveClick = (row) => {//新版
|
|
@@ -263,8 +295,13 @@ getClassList();
|
|
|
defineExpose({
|
|
defineExpose({
|
|
|
classList,person
|
|
classList,person
|
|
|
})
|
|
})
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
-<style scoped></style>
|
|
|
|
|
|
|
+<style scoped>
|
|
|
|
|
+.hoverIcon:hover{
|
|
|
|
|
+ color:red;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|