From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期一, 18 九月 2023 13:24:30 +0800
Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430

---
 src/views/eam/PredictiveWorkPlanList.vue |  490 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 490 insertions(+), 0 deletions(-)

diff --git a/src/views/eam/PredictiveWorkPlanList.vue b/src/views/eam/PredictiveWorkPlanList.vue
new file mode 100644
index 0000000..86c48d7
--- /dev/null
+++ b/src/views/eam/PredictiveWorkPlanList.vue
@@ -0,0 +1,490 @@
+<template>
+  <a-card
+    title="棰勬祴鎬х淮鎶ゆ柟妗�"
+    :bordered='false'
+  >
+    <div class='table-page-search-wrapper'>
+      <a-form
+        layout='inline'
+        @keyup.enter.native='searchQuery'
+      >
+        <a-row :gutter='24'>
+          <a-col
+            :xl='6'
+            :lg='7'
+            :md='8'
+            :sm='24'
+          >
+            <a-form-item label='鏂规缂栫爜'>
+              <a-input
+                placeholder='璇疯緭鍏ユ柟妗堢紪鐮�'
+                v-model='queryParam.planNum'
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :xl='6'
+            :lg='7'
+            :md='8'
+            :sm='24'
+          >
+            <a-form-item label='璁惧鍚嶇О'>
+              <a-input
+                placeholder='璇疯緭鍏ヨ澶囧悕绉�'
+                v-model='queryParam.deviceName'
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="10"
+            :sm="8"
+          >
+            <a-form-item label="鐗堟湰鐘舵��">
+              <a-radio-group
+                v-model="queryParam.status"
+                @change="onChange"
+                default-value="2"
+              >
+                <a-radio-button value="1">
+                  鏈敓鏁�
+                </a-radio-button>
+                <a-radio-button value="2">
+                  宸茬敓鏁�
+                </a-radio-button>
+                <a-radio-button value="3">
+                  宸插け鏁�
+                </a-radio-button>
+              </a-radio-group>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+
+    <div class="table-operator">
+      <a-button
+        @click='handleAdd'
+        type='primary'
+        icon='plus'
+      >鏂板
+      </a-button>
+      <a-button
+        type='primary'
+        @click='searchQuery'
+        icon='search'
+      >鏌ヨ
+      </a-button>
+      <a-button
+        type='primary'
+        @click='searchReset'
+        icon='reload'
+        style='margin-left: 8px'
+      >閲嶇疆
+      </a-button>
+    </div>
+
+    <!-- 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'
+        bordered
+        rowKey='id'
+        :scroll="{ x: 'calc(1400px + 50%)', y: 900 }"
+        :columns='columns'
+        :dataSource='dataSource'
+        :pagination='ipagination'
+        :loading='loading'
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio' }"
+        :customRow='clickThenSelect'
+        @change='handleTableChange'
+      >
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a
+            v-if="record.status == '2'"
+            @click="handleRevise(record)"
+          >鍗囩増</a>
+          <a
+            v-if="record.status == '1'"
+            @click="handleTakeEffect(record)"
+          >鐢熸晥</a>
+          <a-divider type="vertical"/>
+          <a
+            v-if="record.status == '1'"
+            @click="handleEdit(record)"
+          >缂栬緫</a>
+          <a-divider type="vertical"/>
+          <a-popconfirm
+            v-if="record.status == '1'"
+            title="纭畾鍒犻櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+
+      </a-table>
+      <a-tabs
+        type="card"
+        defaultActiveKey="1"
+      >
+        <a-tab-pane
+          tab='瑙﹀彂鏉′欢'
+          key="1" forceRender
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <predictive-spare-parts :planId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel"  v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'smkz'"/>
+            <!--            v-if="selectionRows[0].monitorType == 'smkz'"-->
+            <predictive-parameters :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd"
+            v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'cskz'"
+                                   :isDel="isDel"/>
+            <!--            v-if="selectionRows[0].monitorType == 'cskz'" -->
+            <predictive-warn :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd"
+            v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'bjkz'"
+                             :isDel="isDel"/>
+            <!--            v-if="selectionRows[0].monitorType == 'bjkz'"-->
+          </div>
+        </a-tab-pane>
+
+        <a-tab-pane
+          tab='缁存姢鍐呭'
+          key="2" forceRender
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <repair-order-detail-list :mainId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel"/>
+          </div>
+        </a-tab-pane>
+        <a-tab-pane
+          tab='璁″垝鐢ㄦ枡'
+          key="3" forceRender
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <maintenance-standard-planning-material :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
+                                                    :isDel="isDel"/>
+          </div>
+        </a-tab-pane>
+        <a-tab-pane
+          tab='鍗遍櫓闃叉帶'
+          key="4" forceRender
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <maintenance-standard-safety-requirement :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
+                                                     :isDel="isDel"/>
+          </div>
+        </a-tab-pane>
+
+        <a-tab-pane
+          tab='浣滀笟鎸囧涔�'
+          key="5" forceRender
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <maintenance-standard-work-instruction :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd"
+                                                   :isDel="isDel"/>
+          </div>
+        </a-tab-pane>
+
+      </a-tabs>
+    </div>
+
+    <predictive-work-plan-modal
+      ref='modalForm'
+      @ok='modalFormOk'
+    ></predictive-work-plan-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+
+  import { requestPut,deleteAction  } from '@/api/manage'
+
+  import DailyMaintenanceStandardDetail from './modules/dailyMaintenanceStandard/DailyMaintenanceStandardDetail'
+  //璁″垝鐢ㄦ枡
+  import MaintenanceStandardPlanningMaterial from '@/views/eam/common/MaintenanceStandardPlanningMaterial'
+  //鍗遍櫓闃叉帶
+  import MaintenanceStandardSafetyRequirement from '@/views/eam/common/MaintenanceStandardSafetyRequirement'
+  //鏂板缂栬緫
+  import PredictiveWorkPlanModal from './modules/predictiveWorkPlan/PredictiveWorkPlanModal'
+  //鍙傛暟
+  import PredictiveParameters from './modules/predictiveWorkPlan/PredictiveParameters'
+  //鎶ヨ
+  import PredictiveWarn from './modules/predictiveWorkPlan/PredictiveWarn'
+  //澶囦欢
+  import PredictiveSpareParts from './modules/predictiveWorkPlan/PredictiveSpareParts'
+  //浣滀笟鎸囧涔�
+  import MaintenanceStandardWorkInstruction from '@/views/eam/common/MaintenanceStandardWorkInstruction'
+  //缁存姢鍐呭
+  import RepairOrderDetailList from '@/views/eam/common/RepairOrderDetailList'
+  import '@/assets/less/TableExpand.less'
+
+  export default {
+    name: 'PredictiveWorkPlanList',
+    mixins: [JeecgListMixin],
+    components: {
+      DailyMaintenanceStandardDetail,
+      PredictiveWorkPlanModal,
+      MaintenanceStandardPlanningMaterial,
+      MaintenanceStandardSafetyRequirement,
+      MaintenanceStandardWorkInstruction,
+      PredictiveSpareParts,
+      PredictiveParameters,
+      PredictiveWarn,
+      RepairOrderDetailList
+    },
+    data() {
+      return {
+        equipmentId: '',
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
+          {
+            title: '鐗堟湰鐘舵��',
+            align: 'center',
+            dataIndex: 'statusName'
+          },
+          // {
+          //   title: '瀹℃壒鐘舵��',
+          //   align: 'center',
+          //   dataIndex: 'versionStatusName'
+          // },
+          {
+            title: '鐗堟湰',
+            align: 'center',
+            dataIndex: 'planVersion'
+          },
+
+          {
+            title: '鏂规缂栫爜',
+            align: 'center',
+            dataIndex: 'num'
+          },
+          {
+            title: '鏂规鍚嶇О',
+            align: 'center',
+            dataIndex: 'name'
+          },
+          {
+            title: '鐩戞帶绫诲瀷',
+            align: 'center',
+            dataIndex: 'monitorTypeName'
+          },
+          {
+            title: '璁惧缂栫爜',
+            align: 'center',
+            dataIndex: 'deviceNum'
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'deviceName'
+          },
+          {
+            title: '璁惧鍨嬪彿',
+            align: 'center',
+            dataIndex: 'deviceModel'
+          },
+          {
+            title: '缁翠繚鏂瑰紡',
+            align: 'center',
+            dataIndex: 'maintenanceMethodName'
+          },
+          {
+            title: '娲惧伐鏂瑰紡',
+            align: 'center',
+            dataIndex: 'assignModeName'
+          },
+          {
+            title: '璐d换鐝粍',
+            align: 'center',
+            dataIndex: 'teamName'
+          },
+          {
+            title: '鍒涘缓浜�',
+            align: 'center',
+            dataIndex: 'createBy'
+          },
+          {
+            title: '鍒涘缓鏃ユ湡',
+            align: 'center',
+            dataIndex: 'createTime'
+          },
+          // {
+          //   title: '鏇存柊浜�',
+          //   align: 'center',
+          //   dataIndex: 'updateBy',
+          // },
+          // {
+          //   title: '鏇存柊鏃ユ湡',
+          //   align: 'center',
+          //   dataIndex: 'updateTime',
+          // },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: 'center',
+            fixed: 'right',
+            scopedSlots: { customRender: 'action' },
+            width: 200
+          }
+        ],
+        monitorType: '',
+        planId: '',
+        isEdit: false,
+        isAdd: false,
+        isDel: false,
+        url: {
+          list: '/eam/predictiveworkplan/pagePredictiveWorkPlan',
+          delete: '/eam/predictiveworkplan/delete',
+          versionTakeEffect: '/eam/predictiveworkplan/versionTakeEffect'
+        }
+      }
+    },
+    methods: {
+      clickThenSelect(record) {
+        return {
+          on: {
+            click: () => {
+              this.onSelectChange(record.id.split(','), [record])
+            }
+          }
+        }
+      },
+      onClearSelected() {
+        this.selectedRowKeys = []
+        this.selectionRows = []
+        this.planId = ''
+        this.equipmentId = ''
+        this.isAdd = falses
+        
+      },
+      handleDelete: function(id) {
+        if (!this.url.delete) {
+          this.$message.error('璇疯缃畊rl.delete灞炴��!')
+          return
+        }
+        var that = this
+        deleteAction(that.url.delete, { id: id }).then((res) => {
+          if (res.success) {
+            //閲嶆柊璁$畻鍒嗛〉闂
+            that.reCalculatePage(1)
+            that.$message.success(res.message)
+            that.loadData()
+            that.onClearSelected()
+          } else {
+            that.$message.warning(res.message)
+          }
+        })
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys
+        this.selectionRows = selectionRows
+        this.planId = this.selectedRowKeys[0]
+        this.equipmentId = selectionRows[0].equipment_id
+        this.isAdd = selectionRows[0].status=='1';
+        this.isDel = selectionRows[0].status=='1';
+        this.isEdit = selectionRows[0].status=='1';
+        
+      },
+
+      onChange(e) {
+        this.queryParam.status = e.target.value
+        this.loadData()
+      },
+
+      handleEdit: function(record) {
+        this.$refs.modalForm.edit(record)
+        this.$refs.modalForm.title = '缂栬緫'
+        this.$refs.modalForm.disableSubmit = false
+        this.$refs.modalForm.isRevise = false
+      },
+      handleAdd: function() {
+        this.$refs.modalForm.add()
+        this.$refs.modalForm.title = '鏂板'
+        this.$refs.modalForm.disableSubmit = false
+        this.$refs.modalForm.isRevise = false
+      },
+
+      //鍗囩増
+      handleRevise: function(record) {
+        this.$refs.modalForm.edit(record)
+        this.$refs.modalForm.title = '鍗囩骇'
+        this.$refs.modalForm.disableSubmit = false
+        this.$refs.modalForm.isRevise = true
+      },
+
+      //鐢熸晥
+      handleTakeEffect(record) {
+        const that = this
+        that.confirmLoading = true
+        this.$confirm({
+          title: '鐗堟湰鐢熸晥锛�',
+          content: '鎻愮ず锛氱増鏈敓鏁堝悗涓婁竴鐗堟湰灏嗚嚜鍔ㄥけ鏁堬紝璇疯皑鎱庢搷浣滐紒',
+          okText: '纭',
+          cancelText: '鍙栨秷',
+          onOk() {
+            requestPut(that.url.versionTakeEffect, {
+              id: record.id,
+              num: record.num,
+              status: '2'
+            }).then((res) => {
+              if (res.success) {
+                that.$message.success('鐗堟湰鐢熸晥鎴愬姛锛�')
+                that.loadData(1)
+              } else {
+                that.$message.warning('鐗堟湰鐢熸晥澶辫触锛�')
+              }
+            }).finally(() => {
+              that.confirmLoading = false
+            })
+          }
+        })
+      },
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+
+  .table-operator .ant-btn {
+    margin: 10px 8px 8px 10px;
+  }
+</style>
\ No newline at end of file

--
Gitblit v1.9.3