TimeControl微调

This commit is contained in:
sjl
2024-11-07 11:29:28 +08:00
parent 9de2c874f0
commit 4fc0781e05
5 changed files with 36 additions and 23 deletions

View File

@@ -35,7 +35,7 @@ export namespace Device {
series?: string| null; //装置识别码3ds加密 series?: string| null; //装置识别码3ds加密
devKey?: string| null; //装置秘钥3ds加密 devKey?: string| null; //装置秘钥3ds加密
sampleID?: string| null; //样品编号 sampleID?: string| null; //样品编号
arrivedDate?: string| null; //送样日期 arrivedDate?: string; //送样日期
cityName?: string| null; //所属地市名称 cityName?: string| null; //所属地市名称
gDName?: string| null; //所属供电公司名称 gDName?: string| null; //所属供电公司名称
subName?: string| null; //所属电站名称 subName?: string| null; //所属电站名称

View File

@@ -94,7 +94,7 @@ const emit = defineEmits<{
(e: 'update-dates', startDate: string, endDate: string): void; (e: 'update-dates', startDate: string, endDate: string): void;
}>() }>()
const timeUnit = ref<string>(props.default) // 默认选择 const timeUnit = ref<string>(props.default) // 默认选择
const startDate = ref<Date>(new Date(0)) // 起始日期 const startDate = ref<Date>(new Date()) // 起始日期
const endDate = ref<Date>(new Date()) // 结束日期 const endDate = ref<Date>(new Date()) // 结束日期
const isNextDisabled = ref<boolean>(false) // 控制下一周期按钮的禁用状态 const isNextDisabled = ref<boolean>(false) // 控制下一周期按钮的禁用状态
const today = ref<Date>(new Date()) // 当前日期 const today = ref<Date>(new Date()) // 当前日期

View File

@@ -56,9 +56,10 @@
<el-form-item label="生产日期" prop="createDate"> <el-form-item label="生产日期" prop="createDate">
<el-date-picker <el-date-picker
v-model="formContent.createDate" v-model="formContent.createDate"
type="datetime"
placeholder="请选择生产日期" placeholder="请选择生产日期"
:disabled-date="disabledDate"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@@ -124,8 +125,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label='送样日期' prop='arrivedDate' clearable placeholder="请输入送样日期"> <el-form-item label='送样日期' prop='arrivedDate' >
<el-input v-model='formContent.arrivedDate' /> <el-date-picker
v-model="formContent.arrivedDate"
placeholder="请选择送样日期"
:disabled-date="disabledDate"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -158,7 +163,9 @@
const dictStore = useDictStore() const dictStore = useDictStore()
// 定义弹出组件元信息 // 定义弹出组件元信息
const dialogFormRef = ref() const dialogFormRef = ref()
const disabledDate = (time: Date) => {
return time.getTime() > Date.now()
}
function useMetaInfo() { function useMetaInfo() {
const dialogVisible = ref(false) const dialogVisible = ref(false)
const titleType = ref('add') const titleType = ref('add')
@@ -214,6 +221,8 @@
return titleType.value === 'add' ? '新增被检设备' : '编辑被检设备' return titleType.value === 'add' ? '新增被检设备' : '编辑被检设备'
}) })
// 定义表单校验规则 // 定义表单校验规则
const rules: Ref<Record<string, Array<FormItemRule>>> = ref({ const rules: Ref<Record<string, Array<FormItemRule>>> = ref({
devType: [{ required: true, message: '设备类型必选!', trigger: 'change' }], devType: [{ required: true, message: '设备类型必选!', trigger: 'change' }],
@@ -226,7 +235,8 @@
createId: [{ required: true, message: '出厂编号必填!', trigger: 'blur' }], createId: [{ required: true, message: '出厂编号必填!', trigger: 'blur' }],
hardwareVersion: [{ required: true, message: '固件版本必填!', trigger: 'blur' }], hardwareVersion: [{ required: true, message: '固件版本必填!', trigger: 'blur' }],
softwareVersion: [{ required: true, message: '软件版本必填!', trigger: 'blur' }], softwareVersion: [{ required: true, message: '软件版本必填!', trigger: 'blur' }],
ip:[{ required: true, message: 'IP地址必填', trigger: 'blur' }], ip:[{ required: true, message: 'IP地址必填', trigger: 'blur' } ,
],
port:[{ required: true, message: '端口号必填!', trigger: 'blur' }], port:[{ required: true, message: '端口号必填!', trigger: 'blur' }],
manufacturer: [{ required: true, message: '生产厂家必选!', trigger: 'change' }], manufacturer: [{ required: true, message: '生产厂家必选!', trigger: 'change' }],
encryption: [{ required: true, message: '是否加密必选!', trigger: 'change' }], encryption: [{ required: true, message: '是否加密必选!', trigger: 'change' }],
@@ -246,23 +256,22 @@
try { try {
dialogFormRef.value?.validate(async (valid: boolean) => { dialogFormRef.value?.validate(async (valid: boolean) => {
if (valid) { if (valid) {
formContent.value.createDate = dayjs(formContent.value.createDate).format('YYYY-MM-DD HH:mm:ss'); formContent.value.createDate = dayjs(formContent.value.createDate).format('YYYY-MM-DD');
formContent.value.arrivedDate = dayjs(formContent.value.arrivedDate).format('YYYY-MM-DD');
if (formContent.value.id) { if (formContent.value.id) {
updatePqDev(formContent.value).then(result => { const result = await updatePqDev(formContent.value);
if(result.code != 'A0000'){ if(result.code != 'A0000'){
ElMessage.error({ message: result.message}) ElMessage.error({ message: result.message})
}else{ }else{
ElMessage.success({ message: `${dialogTitle.value}成功!` }) ElMessage.success({ message: `${dialogTitle.value}成功!` })
} }
}) } else {
} else { const result = await addPqDev(formContent.value);
addPqDev(formContent.value).then(result => { if(result.code != 'A0000'){
if(result.code != 'A0000'){
ElMessage.error({ message: result.message}) ElMessage.error({ message: result.message})
}else{ }else{
ElMessage.success({ message: `${dialogTitle.value}成功!` }) ElMessage.success({ message: `${dialogTitle.value}成功!` })
} }
})
} }
close() close()
// 刷新表格 // 刷新表格

View File

@@ -9,8 +9,8 @@
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
<el-button type='primary' :icon='Download' plain @click='downloadFile()'>批量导出</el-button> <el-button type='primary' :icon='Upload' plain @click='downloadFile()'>批量导出</el-button>
<el-button type='primary' :icon='Upload' plain @click='importFile()'>批量导入</el-button> <el-button type='primary' :icon='Download' plain @click='importFile()'>批量导入</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
@@ -70,7 +70,6 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
prop: 'devType', prop: 'devType',
label: '类型', label: '类型',
enum: dictStore.getDictData('High_Cate'), enum: dictStore.getDictData('High_Cate'),
search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'name', value: 'code' }, fieldNames: { label: 'name', value: 'code' },
minWidth: 200, minWidth: 200,
}, },
@@ -92,6 +91,9 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
{ {
prop: 'manufacturer', prop: 'manufacturer',
label: '制作厂商', label: '制作厂商',
enum: dictStore.getDictData('High_Cate'),
search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'name', value: 'code' },
minWidth: 200, minWidth: 200,
}, },
{ {
@@ -105,7 +107,7 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
<div class='flx-flex-start'> <div class='flx-flex-start'>
<TimeControl <TimeControl
include={['日', '周', '月', '自定义']} include={['日', '周', '月', '自定义']}
default={'自定义'} default={''}
onUpdate-dates={handleDateChange} onUpdate-dates={handleDateChange}
/> />
</div> </div>

View File

@@ -230,21 +230,23 @@ import { el } from 'element-plus/es/locale';
if (valid) { if (valid) {
formContent.value.statMethod = selectedStatMethods.value.join(',') formContent.value.statMethod = selectedStatMethods.value.join(',')
if (formContent.value.id) { if (formContent.value.id) {
updateDictPq(formContent.value).then(result => { const result = await updateDictPq(formContent.value);
if(result.code != 'A0000'){ if(result.code != 'A0000'){
ElMessage.error({ message: result.message}) ElMessage.error({ message: result.message})
}else{ }else{
ElMessage.success({ message: `${dialogTitle.value}成功!` }) ElMessage.success({ message: `${dialogTitle.value}成功!` })
} }
})
} else { } else {
addDictPq(formContent.value).then(result => { const result = await addDictPq(formContent.value);
if(result.code != 'A0000'){ if(result.code != 'A0000'){
ElMessage.error({ message: result.message}) ElMessage.error({ message: result.message})
}else{ }else{
ElMessage.success({ message: `${dialogTitle.value}成功!` }) ElMessage.success({ message: `${dialogTitle.value}成功!` })
} }
})
} }
//ElMessage.success({ message: `${dialogTitle.value}成功!` }) //ElMessage.success({ message: `${dialogTitle.value}成功!` })