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

diff --git a/src/views/base/WarehouseListNew.vue b/src/views/base/WarehouseListNew.vue
new file mode 100644
index 0000000..3c2478b
--- /dev/null
+++ b/src/views/base/WarehouseListNew.vue
@@ -0,0 +1,515 @@
+<template>
+  <a-card
+    :bordered="false"
+    class="card-area"
+  >
+    <template slot="title">
+      <i
+        class="action-jeecg actionsite2"
+        style="font-size: 18px;"
+      />
+      浠撳簱淇℃伅
+    </template>
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <!-- 鎼滅储鍖哄煙 -->
+      <a-form
+        layout="inline"
+        @keyup.enter.native="searchQuery"
+      >
+        <a-row :gutter="24">
+          <a-col
+            :md="8"
+            :sm="8"
+          >
+            <a-form-item label="浠撳簱缂栧彿">
+              <j-input
+                placeholder="璇疯緭鍏ヤ粨搴撶紪鍙锋煡璇�"
+                v-model="queryParam.code"
+              ></j-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="8"
+            :sm="8"
+          >
+            <a-form-item label="浠撳簱鍚嶇О">
+              <j-input
+                placeholder="璇疯緭鍏ヤ粨搴撳悕绉版煡璇�"
+                v-model="queryParam.name"
+              ></j-input>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div
+      class="table-operator"
+      style="margin-top: 5px"
+    >
+      <a-button
+        type="primary"
+        @click="searchQuery"
+        icon="search"
+      >鏌ヨ</a-button>
+      <a-button
+        @click="searchReset"
+        icon="reload"
+      >閲嶇疆</a-button>
+      <a-button
+        @click="handleAdd"
+        type="primary"
+        icon="plus"
+      >鏂板</a-button>
+      <a-button
+        type="primary"
+        icon="download"
+        hidden
+        @click="handleExportXls('???')"
+      >瀵煎嚭</a-button>
+      <a-dropdown
+        hidden
+        v-if="selectedRowKeys.length > 0"
+      >
+        <a-button style="margin-left: 8px">
+          鎵归噺鎿嶄綔
+          <a-icon type="down" />
+        </a-button>
+        <a-menu slot="overlay">
+          <a-menu-item @click="batchDel">
+            <a-icon type="delete" />鍒犻櫎
+          </a-menu-item>
+        </a-menu>
+      </a-dropdown>
+    </div>
+
+    <a-table
+      ref="table"
+      bordered
+      size="middle"
+      rowKey="id"
+      :columns="columns"
+      :dataSource="dataSource"
+      :pagination="ipagination"
+      :loading="loading"
+      :rowSelection="rowSelection"
+      @change="handleTableChange"
+      :scroll="{ x: 'calc(1200px + 50%)', y: 900 }"
+      :customRow="clickThenSelect"
+    >
+      <span
+        slot="action"
+        slot-scope="text, record"
+      >
+        <a
+          href="javascript:;"
+          @click="handleEdit(record)"
+        >缂栬緫</a>
+        <a-divider type="vertical" />
+        <a-dropdown>
+          <a class="ant-dropdown-link">
+            鏇村
+            <a-icon type="down" />
+          </a>
+          <a-menu slot="overlay">
+            <a-menu-item>
+              <a-popconfirm
+                title="纭畾鍒犻櫎鍚�?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>鍒犻櫎</a>
+              </a-popconfirm>
+            </a-menu-item>
+          </a-menu>
+        </a-dropdown>
+      </span>
+    </a-table>
+
+    <a-tabs
+      type="card"
+      defaultActiveKey="1"
+    >
+      <a-tab-pane key="1">
+        <span slot="tab">
+          <a-badge v-if="showTabsFlag">搴撳尯搴撲綅&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+          <a-badge
+            v-if="!showTabsFlag"
+            :count="5"
+            show-zero
+            :number-style="{ backgroundColor: '#52c41a' }"
+          >搴撳尯搴撲綅&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+        </span>
+        <div
+          class="table-operator"
+          style="margin: 10px"
+        >
+
+          <warehouse-area-location-list ref="WarehouseAreaLocationList"></warehouse-area-location-list>
+        </div>
+      </a-tab-pane>
+
+      <!-- <a-tab-pane
+        key="2"
+        forceRender
+      >
+        <span slot="tab">
+          <a-badge v-if="showTabsFlag">绠$悊瀵硅薄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+          <a-badge
+            v-if="!showTabsFlag"
+            :count="5"
+            show-zero
+            :number-style="{ backgroundColor: '#52c41a' }"
+          >绠$悊瀵硅薄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+        </span>
+        <div
+          class="table-operator"
+          style="margin: 10px"
+        >
+          <manage-object-list ref="ManageObjectList"></manage-object-list>
+        </div>
+      </a-tab-pane>
+
+      <a-tab-pane
+        key="3"
+        forceRender
+      >
+        <span slot="tab">
+          <a-badge v-if="showTabsFlag">鏈嶅姟瀵硅薄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+          <a-badge
+            v-if="!showTabsFlag"
+            :count="5"
+            show-zero
+            :number-style="{ backgroundColor: '#52c41a' }"
+          >鏈嶅姟瀵硅薄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+        </span>
+        <div
+          class="table-operator"
+          style="margin: 10px"
+        >
+          <service-object-list ref="EquipmentFileList"></service-object-list>
+        </div>
+      </a-tab-pane> -->
+    </a-tabs>
+    <warehouse-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></warehouse-modal>
+  </a-card>
+</template>
+
+<script>
+import { requestPut, deleteAction, getFileAccessHttpUrl, getAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import WarehouseModal from './modules/warehouseNew/WarehouseModal.vue'
+import JInput from '@/components/jeecg/JInput'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import Tooltip from 'ant-design-vue/es/tooltip'
+import Vue from 'vue'
+
+import WarehouseAreaLocationList from './modules/warehouseNew/WarehouseAreaLocationList'
+import ManageObjectList from './modules/warehouseNew/ManageObjectList'
+import ServiceObjectList from './modules/warehouseNew/ServiceObjectList.vue'
+
+export default {
+  name: 'WarehouseListNew.',
+  mixins: [JeecgListMixin],
+  components: {
+    WarehouseModal,
+    JInput,
+    JEllipsis,
+    WarehouseAreaLocationList,
+    ManageObjectList,
+    Tooltip,
+    ServiceObjectList,
+  },
+  data() {
+    return {
+      showTabsFlag: true,
+      disabled: true,
+      ipagination: {
+        current: 1,
+        pageSize: 5,
+        pageSizeOptions: ['5', '10', '20'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      selectedRowKeys: [],
+      selectionRows: [],
+      //榛樿鎺掑簭
+      isorter: {
+        column: 'code',
+        order: 'desc',
+      },
+
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          align: 'center',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          },
+          width: 50,
+        },
+        {
+          title: '浠撳簱缂栫爜',
+          align: "center",
+          dataIndex: 'code',
+        },
+        {
+          title: '浠撳簱鍚嶇О',
+          align: "center",
+          dataIndex: 'name',
+        },
+        {
+          title: '浠撳簱绫诲瀷',
+          align: "center",
+          dataIndex: 'type_dictText',
+        },
+        {
+          title: '鏄惁搴熷搧搴�',
+          align: "center",
+          dataIndex: 'whetherWasteWarehouse_dictText',
+        },
+        {
+          title: '搴撳尯搴撲綅绠$悊',
+          align: "center",
+          dataIndex: 'locationManage_dictText',
+        },
+        {
+          title: '鏈嶅姟瀵硅薄绫诲瀷',
+          align: "center",
+          dataIndex: 'serviceObject_dictText',
+        },
+        {
+          title: '鑷姩鍖�',
+          align: "center",
+          dataIndex: 'whetherAutomationWarehouse_dictText',
+        },
+        {
+          title: '澶囨敞',
+          align: "center",
+          dataIndex: 'remark',
+        },
+        {
+          title: '鎿嶄綔',
+          align: "center",
+          dataIndex: 'action',
+          scopedSlots: {
+            customRender: 'action',
+          },
+          width: 200,
+          fixed: 'right',
+        },
+      ],
+      url: {
+        list: "/base/warehouse/find",
+        delete: "/base/warehouse/deleteWarehouseAreaLocation",
+        active: "/eam/equipment/active",
+        exportXlsUrl: '/eam/equipment/exportXls',
+        importExcelUrl: 'base/site/importExcel',
+      },
+      //鏂板銆佺紪杈戙�佸垹闄ゃ�佹壒閲忓垹闄ゆ搷浣滄敼鍙樻暟鎹悗鍒锋柊鍏宠仈鐨勭粍浠剁殑鐩戝惉灞炴��
+      alterFlag: "",
+    };
+  },
+
+  computed: {
+    rowSelection() {
+      return {
+        type: 'checkbox',
+        onChange: (selectedRowKeys, selectedRows) => {
+          this.selectedRowKeys = selectedRowKeys;
+          this.onSelectChange(selectedRowKeys, selectedRows);
+        },
+        getCheckboxProps(record) {
+          return ({
+            props: {
+              // disabled: !(record.equipmentCategoryDtlList.length == 0),
+            }
+          })
+        },
+        selectedRowKeys: this.selectedRowKeys,
+      };
+    },
+  },
+  methods: {
+
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(","), [record]);
+          }
+        }
+      }
+    },
+    onSelectChange(selectedRowKeys, selectionRows) {
+      this.selectedRowKeys = selectedRowKeys;
+      this.selectionRows = selectionRows;
+      if (selectedRowKeys.length == 1) {
+        this.$refs.WarehouseAreaLocationList.warehouseId = selectedRowKeys[0]
+        // this.$refs.EquipmentFileList.warehouseId = selectedRowKeys[0]
+        // this.$refs.ManageObjectList.warehouseId = selectedRowKeys[0]
+      } else {
+        this.$refs.WarehouseAreaLocationList.warehouseId = '-1'
+        // this.$refs.ManageObjectList.warehouseId = '-1'
+        // this.$refs.EquipmentFileList.warehouseId = '-1'
+      }
+    },
+
+    //绂佺敤鐘舵�佹牱寮�
+    tableRowClass(record, index) {
+      if (record.status != "1") {
+        return "frozenRowClass";
+      }
+      return "";
+    },
+
+    handleActive(id) {
+      let that = this;
+      requestPut(that.url.active, {}, { id: id }).then((res) => {
+        if (res.success) {
+          that.$message.success(res.message);
+          that.loadData();
+        } else {
+          that.$message.warning(res.message);
+        }
+      });
+    },
+    handleAdd: function () {
+      this.$refs.modalForm.add();
+      this.$refs.modalForm.title = "鏂板";
+      this.$refs.modalForm.disableSubmit = false;
+    },
+    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.alterFlag = new Date();
+          that.selectionRows = []
+          that.selectedRowKeys = []
+          that.$refs.WarehouseAreaLocationList.warehouseId = '-1'
+        } else {
+          that.$message.warning(res.message);
+        }
+      });
+    },
+
+    batchDel: function () {
+      if (!this.url.deleteBatch) {
+        this.$message.error("璇疯缃畊rl.deleteBatch灞炴��!")
+        return
+      }
+      if (this.selectedRowKeys.length <= 0) {
+        this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+        return;
+      } else {
+        var ids = "";
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ",";
+        }
+        var that = this;
+        this.$confirm({
+          title: "纭鍒犻櫎",
+          content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
+          onOk: function () {
+            that.loading = true;
+            deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                //閲嶆柊璁$畻鍒嗛〉闂
+                that.reCalculatePage(that.selectedRowKeys.length)
+                that.$message.success(res.message);
+                that.loadData();
+                that.onClearSelected();
+                that.alterFlag = new Date();
+              } else {
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.loading = false;
+            });
+          }
+        });
+      }
+    },
+
+
+    searchReset() {
+      this.queryParam = {};
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.$refs.WarehouseAreaLocationList.warehouseId = '-1'
+      this.loadData(1);
+
+    },
+
+    searchQuery() {
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.$refs.WarehouseAreaLocationList.warehouseId = '-1'
+      // this.$refs.ManageObjectList.warehouseId = '-1'
+      // this.$refs.EquipmentFileList.warehouseId = '-1'
+      this.loadData(1);
+    },
+
+    modalFormOk() {
+      // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+      this.loadData()
+      //娓呯┖鍒楄〃閫変腑
+      this.onClearSelected()
+
+      this.$refs.WarehouseAreaLocationList.warehouseId = '-1'
+      // this.$refs.ManageObjectList.warehouseId = '-1'
+      // this.$refs.EquipmentFileList.warehouseId = '-1'
+    },
+  },
+  watch: {
+    // alterFlag() {
+    //   this.$bus.$emit('queryTreeData');
+    // },
+    selectionRows() {
+      this.$bus.$emit('warehouseSelectionRows', this.selectionRows);
+    },
+  },
+  created() {
+    this.queryParam = {};
+    this.selectedRowKeys = []
+    this.selectionRows = []
+    this.loadData(1);
+  }
+
+
+}
+</script>
+<style>
+@import '~@assets/less/common.less';
+
+.frozenRowClass {
+  color: #c9c9c9;
+}
+.success {
+  color: green;
+}
+.error {
+  color: red;
+}
+.fontweight {
+  font-weight: bold;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3