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

View File

@@ -109,7 +109,7 @@ const timeUnits = ref<TimeUnit[]>(
// 发出日期变化事件 // 发出日期变化事件
const emitDateChange = () => { const emitDateChange = () => {
emit('update-dates', formatDate(startDate.value), formatDate(endDate.value)) 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-col :span="8">
<el-form-item label="IP地址" prop="ip"> <el-form-item label="IP地址" prop="ip">
<!-- <el-input v-model='formContent.ip'/> --> <!-- <el-input v-model='formContent.ip'/> -->
<abc v-model:value="formContent.ip"/> <IPAddress v-model:value="formContent.ip"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@@ -150,7 +150,7 @@
</template> </template>
<script setup lang='ts'> <script setup lang='ts'>
import abc from '@/components/IpAddress/index.vue' import IPAddress from '@/components/IpAddress/index.vue'
import { dialogBig } from '@/utils/elementBind' import { dialogBig } from '@/utils/elementBind'
import { type Device } from '@/api/device/interface' import { type Device } from '@/api/device/interface'
import { ElMessage, type FormItemRule } from 'element-plus' import { ElMessage, type FormItemRule } from 'element-plus'
@@ -228,18 +228,24 @@
devType: [{ required: true, message: '设备类型必选!', trigger: 'change' }], devType: [{ required: true, message: '设备类型必选!', trigger: 'change' }],
pattern: [{ required: true, message: '设备模式必填!', trigger: 'blur' }], pattern: [{ required: true, message: '设备模式必填!', trigger: 'blur' }],
name: [{ required: true, message: '设备名称必填!', trigger: 'blur' }], name: [{ required: true, message: '设备名称必填!', trigger: 'blur' }],
devChns: [{ required: true, message: '设备通道数必填!', trigger: 'blur' }], devChns: [{ required: true, message: '设备通道数必填!', trigger: 'blur' },
devVolt: [{ required: true, message: '额定电压必填!', trigger: 'blur' }], // 指定正则,此处是数字正则
devCurr: [{ 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' }], createDate: [{ required: true, message: '生产日期必填!', trigger: 'blur' }],
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' } ,
], { 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' }], port:[{ required: true, message: '端口号必填!', trigger: 'blur' },
{ pattern: /^\d+$/, 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' }],
protocol: [{ required: true, message: '通讯协议必选!', trigger: 'change' }],
}) })
// 关闭弹窗 // 关闭弹窗
@@ -257,7 +263,11 @@
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'); formContent.value.createDate = dayjs(formContent.value.createDate).format('YYYY-MM-DD');
if (formContent.value.arrivedDate)
{
formContent.value.arrivedDate = dayjs(formContent.value.arrivedDate).format('YYYY-MM-DD'); formContent.value.arrivedDate = dayjs(formContent.value.arrivedDate).format('YYYY-MM-DD');
}
console.log('1111'+formContent.value.arrivedDate)
if (formContent.value.id) { if (formContent.value.id) {
const result = await updatePqDev(formContent.value); const result = await updatePqDev(formContent.value);
if(result.code != 'A0000'){ if(result.code != 'A0000'){

View File

@@ -42,6 +42,7 @@ import deviceDataList from '@/api/device/deviceData'
import { useDictStore } from '@/stores/modules/dict' import { useDictStore } from '@/stores/modules/dict'
import { getPqDevList, deletePqDev, exportPqDev, importPqDev } from '@/api/device/device.ts' import { getPqDevList, deletePqDev, exportPqDev, importPqDev } from '@/api/device/device.ts'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { ElMessageBox } from 'element-plus'
const dictStore = useDictStore() const dictStore = useDictStore()
// ProTable 实例 // ProTable 实例
@@ -134,18 +135,33 @@ const openDialog = (titleType: string, row: Partial<Device.ResPqDev> = {}) => {
} }
// 批量删除字典类型 // 批量删除设备
const batchDelete = async (id: string[]) => { const batchDelete = async (id: string[]) => {
await useHandleData(deletePqDev, id, '删除所选设备') await useHandleData(deletePqDev, id, '删除所选设备')
proTable.value?.clearSelection() proTable.value?.clearSelection()
proTable.value?.getTableList() proTable.value?.getTableList()
} }
// 删除字典类型 // 删除设备
const handleDelete = async (params: Device.ResPqDev) => { const handleDelete = async (params: Device.ResPqDev) => {
await useHandleData(deletePqDev, [params.id], `删除【${params.name}】设备`) await useHandleData(deletePqDev, [params.id], `删除【${params.name}】设备`)
proTable.value?.getTableList() 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> </script>