applications/drone-command/src/views/permissionManage/permissionRole/RolePermissionDialog.vue
@@ -20,28 +20,28 @@ :props="treeProps" /> </el-tab-pane> <el-tab-pane label="任务工单"> <el-tree class="command-tree" ref="workRef" :data="menuGrantListWord" show-checkbox node-key="id" :default-checked-keys="menuTreeObjWork" :props="treeProps" /> </el-tab-pane> <el-tab-pane label="移动app"> <el-tree class="command-tree" ref="treeMenuApp" :data="menuGrantListApp" show-checkbox node-key="id" :default-checked-keys="menuTreeObjApp" :props="treeProps" /> </el-tab-pane> <!-- <el-tab-pane label="任务工单">--> <!-- <el-tree--> <!-- class="command-tree"--> <!-- ref="workRef"--> <!-- :data="menuGrantListWord"--> <!-- show-checkbox--> <!-- node-key="id"--> <!-- :default-checked-keys="menuTreeObjWork"--> <!-- :props="treeProps"--> <!-- />--> <!-- </el-tab-pane>--> <!-- <el-tab-pane label="移动app">--> <!-- <el-tree--> <!-- class="command-tree"--> <!-- ref="treeMenuApp"--> <!-- :data="menuGrantListApp"--> <!-- show-checkbox--> <!-- node-key="id"--> <!-- :default-checked-keys="menuTreeObjApp"--> <!-- :props="treeProps"--> <!-- />--> <!-- </el-tab-pane>--> </el-tabs> <template #footer> <el-button color="#2B2B4C" @click="visible = false">取消</el-button> applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue
New file @@ -0,0 +1,142 @@ <template> <el-dialog class="gd-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close :close-on-click-modal="false"> <!-- <div class="detail-row-view" v-if="dialogReadonly">--> <el-table :data="list" class="gd-dialog-table"> <el-table-column prop="resultCode" show-overflow-tooltip label="序号" /> <el-table-column prop="resultCode" show-overflow-tooltip label="设备状态" /> <el-table-column prop="shootTime" show-overflow-tooltip label="发生时间" /> </el-table> </el-dialog> </template> <script setup> import { computed, onMounted, ref } from 'vue' import { ElMessage } from 'element-plus' import { add, getUser, update } from '@/api/system/user' import { getDeptTree } from '@/api/system/dept' import { getRoleTree } from '@/api/system/role' import func from '@/utils/func' import { saveOperationLog } from '@ztzf/apis' import { useRoute } from 'vue-router' const list = ref([]) const initForm = () => ({ account: '', password: '', password2: '', realName: '', phone: '', email: '', sex: null, birthday: '', code: '', roleId: '', deptId: '', // sysType: 6 }) const treeProps = { label: 'title', children: 'children', } const deptTreeSelectProps = { label: 'name', value: 'id', children: 'children', } const emit = defineEmits(['success']) const formRef = ref(null) const formData = ref(initForm()) const visible = ref(false) const dialogMode = ref('add') const submitting = ref(false) const dialogReadonly = computed(() => dialogMode.value === 'view') const dialogTitle = computed(() => { if (dialogMode.value === 'edit') return '编辑' if (dialogMode.value === 'view') return '查看' return '新增' }) const roleTree = ref([]) const deptTree = ref([]) const route = useRoute() const validatePass = (rule, value, callback) => { if (value === '') { callback(new Error('请输入密码')) } else { callback() } } const validatePass2 = (rule, value, callback) => { if (value === '') { callback(new Error('请再次输入密码')) } else if (value !== formData.value.password) { callback(new Error('两次输入密码不一致')) } else { callback() } } async function getRoleTreeData() { const res = await getRoleTree('000000') roleTree.value = res.data.data } async function getDeptTreeData() { const res = await getDeptTree('000000') deptTree.value = res.data.data } function handleCancel() { visible.value = false } async function loadDetail() { if (!formData.value.id) return const res = await getUser(formData.value.id) const data = res?.data?.data ?? {} if (data.roleId) { data.roleId = func.split(data.roleId)[0] || data.roleId } formData.value = data } function handleClosed() { formData.value = initForm() } async function open({ mode, row } = {}) { dialogMode.value = mode || 'add' visible.value = true if (dialogMode.value === 'add') { formData.value = initForm() return } formData.value = { id: row.id } await loadDetail() } onMounted(() => { getRoleTreeData() getDeptTreeData() }) defineExpose({ open }) </script> <style scoped lang="scss"> :deep(.el-select) { width: 100%; } :deep(.el-date-editor) { width: 100%; } :deep(.el-tree-select) { width: 100%; } </style> applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue
New file @@ -0,0 +1,211 @@ <template> <basic-container> <el-form ref="queryParamsRef" :model="searchParams" class="gd-search-form"> <el-form-item label="登录账号" prop="account"> <el-input class="gd-input gray" v-model="searchParams.account" placeholder="请输入" clearable @clear="handleSearch" /> </el-form-item> <el-form-item label="用户姓名" prop="realName"> <el-input class="gd-input gray" v-model="searchParams.realName" placeholder="请输入" clearable @clear="handleSearch" /> </el-form-item> <el-form-item label="所属部门" prop="deptId"> <el-tree-select class="gd-select gray" popper-class="gd-select-popper" v-model="searchParams.deptId" :data="deptTree" :props="treeProps" node-key="id" check-strictly clearable @change="handleSearch" /> </el-form-item> <el-form-item class="gd-search-actions"> <el-button :icon="RefreshRight" @click="resetForm"></el-button> <el-button class="search-btn" :icon="Search" @click="handleSearch"></el-button> </el-form-item> </el-form> <div class="gd-table-toolbar"> <el-button v-if="permission.orderUser_add" :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd"> 新增 </el-button> <el-button v-if="permission.orderUser_remove" :icon="Delete" :disabled="!selectedIds.length" @click="handleDelete()" > 删除 </el-button> </div> <div class="gd-table-container" v-loading="loading"> <div class="gd-table-content gd-table-content-bg"> <el-table class="gd-table" :data="list" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="46" /> <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> <el-table-column prop="account" show-overflow-tooltip label="任务名称" /> <el-table-column prop="realName" show-overflow-tooltip label="发起任务部门" /> <el-table-column prop="roleName" show-overflow-tooltip label="任务发起人" /> <el-table-column prop="deptName" show-overflow-tooltip label="飞行时长" /> <el-table-column prop="phone" show-overflow-tooltip label="飞行里程(m)" /> <el-table-column prop="phone" show-overflow-tooltip label="执行设备" /> <el-table-column prop="phone" show-overflow-tooltip label="计划执行时间" /> <el-table-column prop="phone" show-overflow-tooltip label="实际执行时间" /> <el-table-column label="操作" class-name="operation-btns" width="180"> <template v-slot="{ row }"> <el-link @click="handleView(row)">查看</el-link> </template> </el-table-column> </el-table> </div> <div class="gd-pagination-parent"> <el-pagination popper-class="gd-select-popper" v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> </div> </div> <FormDiaLog ref="dialogRef" @success="getList" /> </basic-container> </template> <script setup> import { Delete, Plus, RefreshRight, Search } from '@element-plus/icons-vue' import { computed, onMounted, ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { getDeptTree } from '@/api/system/dept' import { getList as getUserList, remove } from '@/api/system/user' import { useStore } from 'vuex' import FormDiaLog from './FormDiaLog.vue' import { saveOperationLog } from '@ztzf/apis' import { useRoute } from 'vue-router' const initSearchParams = () => ({ account: '', realName: '', deptId: '', current: 1, size: 10, // sysType: 6 }) const searchParams = ref(initSearchParams()) const loading = ref(true) const list = ref([]) const total = ref(0) const selectedIds = ref([]) const queryParamsRef = ref(null) const dialogRef = ref(null) const deptTree = ref([]) const treeProps = { label: 'name', children: 'children', } const store = useStore() const permission = computed(() => store.getters.permission || {}) const route = useRoute() async function getList() { loading.value = true try { const res = await getUserList( searchParams.value.current, searchParams.value.size, // searchParams.value.sysType, { account: searchParams.value.account, realName: searchParams.value.realName, }, searchParams.value.deptId ) list.value = res?.data?.data?.records ?? [] total.value = res?.data?.data?.total ?? 0 } finally { loading.value = false } } function handleSearch() { searchParams.value.current = 1 getList() } function resetForm() { queryParamsRef.value?.resetFields() searchParams.value.current = 1 searchParams.value.deptId = '' getList() } function handleAdd() { dialogRef.value?.open({ mode: 'add' }) } function handleView(row) { dialogRef.value?.open({ mode: 'view', row: { ...row } }) } function handleEdit(row) { dialogRef.value?.open({ mode: 'edit', row: { ...row } }) } async function handleDelete(row) { const tips = row ? '该条' : '选中的项' await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { type: 'warning', customClass: 'command-page-view-message-box', confirmButtonClass: 'command-message-box-confirm', cancelButtonClass: 'command-message-box-cancel', }) const ids = row ? row.id : selectedIds.value.join(',') await remove(ids) saveOperationLog({ requestUri: route.path, title: `${route.name || '用户管理'}-删除`, type: 1 }) ElMessage.success('删除成功') selectedIds.value = [] getList() } function handleSelectionChange(rows) { selectedIds.value = rows.map(item => item.id) } function getDeptTreeList() { getDeptTree().then(res => { deptTree.value = res?.data?.data ?? [] }) } onMounted(() => { getList() getDeptTreeList() }) </script> <style scoped lang="scss"></style> applications/task-work-order/src/views/orderView/deviceInvocation/equipmentResource/FormDiaLog.vue
applications/task-work-order/src/views/orderView/deviceInvocation/equipmentResource/equipmentResourceApi.js
applications/task-work-order/src/views/orderView/deviceInvocation/equipmentResource/index.vue
applications/task-work-order/src/views/orderView/organizational/roleMange/FormDiaLog.vue
applications/task-work-order/src/views/orderView/organizational/roleMange/RolePermissionDialog.vue
File was renamed from applications/task-work-order/src/views/orderView/systemMange/roleMange/RolePermissionDialog.vue @@ -31,17 +31,17 @@ :props="treeProps" /> </el-tab-pane> <!-- <el-tab-pane label="移动app">--> <!-- <el-tree--> <!-- class="command-tree"--> <!-- ref="treeMenuApp"--> <!-- :data="menuGrantListApp"--> <!-- show-checkbox--> <!-- node-key="id"--> <!-- :default-checked-keys="menuTreeObjApp"--> <!-- :props="treeProps"--> <!-- />--> <!-- </el-tab-pane>--> <el-tab-pane label="移动app"> <el-tree class="command-tree" ref="treeMenuApp" :data="menuGrantListApp" show-checkbox node-key="id" :default-checked-keys="menuTreeObjApp" :props="treeProps" /> </el-tab-pane> </el-tabs> <template #footer> <el-button color="#F2F3F5" @click="visible = false">取消</el-button> applications/task-work-order/src/views/orderView/organizational/roleMange/index.vue
applications/task-work-order/src/views/orderView/organizational/userMange/FormDiaLog.vue
applications/task-work-order/src/views/orderView/organizational/userMange/index.vue