| | |
| | | </el-button> |
| | | </template> |
| | | <template #dept_name="{ row }"> |
| | | <el-tag>{{ row.dept_name }}</el-tag> |
| | | <el-tag v-if="row.dept_name">{{ row.dept_name }}</el-tag> |
| | | <span v-else>/</span> |
| | | </template> |
| | | <template #status="{ row }"> |
| | | <div v-if="row.status == true" class="onlineStatus"> |
| | |
| | | |
| | | <script> |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { getRegionTreeAll } from '@/api/job/task'; |
| | | import { pxToRem } from '@/utils/rem' |
| | | import { |
| | | getList, |
| | |
| | | DockControlPanel, |
| | | }, |
| | | data () { |
| | | // const self = this |
| | | |
| | | const validatePass = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请输入密码')) |
| | |
| | | { |
| | | label: '设备位置', |
| | | prop: 'area_code', |
| | | type: 'cascader', |
| | | // type: 'cascader', |
| | | type: 'tree', |
| | | labelWidth: 145, |
| | | searchSpan: 4, |
| | | hide: true, |
| | |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | checkStrictly: true, |
| | | |
| | | defaultExpandAll: true, |
| | | dicData: [], |
| | | props: { |
| | | label: 'title', |
| | | value: 'value', |
| | | emitPath: false, |
| | | multiple: false, |
| | | expandTrigger: 'hover', |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'childrens', |
| | | }, |
| | | dataType: 'string', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | lazy: true, |
| | | lazyLoad (node, resolve) { |
| | | let level = node.level |
| | | let list = [] |
| | | let callback = () => { |
| | | resolve( |
| | | (list || []).map(ele => ({ |
| | | ...ele, |
| | | value: ele.value, |
| | | leaf: level >= 2, |
| | | })) |
| | | ) |
| | | } |
| | | |
| | | if (level === 0) { |
| | | getLazyTree('000000000000').then(res => { |
| | | list = res.data.data |
| | | callback() |
| | | }) |
| | | } else if (level === 1) { |
| | | getLazyTree(node.value).then(res => { |
| | | list = res.data.data |
| | | callback() |
| | | }) |
| | | } else if (level === 2) { |
| | | getLazyTree(node.value).then(res => { |
| | | list = res.data.data |
| | | callback() |
| | | }) |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | | label: '设备名称', |
| | |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: '所属单位', |
| | | label: '所属部门', |
| | | prop: 'dept_name', |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | align: 'center', |
| | | labelWidth: 145, |
| | | width: 180, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请输入所属单位', |
| | | message: '请输入所属部门', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '所属单位', |
| | | label: '所属部门', |
| | | prop: 'dept_id', |
| | | hide: true, |
| | | type: 'tree', |
| | | defaultExpandAll: true, |
| | | |
| | | search: true, |
| | | searchSpan: 4, |
| | | labelWidth: 145, |
| | | defaultExpandAll: true, |
| | | dicUrl: '/blade-system/dept/getTree', |
| | | props: { |
| | | label: 'name', |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请输入所属单位', |
| | | message: '请输入所属部门', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | computed: { |
| | | ...mapGetters(['permission']), |
| | | ...mapGetters(['permission', 'userInfo']), |
| | | permissionList () { |
| | | return { |
| | | addBtn: this.validData(this.permission.air_add, true), |
| | |
| | | }) |
| | | }, |
| | | mounted() { |
| | | |
| | | getRegionTreeAll({ parentCode: this.userInfo.detail.areaCode }).then(res => { |
| | | const column = this.findObject(this.option.column, 'area_code'); |
| | | column.dicData = res.data.data ? [res.data.data] : []; |
| | | }); |
| | | }, |
| | | methods: { |
| | | getDockModeText (value) { |
| | |
| | | }) |
| | | }, |
| | | async getFullAreaCode (areaCode) { |
| | | console.log('getFullAreaCode', areaCode) |
| | | if (!areaCode) return '' |
| | | |
| | | const code = areaCode.toString() |
| | |
| | | if (['edit', 'view'].includes(type)) { |
| | | getDetail(this.form.id).then(async res => { |
| | | const data = res.data.data |
| | | |
| | | this.form = { |
| | | ...data, |
| | | area_code: await this.getFullAreaCode(data.area_code), |
| | | // area_code: await this.getFullAreaCode(data.area_code), |
| | | area_name: this.form.area_name, |
| | | cnmode_code: this.getDockModeText(this.form.mode_code), |
| | | domainTxt: data.domain === 0 ? '无人机' : data.domain === 3 ? '机巢' : '未知', |
| | |
| | | resolve(data) |
| | | }) |
| | | }, |
| | | rowDel (row) { |
| | | this.$confirm('确定将选择数据删除?', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: '操作成功!', |
| | | }) |
| | | }) |
| | | }, |
| | | // rowDel (row) { |
| | | // this.$confirm('确定将选择数据删除?', { |
| | | // confirmButtonText: '确定', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning', |
| | | // }) |
| | | // .then(() => { |
| | | // return remove(row.id) |
| | | // }) |
| | | // .then(() => { |
| | | // this.onLoad(this.page) |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: '操作成功!', |
| | | // }) |
| | | // }) |
| | | // }, |
| | | // 设置无人机操作密码 |
| | | setOperatePasswordConfirm () { |
| | | var that = this |