无人机管理后台前端(已迁走)
罗广辉
2025-10-11 02409bfbe15f22fc3b5dccadabfd860a660a49d9
src/views/device/addDevice.vue
@@ -70,10 +70,12 @@
                lazy: true,
                tree: true,
                // dialogWidth: 1050,
                dialogWidth: 1050,
                searchGutter: 30,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                searchGutter: 30,
                border: true,
                index: true,
                indexLabel: '序号',
@@ -92,8 +94,9 @@
                    {
                        label: '设备名称',// '工作空间名称',
                        prop: 'workspace_name',
                        editDisabled: true,
                        searchLabelWidth: 130,
                        // editDisabled: true,
                        editDisplay: false,
                        labelWidth: 130,
                        search: true,
                        // searchSpan: 4,
                        labelWidth: 130,
@@ -110,7 +113,8 @@
                        prop: 'platform_name',
                        labelWidth: 130,
                        width: 180,
                        editDisabled: true,
                        // editDisabled: true,
                        editDisplay: false,
                        type: 'select',
                        dicData: this.systemNamesDicData,
                        rules: [
@@ -163,7 +167,8 @@
                        label: '绑定编号',
                        prop: 'bind_code',
                        labelWidth: 130,
                        editDisabled: true,
                        // editDisabled: true,
                        editDisplay: false,
                        rules: [
                            {
                                required: false,
@@ -174,6 +179,7 @@
                    },
                    {
                        label: '设备类型',
                        editDisplay: false,
                        prop: 'type',
                        type: 'radio',
                        labelWidth: 130,
@@ -198,34 +204,6 @@
                        ],
                    },
                    {
                        label: '设备描述',// '工作空间描述',
                        prop: 'workspace_desc',
                        labelWidth: 130,
                        // search: true,
                        searchSpan: 4,
                        // editDisabled: true,
                        rules: [
                            {
                                required: true,
                                message: '请输入设备描述',
                                trigger: 'blur',
                            },
                        ],
                    },
                    {
                        label: '创建时间',
                        prop: 'create_time',
                        addDisplay: false,
                        editDisplay: false,
                        overHidden: true,
                        type: 'date',
                        labelWidth: 130,
                        width: 160,
                        format: 'YYYY-MM-DD HH:mm:ss',
                    },
                    {
                        label: '设备位置',// '行政区划',
                        prop: 'area_name',
                        // hide: true,
@@ -237,20 +215,22 @@
                        width: 200,
                    },
                    {
                        label: '设备位置',// '行政区划',
                        label: '设备位置',
                        prop: 'area_code',
                        type: 'cascader',
                        labelWidth: 130,
                        searchSpan: 4,
                        hide: true,
                        search: true,
                        // overHidden: true,
                        editDisplay: true,
                        viewDisplay: false,
                        viewDisplay: true,
                        checkStrictly: true,
                        props: {
                        label: 'title',
                        value: 'value',
                        emitPath: false,
                        checkStrictly: true,
                        multiple: false,
                        expandTrigger: 'hover',
                        },
@@ -296,6 +276,49 @@
                        }
                        },
                    },
                    {
                        label: '设备描述', // '工作空间描述',
                        prop: 'workspace_desc',
                        labelWidth: 130,
                        searchSpan: 4,
                        rules: [
                            {
                                required: true,
                                message: '请输入设备描述',
                                trigger: 'blur',
                            },
                            {
                                max: 30,
                                message: '设备描述不能超过30个字',
                                trigger: 'blur',
                            },
                            // 如果需要更严格的校验(如中文字符计算),可以使用 validator
                            {
                                validator: (rule, value, callback) => {
                                    if (value && value.length > 30) {
                                        callback(new Error('设备描述不能超过30个字'));
                                    } else {
                                        callback();
                                    }
                                },
                                trigger: 'blur',
                            },
                        ],
                    },
                    {
                        label: '创建时间',
                        prop: 'create_time',
                        addDisplay: false,
                        editDisplay: false,
                        overHidden: true,
                        type: 'date',
                        labelWidth: 130,
                        width: 160,
                        format: 'YYYY-MM-DD HH:mm:ss',
                    },
                ],
            },
@@ -611,7 +634,12 @@
                }
                values.releaseTimeRange = null
            }
            console.log(values.area_code,this.query)
            values['type'] = 1
            if (values.area_code) {
                values['area_code'] = values.area_code.split(',').pop()
            }
            this.loading = true
            getList(page.currentPage, page.pageSize, values).then(async res => {
                const data = res.data.data