This commit is contained in:
sjl
2024-11-07 15:13:53 +08:00
parent 1ec486a42d
commit 0ca2baa44a
4 changed files with 50 additions and 23 deletions

View File

@@ -55,7 +55,7 @@
})
// 证明在开始阶段
if (input.selectionStart == 0) {
console.log('鼠标设置了,', index)
//console.log('鼠标设置了,', index)
markFlag.value[index].left = true
} else {
markFlag.value[index].left = false
@@ -111,7 +111,7 @@
// 检查ip输入
const checkIpVal = (item: any) => {
let val = item.value;
console.log(val, '===========')
//console.log(val, '===========')
// 处理非数字
val = val.toString().replace(/[^0-9]/g, "");
val = parseInt(val, 10);
@@ -130,7 +130,7 @@
}
}
item.value = val;
console.log(item.value, '=========')
//console.log(item.value, '=========')
}
// 判断光标左右移动位置
@@ -170,19 +170,19 @@
markFlag.value[index].right = false
}
} else if (e.keyCode === 8) {
console.log('删除键把当前数据删除完毕后会跳转到前一个input')
//console.log('删除键把当前数据删除完毕后会跳转到前一个input')
// 删除键把当前数据删除完毕后会跳转到前一个input左一不做任何处理
if (index !== 0 && e.currentTarget.selectionStart === 0) {
if (markFlag.value[index].left) {
ipInputRefs.value[index - 1].focus();
markFlag.value[index].left = false
} else {
console.log('左键设置了删除,', index)
//console.log('左键设置了删除,', index)
markFlag.value[index].left = true
}
}
} else if (e.keyCode === 13 || e.keyCode === 32) {
console.log('回车键、空格键、冒号均向右跳转,右一不做任何措施')
//console.log('回车键、空格键、冒号均向右跳转,右一不做任何措施')
// 回车键、空格键、冒号均向右跳转,右一不做任何措施
if (index !== 3) {
ipInputRefs.value[index + 1].focus();
@@ -190,7 +190,7 @@
}
else if (e.keyCode === 110 || e.keyCode === 190) {
// 点 . 向右跳转,右一不做任何措施
console.log('点击')
// console.log('点击')
if (item.value == '') {
return
}
@@ -199,10 +199,11 @@
}
}
else if (item.value.toString().length === 3) {
console.log('满3位光标自动向下一个文本框')
//console.log('满3位光标自动向下一个文本框')
// 满3位光标自动向下一个文本框.
if (index !== 3) {
ipInputRefs.value[index + 1].setSelectionRange(0, 0)
//ipInputRefs.value[index + 1].setSelectionRange(0, 0)
ipInputRefs.value[index + 1].focus();
}
}
}
@@ -220,7 +221,7 @@
} else {
if (direction == 'toRight') {
// 可以直接跳回
console.log('右键focus,', index)
//console.log('右键focus,', index)
markFlag.value[index].left = true
// 设置光标为左边第一个
ipInputRefs.value[index].setSelectionRange(0, 0)
@@ -251,7 +252,7 @@
// 监听数据变化,并初始化显示四个数据
watch(() => props.value, () => {
console.log('变化了~', props.value);
//console.log('变化了~', props.value);
if(flag.value){
}else{

View File

@@ -109,7 +109,7 @@ const timeUnits = ref<TimeUnit[]>(
// 发出日期变化事件
const emitDateChange = () => {
emit('update-dates', formatDate(startDate.value), formatDate(endDate.value))
console.log('emitDateChange', startDate.value, endDate.value)
//console.log('emitDateChange', startDate.value, endDate.value)
}
// 在组件挂载时更新日期范围

View File

@@ -94,7 +94,7 @@
<el-col :span="8">
<el-form-item label="IP地址" prop="ip">
<!-- <el-input v-model='formContent.ip'/> -->
<abc v-model:value="formContent.ip"/>
<IPAddress v-model:value="formContent.ip"/>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -150,7 +150,7 @@
</template>
<script setup lang='ts'>
import abc from '@/components/IpAddress/index.vue'
import IPAddress from '@/components/IpAddress/index.vue'
import { dialogBig } from '@/utils/elementBind'
import { type Device } from '@/api/device/interface'
import { ElMessage, type FormItemRule } from 'element-plus'
@@ -159,7 +159,7 @@
import { useDictStore } from '@/stores/modules/dict'
import { CirclePlus, Delete } from '@element-plus/icons-vue'
// 使用 dayjs 库格式化
import dayjs from 'dayjs';
import dayjs from 'dayjs';
const dictStore = useDictStore()
// 定义弹出组件元信息
const dialogFormRef = ref()
@@ -228,18 +228,24 @@
devType: [{ required: true, message: '设备类型必选!', trigger: 'change' }],
pattern: [{ required: true, message: '设备模式必填!', trigger: 'blur' }],
name: [{ required: true, message: '设备名称必填!', trigger: 'blur' }],
devChns: [{ required: true, message: '设备通道数必填!', trigger: 'blur' }],
devVolt: [{ required: true, message: '额定电压必填!', trigger: 'blur' }],
devCurr: [{ required: true, message: '额定电流必填!', trigger: 'blur' }],
devChns: [{ required: true, message: '设备通道数必填!', trigger: 'blur' },
// 指定正则,此处是数字正则
{ pattern: /^[1-9]\d*$/, message: '设备通道数为大于1的整数', trigger: 'blur' }],
devVolt: [{ required: true, message: '额定电压必填!', trigger: 'blur' },
{ pattern: /^\d+(\.\d+)?$/, message: '额定电压格式错误', trigger: 'blur' }],
devCurr: [{ required: true, message: '额定电流必填!', trigger: 'blur' },
{ pattern: /^\d+(\.\d+)?$/, message: '额定电流格式错误', trigger: 'blur' }],
createDate: [{ required: true, message: '生产日期必填!', trigger: 'blur' }],
createId: [{ required: true, message: '出厂编号必填!', trigger: 'blur' }],
hardwareVersion: [{ required: true, message: '固件版本必填!', trigger: 'blur' }],
softwareVersion: [{ required: true, message: '软件版本必填!', trigger: 'blur' }],
ip:[{ required: true, message: 'IP地址必填', trigger: 'blur' } ,
],
port:[{ required: true, message: '端口号必填!', trigger: 'blur' }],
{ pattern: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, message: 'IP地址格式错误', trigger: 'blur' }],
port:[{ required: true, message: '端口号必填!', trigger: 'blur' },
{ pattern: /^\d+$/, message: '端口号格式错误', trigger: 'blur' }],
manufacturer: [{ required: true, message: '生产厂家必选!', trigger: 'change' }],
encryption: [{ required: true, message: '是否加密必选!', trigger: 'change' }],
protocol: [{ required: true, message: '通讯协议必选!', trigger: 'change' }],
})
// 关闭弹窗
@@ -257,7 +263,11 @@
dialogFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
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.arrivedDate)
{
formContent.value.arrivedDate = dayjs(formContent.value.arrivedDate).format('YYYY-MM-DD');
}
console.log('1111'+formContent.value.arrivedDate)
if (formContent.value.id) {
const result = await updatePqDev(formContent.value);
if(result.code != 'A0000'){

View File

@@ -42,6 +42,7 @@ import deviceDataList from '@/api/device/deviceData'
import { useDictStore } from '@/stores/modules/dict'
import { getPqDevList, deletePqDev, exportPqDev, importPqDev } from '@/api/device/device.ts'
import { reactive, ref } from 'vue'
import { ElMessageBox } from 'element-plus'
const dictStore = useDictStore()
// ProTable 实例
@@ -134,18 +135,33 @@ const openDialog = (titleType: string, row: Partial<Device.ResPqDev> = {}) => {
}
// 批量删除字典类型
// 批量删除设备
const batchDelete = async (id: string[]) => {
await useHandleData(deletePqDev, id, '删除所选设备')
proTable.value?.clearSelection()
proTable.value?.getTableList()
}
// 删除字典类型
// 删除设备
const handleDelete = async (params: Device.ResPqDev) => {
await useHandleData(deletePqDev, [params.id], `删除【${params.name}】设备`)
proTable.value?.getTableList()
}
// 导出设备
const downloadFile = async () => {
ElMessageBox.confirm('确认导出被检设备?', '温馨提示', { type: 'warning' }).then(() =>
useDownload(exportPqDev, '被检设备导出数据', proTable.value?.searchParam, false,'.xls'),
)
}
//导入设备
const importFile = () => {
ElMessageBox.confirm('确认批量导入被检设备?', '温馨提示', { type: 'warning' }).then(() =>
)
}
</script>