From fe7c43f16b81a6352b74d3cac84c891000f41659 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 04 三月 2025 15:38:34 +0800
Subject: [PATCH] art: 所有设备 台账 增加点检工单Tab页签

---
 src/views/eam/DailyInspectionOrderList.vue                               |    4 
 src/views/eam/EquipmentListOfAll.vue                                     |   10 +
 src/views/eam/modules/equipmentNew/DailyInspectionOrderListComponent.vue |  572 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 584 insertions(+), 2 deletions(-)

diff --git a/src/views/eam/DailyInspectionOrderList.vue b/src/views/eam/DailyInspectionOrderList.vue
index 82c5bae..4a5247f 100644
--- a/src/views/eam/DailyInspectionOrderList.vue
+++ b/src/views/eam/DailyInspectionOrderList.vue
@@ -1,7 +1,7 @@
 <template>
   <a-card
     :bordered="false"
-    title="鑷富缁存姢鐐规宸ュ崟"
+    title=""
   >
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
@@ -103,7 +103,7 @@
         style="margin-left: 8px"
       >鏌ヨ</a-button>
       <a-button
-        type="primary"
+        type="info"
         @click="searchReset"
         icon="reload"
         style="margin-left: 8px"
diff --git a/src/views/eam/EquipmentListOfAll.vue b/src/views/eam/EquipmentListOfAll.vue
index c7c5309..9239a35 100644
--- a/src/views/eam/EquipmentListOfAll.vue
+++ b/src/views/eam/EquipmentListOfAll.vue
@@ -738,6 +738,7 @@
       >
         <daily-maintenance-list :mainId="selectedMainId"></daily-maintenance-list>
       </a-tab-pane>
+
       <a-tab-pane
         tab="浜屼繚鏍囧噯"
         key="8"
@@ -751,6 +752,13 @@
         forceRender
       >
         <third-maintenance-list :mainId="selectedMainId"></third-maintenance-list>
+      </a-tab-pane>
+      <a-tab-pane
+        tab="鐐规宸ュ崟"
+        key="10"
+        forceRender
+      >
+        <daily-inspection-order-list-component :mainId="selectedMainId"></daily-inspection-order-list-component>
       </a-tab-pane>
     </a-tabs>
     <equipment-modal
@@ -808,6 +816,7 @@
 import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue'
 import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue'
 import KeyEquipmentUpdateModel from './modules/equipmentNew/edit/KeyEquipmentUpdateModel.vue'
+import DailyInspectionOrderListComponent from './modules/equipmentNew/DailyInspectionOrderListComponent.vue'
 
 export default {
   name: "EquipmentList",
@@ -834,6 +843,7 @@
     ThirdMaintenanceList,
     KeyEquipmentUpdateModel,
     JEllipsis,
+    DailyInspectionOrderListComponent,
   },
   data() {
     return {
diff --git a/src/views/eam/modules/equipmentNew/DailyInspectionOrderListComponent.vue b/src/views/eam/modules/equipmentNew/DailyInspectionOrderListComponent.vue
new file mode 100644
index 0000000..85d77f1
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/DailyInspectionOrderListComponent.vue
@@ -0,0 +1,572 @@
+<template>
+  <a-card
+    :bordered="false"
+    title=""
+  >
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div
+        class="ant-alert ant-alert-info"
+        style="margin-bottom: 16px;"
+      >
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a
+          style="margin-left: 24px"
+          @click="onClearSelected"
+        >娓呯┖</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{ x: 'calc(2200px + 50%)', y: 900 }"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange"
+        :rowClassName="tableRowClass"
+      >
+        <!-- :rowSelection="rowSelection" -->
+        <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" -->
+
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a-popconfirm
+            title="纭畾鎺ユ敹宸ュ崟鍚�?"
+            @confirm="() => handleOrderIssue(record)"
+            v-has="'dailyInspectionOrder:issue'"
+          >
+            <a v-if="record.status == '1'">鎺ユ敹</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '1'"
+            type="vertical"
+          />
+          <a-popconfirm
+            title="纭畾鎾ゅ洖宸ュ崟鍚�?"
+            @confirm="() => handleOrderReset(record)"
+            v-has="'dailyInspectionOrder:issue'"
+          >
+            <a v-if="record.status == '2'">鎾ゅ洖</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '2'"
+            type="vertical"
+          />
+          <!-- <a-popconfirm
+            title="纭畾鎭㈠宸ュ崟鍚�?"
+            @confirm="() => handleOrderRecover(record)"
+            v-has="'dailyInspectionOrder:recover'"
+          >
+            <a v-if="record.status == '7'">鎭㈠</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '7'"
+            type="vertical"
+          /> -->
+          <!-- <a-popconfirm
+            title="纭畾浣滃簾宸ュ崟鍚�?"
+            @confirm="() => handleOrderCancel(record)"
+            v-has="'dailyInspectionOrder:recover'"
+          >
+            <a v-if="record.status == '2'">浣滃簾</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '2'"
+            type="vertical"
+          /> -->
+          <a-popconfirm
+            title="纭畾棰嗗彇宸ュ崟鍚�?"
+            @confirm="() => handleOrderGet(record)"
+            v-has="'dailyInspectionOrder:get'"
+          >
+            <a v-if="record.status == '2' && record.assignMode == '1'">棰嗗彇</a>
+          </a-popconfirm>
+          <!-- <a
+            v-if="record.status == '2' && record.assignMode == '2'  "
+            @click="handleAssignOrder(record)"
+            v-has="'dailyInspectionOrder:assign'"
+          >娲惧伐</a> -->
+          <!-- <a
+            v-if="record.status == '2'&& record.assignMode == '3'  && record.inspectionUserName != null  "
+            @click="handleAssignOrder(record)"
+            v-has="'dailyInspectionOrder:assign'"
+          >鏀规淳</a>
+          <a
+            v-if="record.status == '3'"
+            @click="handleAssignOrder(record)"
+            v-has="'dailyInspectionOrder:assign'"
+          >鏀规淳</a>-->
+          <a-divider
+            v-if="record.status == '2'"
+            type="vertical"
+          />
+          <a-divider
+            v-if="record.status === '3'"
+            type="vertical"
+          />
+          <a
+            v-if="record.status === '3' || record.status === '4'  "
+            @click="handleOrderExe(record)"
+            v-has="'dailyInspectionOrder:exe'"
+          >鎵ц</a>
+          <a-divider
+            v-if="record.status === '3' || record.status === '4' "
+            type="vertical"
+          />
+          <a-popconfirm
+            title="缁翠慨浜虹‘璁ゅ畬宸ュ悧?"
+            @confirm="() => handleOrderRepairConfirm(record)"
+            v-has="'dailyInspectionOrder:repairConfirm'"
+          >
+            <a v-if="record.status == '5'">缁翠慨纭</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '5'"
+            type="vertical"
+          />
+          <a
+            v-if="record.status === '1'"
+            @click="handleEdit(record)"
+            v-has="'dailyInspectionOrder:edit'"
+          >缂栬緫</a>
+          <a-divider
+            v-if="record.status === '1'"
+            type="vertical"
+          />
+          <a-dropdown>
+            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm
+                  title="纭畾鍒犻櫎鍚�?"
+                  @confirm="() => handleDelete(record.id)"
+                  v-has="'dailyInspectionOrder:delete'"
+                >
+                  <a v-if="record.status === '1'">鍒犻櫎</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+
+        <span
+          slot="num"
+          slot-scope="text, record"
+        >
+          <a
+            v-if="record.status === '3' || record.status === '4' ||record.status === '5'  ||record.status === '6' "
+            class="lot"
+            @click="handleOrderExe(record)"
+          >{{record.num}}</a>
+          <span v-else>{{record.num}}</span>
+        </span>
+
+      </a-table>
+    </div>
+
+    <daily-inspection-order-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></daily-inspection-order-modal>
+
+    <inspection-order-assign-modal
+      ref="InspectionOrderAssignModal"
+      @ok="modalFormOk"
+    ></inspection-order-assign-modal>
+
+    <inspection-order-exe-modal
+      ref="InspectionOrderExeModal"
+      @ok="modalFormOk"
+    ></inspection-order-exe-modal>
+    <daily-inspection-order-exe-drawer
+      ref="DailyInspectionOrderExeDrawer"
+      @ok="modalFormOk"
+    ></daily-inspection-order-exe-drawer>
+
+  </a-card>
+</template>
+
+<script>
+
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import DailyInspectionOrderModal from '@/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderModal'
+import InspectionOrderAssignModal from '@/views/eam/modules/dailyInspectionOrder/InspectionOrderAssignModal'
+import InspectionOrderExeModal from '@/views/eam/modules/dailyInspectionOrder/InspectionOrderExeModal'
+import DailyInspectionOrderExeDrawer from '@/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderExeDrawer'
+import { getAction, postAction, requestPut } from '@/api/manage'
+import moment from 'moment'
+
+export default {
+  name: 'DailyInspectionOrderListComponent',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    DailyInspectionOrderModal,
+    InspectionOrderExeModal,
+    DailyInspectionOrderExeDrawer,
+    InspectionOrderAssignModal
+  },
+  props:{
+    mainId:{
+      type:String,
+      default:'',
+      required:false
+    }
+  },
+  watch:{
+    mainId:{
+      immediate: true,
+      handler(val) {
+        if(!this.mainId){
+          this.queryParam['equipmentId'] = 'NAN'
+          this.loadData(1);
+        }else{
+          this.queryParam['equipmentId'] = val
+          this.loadData(1);
+        }
+      }
+    }
+  },
+  data() {
+    return {
+      description: '鑷富缁存姢鐐规宸ュ崟',
+      finishTime: [],
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+
+        {
+          title: '鐐规宸ュ崟鍙�',
+          align: "center",
+          dataIndex: 'num',
+          scopedSlots: { customRender: 'num' }
+        },
+        {
+          title: '缁熶竴缂栫爜',
+          align: "center",
+          dataIndex: 'equipmentNum'
+        },
+        {
+          title: '鐘舵��',
+          align: "center",
+          width: 100,
+          dataIndex: 'statusName'
+        },
+        {
+          title: '鐐规鍛ㄦ湡',
+          align: "center",
+          width: 100,
+          dataIndex: 'inspectionCycleName'
+        },
+        // {
+        //   title: '鐐规鏃ユ湡',
+        //   align: "center",
+        //   dataIndex: 'inspectionDate',
+        //   customRender: function (text) {
+        //     return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
+        //   }
+        // },
+        // {
+        //   title: '鐐规鏃堕棿',
+        //   align: "center",
+        //   dataIndex: 'inspectionTime',
+        //   // customRender: function (text) {
+        //   //   return !text ? "" : (text.length > 10 ? text.substr(11, 20) : text)
+        //   // }
+        // },
+        // {
+        //   title: '鎴鏃堕棿',
+        //   align: "center",
+        //   dataIndex: 'inspectionDeadline',
+        // },
+
+        {
+          title: '璁惧鍚嶇О',
+          align: "center",
+          dataIndex: 'equipmentName'
+        },
+        {
+          title: '璁惧鍨嬪彿',
+          align: "center",
+          dataIndex: 'equipmentModel'
+        },
+        {
+          title: '浣跨敤閮ㄩ棬',
+          align: "center",
+          dataIndex: 'useDepartName'
+        },
+        {
+          title: '璐d换鐝粍',
+          align: "center",
+          dataIndex: 'teamName'
+        },
+        // {
+        //   title: '寮�宸ユ潯浠�',
+        //   align: "center",
+        //   dataIndex: 'startWorkCondition',
+        //   customRender: (text) => {
+        //     if (text == '1') {
+        //       return "鏄�";
+        //     } else if (text == '0') {
+        //       return "鍚�";
+        //     }
+        //   },
+        // },
+        // {
+        //   title: '鐐规鏍囧噯缂栫爜',
+        //   align: "center",
+        //   dataIndex: 'inspectionStandardNum'
+        // },
+
+        // {
+        //   title: '娲惧伐鏂瑰紡',
+        //   align: "center",
+        //   dataIndex: 'assignModeName'
+        // },
+        // {
+        //   title: '鐐规缁撴灉',
+        //   align: "center",
+        //   dataIndex: 'result'
+        // },
+        {
+          title: '鐐规浜�',
+          align: "center",
+          dataIndex: 'inspectionUserName'
+        },
+        {
+          title: '鐐规鏃堕棿',
+          align: "center",
+          dataIndex: 'actualEndTime',
+          // customRender: function (text) {
+          //   return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
+          // }
+        },
+        {
+          title: '缁翠慨纭浜�',
+          align: "center",
+          dataIndex: 'repairConfirmPerson'
+        },
+        {
+          title: '纭鏃堕棿',
+          align: "center",
+          dataIndex: 'repairConfirmDate',
+          // customRender: function (text) {
+          //   return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
+          // }
+        },
+        // {
+        //   title: '鍒涘缓浜�',
+        //   align: "center",
+        //   dataIndex: 'createBy'
+        // },
+        // {
+        //   title: '鍒涘缓鏃ユ湡',
+        //   align: "center",
+        //   dataIndex: 'createTime',
+        // },
+
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: "center",
+          fixed: "right",
+          width: 230,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: "/eam/inspectionOrder/getInspectionOrderList",
+        delete: "/eam/inspectionOrder/delete",
+        deleteBatch: "/eam/inspectionOrder/deleteBatch",
+        exportXlsUrl: "/eam/inspectionOrder/exportXls",
+        importExcelUrl: "eam/inspectionOrder/importExcel",
+        edit: "/eam/inspectionOrder/editStatus",
+        orderGet: "/eam/inspectionOrder/orderGet",
+      },
+
+    }
+  },
+  created() {
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    },
+    rowSelection() {
+      return {
+        type: 'checkbox',
+        onChange: (selectedRowKeys, selectedRows) => {
+          this.selectedRowKeys = selectedRowKeys;
+          this.onSelectChange(selectedRows);
+        },
+        getCheckboxProps: record => ({
+          props: {
+            disabled: record.distable
+          },
+        }),
+        selectedRowKeys: this.selectedRowKeys,
+      };
+    },
+  },
+  methods: {
+
+    // handleOrderExe(record) {
+    //   this.$refs.InspectionOrderExeModal.visible = true
+    //   this.$refs.InspectionOrderExeModal.title = '鏃ュ父鐐规鎵ц'
+    //   this.$refs.InspectionOrderExeModal.handleShow(record)
+    // },
+    //鏀规淳
+    handleAssignOrder: function (record) {
+      this.$refs.InspectionOrderAssignModal.edit(record)
+      this.$refs.InspectionOrderAssignModal.title = '宸ュ崟鏀规淳'
+      this.$refs.InspectionOrderAssignModal.disableSubmit = false
+    },
+    handleOrderExe(record) {
+      this.$refs.DailyInspectionOrderExeDrawer.visible = true
+      this.$refs.DailyInspectionOrderExeDrawer.title = '鑷富缁存姢鐐规鎵ц'
+      this.$refs.DailyInspectionOrderExeDrawer.handleShow(record)
+      if (record.status === '3') {
+        this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = true//淇濆瓨銆佹殏瀛樸�佹姤宸�
+        this.$refs.DailyInspectionOrderExeDrawer.revocationDistable = true//鎾ら攢鎸夐挳
+        this.$refs.DailyInspectionOrderExeDrawer.SWbuttonDistable = false//寮�宸ユ寜閽�
+      } else if (record.status === '4') {
+        this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = false
+        this.$refs.DailyInspectionOrderExeDrawer.revocationDistable = true
+        this.$refs.DailyInspectionOrderExeDrawer.SWbuttonDistable = true
+      } else if (record.status === '5') {
+        this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = true
+        this.$refs.DailyInspectionOrderExeDrawer.revocationDistable = false
+        this.$refs.DailyInspectionOrderExeDrawer.SWbuttonDistable = true
+      } else if (record.status === '6') {
+        this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = true
+        this.$refs.DailyInspectionOrderExeDrawer.revocationDistable = true
+        this.$refs.DailyInspectionOrderExeDrawer.SWbuttonDistable = true
+      }
+    },
+
+    onSelectChange(selectionRows) {
+      this.selectionRows = selectionRows;
+    },
+
+    handleOrderIssue(record) {
+      const that = this;
+      requestPut(that.url.edit, { id: record.id, status: '2' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟涓嬪彂鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟涓嬪彂澶辫触锛�")
+        }
+      })
+    },
+    //鎾ゅ洖
+    handleOrderReset(record) {
+      const that = this;
+      requestPut(that.url.edit, { id: record.id, status: '1' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟鎾ゅ洖鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟鎾ゅ洖澶辫触锛�")
+        }
+      })
+    },
+    handleOrderGet(record) {
+      const that = this;
+      requestPut(that.url.orderGet, { id: record.id, status: '3' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟棰嗗彇鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟棰嗗彇澶辫触锛�")
+        }
+      })
+    },
+    //缁翠慨纭
+    handleOrderRepairConfirm(record) {
+      const that = this;
+      requestPut(that.url.edit, { id: record.id, status: '6' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟瀹屽伐鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟瀹屽伐澶辫触锛�")
+        }
+      })
+    },
+
+    //鎭㈠
+    handleOrderRecover(record) {
+      const that = this;
+      requestPut(that.url.edit, { id: record.id, status: '2' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟鎭㈠鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟鎭㈠澶辫触锛�")
+        }
+      })
+    },
+
+    //棰勮棰滆壊
+    tableRowClass(record, index) {
+      if (("1" == record.status || "2" == record.status) && "1鏃�" == record.inspectionCycleName) {
+        if (record.redWarningTime < record.currentDateTime) {
+          return 'error'
+        }
+      }
+    },
+    clearList(){
+      this.dataSource=[]
+      this.selectedRowKeys=[]
+      this.ipagination.current = 1
+    }
+
+  }
+}
+</script>
+<style>
+@import '~@assets/less/common.less';
+.frozenRowClass {
+  color: #c9c9c9;
+  font-weight: bold;
+}
+.success {
+  color: green;
+}
+.error {
+  color: red;
+  font-weight: bold;
+}
+.yellow {
+  color: rgba(255, 255, 0, 0.443);
+  font-weight: bold;
+}
+.fontweight {
+  font-weight: bold;
+}
+
+.ant-table-tbody .red {
+  background-color: red !important;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3