Browse Source

pms 保养计划 启用 停用

zhangcl 1 tháng trước cách đây
mục cha
commit
a633386bd7
2 tập tin đã thay đổi với 26 bổ sung25 xóa
  1. 8 0
      src/api/pms/maintenance/index.ts
  2. 18 25
      src/views/pms/maintenance/index.vue

+ 8 - 0
src/api/pms/maintenance/index.ts

@@ -39,6 +39,14 @@ export const IotMaintenancePlanApi = {
     return await request.post({ url: `/rq/iot-maintenance-plan/updatePlan`, data })
   },
 
+  updatePlanStatus : (id: number, status: number) => {
+    const data = {
+      id,
+      status
+    }
+    return request.put({ url: '/rq/iot-maintenance-plan/update-status', data: data })
+  },
+
   // 删除保养计划
   deleteIotMaintenancePlan: async (id: number) => {
     return await request.delete({ url: `/rq/iot-maintenance-plan/delete?id=` + id })

+ 18 - 25
src/views/pms/maintenance/index.vue

@@ -33,17 +33,6 @@
               class="!w-240px"
             />
           </el-form-item>
-          <!--
-          <el-form-item label="状态" prop="status">
-            <el-select
-              v-model="queryParams.status"
-              placeholder="请选择状态"
-              clearable
-              class="!w-240px"
-            >
-              <el-option label="请选择字典生成" value="" />
-            </el-select>
-          </el-form-item> -->
           <el-form-item :label="t('operationFill.createTime')" prop="createTime">
             <el-date-picker
               v-model="queryParams.createTime"
@@ -93,7 +82,12 @@
           <el-table-column :label="t('iotMaintain.PersonInCharge')" align="center" prop="responsiblePersonName" />
           <el-table-column :label="t('maintain.status')" align="center" prop="status" >
             <template #default="scope">
-              <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
+              <el-switch
+                v-model="scope.row.status"
+                :active-value="0"
+                :inactive-value="1"
+                @change="handleStatusChange(scope.row)"
+              />
             </template>
           </el-table-column>
           <el-table-column
@@ -121,16 +115,6 @@
               >
                 {{ t('maintain.view') }}
               </el-button>
-              <!--
-              <el-button
-                link
-                type="danger"
-                @click="handleDelete(scope.row.id)"
-                v-hasPermi="['rq:iot-maintenance-plan:delete']"
-              >
-                删除
-              </el-button>
-              -->
             </template>
           </el-table-column>
         </el-table>
@@ -144,8 +128,6 @@
       </ContentWrap>
     </el-col>
   </el-row>
-  <!-- 表单弹窗:添加/修改 -->
-<!--  <IotMaintenancePlanForm ref="formRef" @success="getList" />-->
 </template>
 
 <script setup lang="ts">
@@ -153,7 +135,7 @@ import { dateFormatter } from '@/utils/formatTime'
 import download from '@/utils/download'
 import { IotMaintenancePlanApi, IotMaintenancePlanVO } from '@/api/pms/maintenance'
 import DeptTree from "@/views/system/user/DeptTree.vue";
-import {DICT_TYPE} from "@/utils/dict";
+import {CommonStatusEnum} from "@/utils/constants";
 const { push } = useRouter() // 路由跳转
 
 /** 保养计划 列表 */
@@ -223,6 +205,17 @@ const openForm = (type: string, id?: number) => {
   push({ name: 'IotAddMainPlan', params:{} })
 }
 
+const handleStatusChange = async (row: IotMaintenancePlanVO) => {
+  try {
+    const text = row.status === CommonStatusEnum.ENABLE ? '启用' : '停用';
+    await message.confirm('确认要"' + text + '""' + row.name + '" 保养计划吗?');
+    await IotMaintenancePlanApi.updatePlanStatus(row.id, row.status);
+    await getList();
+  } catch {
+    row.status = row.status === CommonStatusEnum.ENABLE ? CommonStatusEnum.DISABLE : CommonStatusEnum.ENABLE;
+  }
+};
+
 /** 删除按钮操作 */
 const handleDelete = async (id: number) => {
   try {