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/PredictiveWorkOrderList.vue |  541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 541 insertions(+), 0 deletions(-)

diff --git a/src/views/eam/PredictiveWorkOrderList.vue b/src/views/eam/PredictiveWorkOrderList.vue
new file mode 100644
index 0000000..ada83a3
--- /dev/null
+++ b/src/views/eam/PredictiveWorkOrderList.vue
@@ -0,0 +1,541 @@
+<template>
+  <a-card
+    :bordered="false"
+    title="棰勬祴缁存姢宸ュ崟"
+  >
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form
+        layout="inline"
+        @keyup.enter.native="searchQuery"
+      >
+        <a-row :gutter="24">
+          <a-col
+            :md="6"
+            :sm="8"
+          >
+            <a-form-item label="宸ュ崟鐘舵��">
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨宸ュ崟鐘舵��"
+                :triggerChange="true"
+                dictCode="repair_order_status"
+                v-model="queryParam.status"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="8"
+          >
+            <a-form-item label="缁存姢宸ュ崟缂栫爜">
+              <a-input
+                placeholder="璇疯緭鍏ョ淮鎶ゅ伐鍗曠紪鐮�"
+                v-model="queryParam.num"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="8"
+          >
+            <a-form-item label="璁惧缂栫爜">
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囩紪鐮�"
+                v-model="queryParam.equipmentNum"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="8"
+            >
+              <a-form-item label="璁惧鍚嶇О">
+                <a-input
+                  placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+                  v-model="queryParam.equipmentName"
+                ></a-input>
+              </a-form-item>
+            </a-col>
+          <a-col
+            :md="6"
+            :sm="8"
+          >
+            <span
+              style="float: left;overflow: hidden;"
+              class="table-page-search-submitButtons"
+            >
+              <a-button
+                type="primary"
+                @click="searchQuery"
+                icon="search"
+              >鏌ヨ</a-button>
+              <a-button
+                type="primary"
+                @click="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+              >閲嶇疆</a-button>
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+      <!-- <a-button
+        @click="handleAdd"
+        type="primary"
+        icon="plus"
+      >鏂板</a-button>
+      <a-button
+        v-if="selectedRowKeys.length > 0"
+        type="primary"
+        @click="batchAssign"
+        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"
+        :scroll="{ x: 'calc(1900px + 50%)', y: 900 }"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange"
+      >
+        <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" -->
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a-popconfirm
+            title="纭畾涓嬪彂宸ュ崟鍚�?"
+            @confirm="() => handleOrderIssue(record)"
+          >
+            <a v-if="record.status == '1'">涓嬪彂</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '1'"
+            type="vertical"
+          />
+          <a-popconfirm
+            title="纭畾鎾ゅ洖宸ュ崟鍚�?"
+            @confirm="() => handleOrderReset(record)"
+          >
+            <a v-if="record.status == '2'">鎾ゅ洖</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '2'"
+            type="vertical"
+          />
+          <a-popconfirm
+            title="纭畾鎭㈠宸ュ崟鍚�?"
+            @confirm="() => handleOrderRecover(record)"
+          >
+            <a v-if="record.status == '7'">鎭㈠</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '7'"
+            type="vertical"
+          />
+          <a-popconfirm
+            title="纭畾浣滃簾宸ュ崟鍚�?"
+            @confirm="() => handleOrderCancel(record)"
+          >
+            <a v-if="record.status == '2'">浣滃簾</a>
+          </a-popconfirm>
+          <a-divider
+            v-if="record.status == '2'"
+            type="vertical"
+          />
+          <a-popconfirm
+            title="纭畾棰嗗彇宸ュ崟鍚�?"
+            @confirm="() => handleOrderGet(record)"
+          >
+            <a v-if="record.status == '2' && record.assignMode == '1'">棰嗗彇</a>
+          </a-popconfirm>
+          <a
+            v-if="record.status == '2' && record.assignMode == '2'  "
+            @click="handleAssignOrder(record)"
+          >娲惧伐</a>
+          <a
+            v-if="record.status == '2'&& record.assignMode == '3'  && record.inspectionUserName != null  "
+            @click="handleAssignOrder(record)"
+          >鏀规淳</a>
+          <a
+            v-if="record.status == '3'"
+            @click="handleAssignOrder(record)"
+          >鏀规淳</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)"
+          >鎵ц</a>
+          <a-divider
+            v-if="record.status === '3' || record.status === '4' "
+            type="vertical"
+          />
+          <a
+            v-if="record.status === '1'"
+            @click="handleEdit(record)"
+          >缂栬緫</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)"
+                >
+                  <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 === '7' "
+            class="lot"
+            @click="handleOrderExe(record)"
+          >{{record.num}}</a>
+          <span v-else>{{record.num}}</span>
+        </span>
+
+      </a-table>
+    </div>
+
+    <predictive-work-order-model
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></predictive-work-order-model>
+    <predictive-work-order-drawer
+      ref="PredictiveWorkOrderDrawer"
+      @ok="modalFormOk"
+    ></predictive-work-order-drawer>
+    <order-assign-modal 
+    ref="OrderAssign"
+    @ok="modalFormOk"
+    >
+
+    </order-assign-modal>
+  </a-card>
+</template>
+
+<script>
+
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { getAction, postAction, requestPut } from '@/api/manage'
+import PredictiveWorkOrderModel from './modules/predictiveWorkOrder/PredictiveWorkOrderModel'
+import PredictiveWorkOrderDrawer from './modules/predictiveWorkOrder/PredictiveWorkOrderDrawer'
+import OrderAssignModal from './modules/predictiveWorkOrder/OrderAssignModal.vue'
+export default {
+  name: 'PredictiveWorkOrderList',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    PredictiveWorkOrderModel,
+    PredictiveWorkOrderDrawer,
+    OrderAssignModal
+  },
+  data() {
+    return {
+      description: '棰勬祴鎬х淮鎶ゅ伐鍗�',
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '鐘舵��',
+          align: "center",
+          dataIndex: 'status_dictText'
+        },
+        {
+          title: '鍗曟嵁鍙�',
+          align: "center",
+          dataIndex: 'num',
+          scopedSlots: { customRender: 'num' }
+        },
+        {
+          title: '鐩戞帶绫诲瀷',
+          align: "center",
+          dataIndex: 'monitorType_dictText'
+        },
+        {
+          title: '璁惧缂栫爜',
+          align: "center",
+          dataIndex: 'equipmentNum',
+        },
+        {
+          title: '璁惧鍚嶇О',
+          align: "center",
+          dataIndex: 'equipmentName',
+        },
+        {
+          title: '鍨嬪彿',
+          align: "center",
+          dataIndex: 'model',
+        },
+        {
+          title: '鏍囧噯缂栫爜',
+          align: 'center',
+          dataIndex: 'planNum',
+        },
+        {
+          title: '鐗堟湰',
+          align: "center",
+          dataIndex: 'version',
+        },
+        {
+          title: '浣跨敤閮ㄩ棬',
+          align: "center",
+          dataIndex: 'useId_dictText',
+        },
+        {
+          title: '娲惧伐鏂瑰紡',
+          align: "center",
+          dataIndex: 'assignMode_dictText',
+        },
+        {
+          title: '璐d换鐝粍',
+          align: "center",
+          dataIndex: 'teamId_dictText',
+          width: 170
+
+        },
+        {
+          title: '璐d换浜�',
+          align: "center",
+          dataIndex: 'maintenanceUserId_dictText',
+          width: 170
+        },
+        // {
+        //   title: '宸ユ椂瀹氶锛堝皬鏃讹級',
+        //   align: "center",
+        //   dataIndex: 'planEndTime',
+        //   width: 170
+        // },
+        {
+          title: '瀹為檯宸ユ椂',
+          align: "center",
+          dataIndex: 'actualWorkingHourQuota',
+          width: 170
+        },
+        {
+          title: '瀹為檯寮�濮嬫椂闂�',
+          align: "center",
+          dataIndex: 'actualStartTime',
+          width: 170
+        },
+        {
+          title: '瀹為檯缁撴潫鏃堕棿',
+          align: "center",
+          dataIndex: 'actualEndTime',
+          width: 170
+        },
+        {
+          title: '鍒涘缓浜�',
+          align: "center",
+          dataIndex: 'createBy'
+        },
+        {
+          title: '鍒涘缓鏃ユ湡',
+          align: "center",
+          dataIndex: 'createTime',
+          width: 170
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: "center",
+          fixed: "right",
+          width: 300,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: "/eam/predictiveworkorder/pageOrderList",
+        delete: "/eam/specialtyMaintenanceOrder/delete",
+        deleteBatch: "/eam/specialtyMaintenanceOrder/deleteBatch",
+        exportXlsUrl: "/eam/specialtyMaintenanceOrder/exportXls",
+        importExcelUrl: "eam/specialtyMaintenanceOrder/importExcel",
+        edit: "/eam/predictiveworkorder/editStatus",
+        orderGet: "/eam/predictiveworkorder/orderGet",
+      },
+    }
+  },
+
+  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: {
+    onSelectChange(selectionRows) {
+      this.selectionRows = selectionRows;
+    },
+
+    handleOrderExe(record) {
+      this.$refs. PredictiveWorkOrderDrawer.visible = true
+      this.$refs. PredictiveWorkOrderDrawer.title = '涓撲笟淇濆吇宸ュ崟鎵ц'
+      this.$refs. PredictiveWorkOrderDrawer.handleShow(record)
+      if (record.status === '3') {
+        this.$refs. PredictiveWorkOrderDrawer.buttonDistable = true//淇濆瓨銆佹殏瀛樸�佹姤宸�
+        this.$refs. PredictiveWorkOrderDrawer.revocationDistable = true//鎾ら攢鎸夐挳
+        this.$refs. PredictiveWorkOrderDrawer.SWbuttonDistable = false//寮�宸ユ寜閽�
+      } else if (record.status === '4') {
+        this.$refs. PredictiveWorkOrderDrawer.buttonDistable = false
+        this.$refs. PredictiveWorkOrderDrawer.revocationDistable = true
+        this.$refs. PredictiveWorkOrderDrawer.SWbuttonDistable = true
+      } else if (record.status === '5') {
+        this.$refs. PredictiveWorkOrderDrawer.buttonDistable = true
+        this.$refs. PredictiveWorkOrderDrawer.revocationDistable = false
+        this.$refs. PredictiveWorkOrderDrawer.SWbuttonDistable = true
+      } else if (record.status === '7') {
+        this.$refs. PredictiveWorkOrderDrawer.buttonDistable = true
+        this.$refs. PredictiveWorkOrderDrawer.revocationDistable = true
+        this.$refs. PredictiveWorkOrderDrawer.SWbuttonDistable = true
+      }
+    },
+
+    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: '1' }).then((res) => {
+        if (res.success) {
+          that.$message.success("宸ュ崟棰嗗彇鎴愬姛锛�")
+          that.loadData()
+        } else {
+          that.$message.warning("宸ュ崟棰嗗彇澶辫触锛�")
+        }
+      })
+    },
+    //浣滃簾
+    handleOrderCancel(record) {
+      const that = this;
+      requestPut(that.url.edit, { id: record.id, status: '7' }).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("宸ュ崟鎭㈠澶辫触锛�")
+        }
+      })
+    },
+    handleAssignOrder: function (record) {
+      this.$refs.OrderAssign.edit(record)
+      this.$refs.OrderAssign.title = '宸ュ崟鏀规淳'
+      this.$refs.OrderAssign.disableSubmit = false
+    },
+    // modalFormOk() {
+    //   alert(0)
+    //   // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+    //   this.loadData();
+    //   //娓呯┖鍒楄〃閫変腑
+    //   this.onClearSelected()
+    // },
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file

--
Gitblit v1.9.3