Selaa lähdekoodia

pms 选中组织部门树 创建保养计划

zhangcl 1 kuukausi sitten
vanhempi
commit
f59ac305e4

+ 12 - 5
src/views/pms/maintenance/IotMaintenancePlan.vue

@@ -1016,12 +1016,19 @@ const resetForm = () => {
   formRef.value?.resetFields()
 }
 onMounted(async () => {
+  const route = useRoute()
   const deptId = useUserStore().getUser.deptId
-  // 查询当前登录人所属部门名称
-  dept.value = await DeptApi.getDept(deptId)
-  // 根据当前登录人部门信息生成生成 保养计划 名称
-  formData.value.name = dept.value.name + ' - 保养计划'
-  formData.value.deptId = deptId
+  // 优先从路由参数获取部门信息
+  if (route.query.deptId && route.query.deptName) {
+    formData.value.deptId = Number(route.query.deptId)
+    formData.value.name = `${route.query.deptName} - 保养计划`
+  } else {
+    // 查询当前登录人所属部门名称
+    dept.value = await DeptApi.getDept(deptId)
+    // 根据当前登录人部门信息生成生成 保养计划 名称
+    formData.value.name = dept.value.name + ' - 保养计划'
+    formData.value.deptId = deptId
+  }
   if (id){
     formType.value = 'update'
     const plan = await IotMaintenancePlanApi.getIotMaintenancePlan(id);

+ 14 - 2
src/views/pms/maintenance/index.vue

@@ -159,10 +159,15 @@ const queryParams = reactive({
   status: undefined,
   createTime: [],
 })
+
+// 响应式变量存储选中的部门
+const selectedDept = ref<{ id: number; name: string }>()
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
 /** 处理部门被点击 */
 const handleDeptNodeClick = async (row) => {
+  // 记录选中的部门信息
+  selectedDept.value = { id: row.id, name: row.name }
   queryParams.deptId = row.id
   await getList()
 }
@@ -187,6 +192,7 @@ const handleQuery = () => {
 /** 重置按钮操作 */
 const resetQuery = () => {
   queryFormRef.value.resetFields()
+  selectedDept.value = undefined
   handleQuery()
 }
 
@@ -201,8 +207,14 @@ const openForm = (type: string, id?: number) => {
     push({ name: 'IotMainPlanEdit', params: {id } })
     return
   }
-  // 新增
-  push({ name: 'IotAddMainPlan', params:{} })
+  // 新增 保养计划
+  push({
+    name: 'IotAddMainPlan',
+    query: {
+      deptId: selectedDept.value?.id,
+      deptName: selectedDept.value?.name
+    }
+  })
 }
 
 const handleStatusChange = async (row: IotMaintenancePlanVO) => {