408249787 2 жил өмнө
parent
commit
6c2038eed5

+ 18 - 0
src/api/store/fastoutstore.js

@@ -0,0 +1,18 @@
+import { axios } from '@/utils/request'
+import { stringify } from 'qs'
+
+/**
+ * page func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function getSqarePage (parameter) {
+  return axios({
+    url: '/sqarepartmanage/spare-part-info/getInOrOut?' + stringify(parameter),
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}

+ 1 - 0
src/router/generator-platform-routers.js

@@ -270,6 +270,7 @@ const constantRouterComponents = {
   'MyOutStoreForm': () => import('@/views/store/outstoreform/MyOutStoreForm'),
   'MyTransferStoreForm': () => import('@/views/store/transferstoreform/MyTransferStoreForm'),
   'MySparePickForm': () => import('@/views/store/sparepickform/MySparePickForm'),
+  'FastOutStore': () => import('@/views/store/fastoutstore/FastOutStore'),
   'MySbInfo': () => import('@/views/sb/info/MySbInfo'),
   'ProjectSbInfo': () => import('@/views/sb/info/ProjectSbInfo'),
   'BanzuSbInfo': () => import('@/views/sb/info/BanzuSbInfo'),

+ 231 - 0
src/views/store/fastoutstore/FastOutStore.vue

@@ -0,0 +1,231 @@
+<template>
+  <a-card :bordered="false">
+    <a-row :gutter="8" v-show="visible">
+      <a-col :span="24">
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline">
+            <a-row :gutter="48">
+              <a-col :md="8" :sm="24">
+                <a-form-item label="关键字">
+                  <a-input v-model="queryParam.keyword" placeholder="请输入名称/编码"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6 || 24" :sm="24">
+                <span class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <s-table
+          ref="table"
+          size="default"
+          rowKey="id"
+          :columns="columns"
+          :data="loadData"
+          :scroll="{x: 1500, y: BaseTool.Constant.scrollY}"
+          :alert="options.alert"
+          :rowSelection="options.rowSelection"
+          showPagination="auto"
+        >
+          <span slot="status" slot-scope="text, record">
+            <a @click="handleStore(record)">{{ text||"无" }}</a>
+          </span>
+          <span slot="action" slot-scope="record">
+            <template>
+              <a @click="handleView(record)">查看</a>
+            </template>
+          </span>
+        </s-table>
+      </a-col>
+    </a-row>
+  </a-card>
+</template>
+
+<script>
+import { STable } from '@/components'
+import { getSqarePage } from '@/api/store/fastoutstore'
+export default {
+  name: 'FastOutStore',
+  components: {
+    STable
+  },
+  data () {
+    return {
+      // 查询参数
+      queryParam: {
+      },
+      confirmLoading: false,
+      // 表头
+      columns: [
+        {
+          title: '备件类别',
+          dataIndex: 'typeId',
+          checked: true,
+          width: '150px',
+          customRender: (text, record, index) => {
+            return record.typeName
+          }
+        },
+        {
+          title: '备件编码',
+          dataIndex: 'no',
+          checked: true,
+          width: '150px'
+        },
+        {
+          title: '备件名称',
+          dataIndex: 'name',
+          checked: true,
+          width: '150px'
+        },
+        {
+          title: '规格型号',
+          checked: true,
+          width: '150px',
+          dataIndex: 'ggxh'
+        },
+        {
+          title: '品牌',
+          checked: true,
+          width: '150px',
+          dataIndex: 'brand'
+        },
+        {
+          title: '计量单位',
+          checked: true,
+          width: '150px',
+          dataIndex: 'unit'
+        },
+        {
+          title: '当前库存',
+          dataIndex: 'currentStock',
+          checked: true,
+          width: '100px',
+          scopedSlots: { customRender: 'status' }
+        },
+        {
+          title: '最高库存',
+          checked: true,
+          width: '100px',
+          dataIndex: 'maxStock'
+        },
+        {
+          title: '最低库存',
+          checked: true,
+          width: '100px',
+          dataIndex: 'minStock'
+        },
+        {
+          title: '等级',
+          checked: true,
+          width: '150px',
+          dataIndex: 'level',
+          customRender: (text, record, index) => {
+            return this.BaseTool.Object.getField(this.levelMap, text)
+          }
+        },
+        {
+          title: '备注',
+          checked: true,
+          width: '150px',
+          dataIndex: 'remark'
+        },
+        {
+          title: '创建日期',
+          checked: true,
+          width: '200px',
+          dataIndex: 'createdTime'
+        },
+        {
+          title: '操作',
+          checked: true,
+          width: '250px',
+          fixed: 'right',
+          key: 'action',
+          align: 'center',
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        parameter = {
+          ...parameter,
+          ...this.queryParam
+          // dataScope: {
+          //   sortBy: 'desc',
+          //   sortName: 'name'
+          // }
+        }
+        return getSqarePage(Object.assign(parameter, this.queryParam))
+          .then(res => {
+            return res.data
+          })
+      },
+      selectedRowKeys: [],
+      selectedRows: [],
+      levelMap: {},
+      visible: true,
+      options: {
+        alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
+        rowSelection: {
+          selectedRowKeys: this.selectedRowKeys,
+          onChange: this.onSelectChange
+        }
+      },
+      optionAlertShow: false
+    }
+  },
+  created () {
+    // 下拉框map
+    this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SPARE_PART_INFO_LEVEL)
+    this.tableOption()
+  },
+  methods: {
+    tableOption () {
+      if (!this.optionAlertShow) {
+        this.options = {
+          alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
+          rowSelection: {
+            selectedRowKeys: this.selectedRowKeys,
+            onChange: this.onSelectChange,
+            getCheckboxProps: record => ({
+              props: {
+                disabled: false,
+                name: record.id
+              }
+            })
+          }
+        }
+        this.optionAlertShow = true
+      } else {
+        this.options = {
+          alert: false,
+          rowSelection: null
+        }
+        this.optionAlertShow = false
+      }
+    },
+    handleOk () {
+      this.visible = true
+      this.$refs.table.refresh()
+    },
+    onSelectChange (selectedRowKeys, selectedRows) {
+      this.selectedRowKeys = selectedRowKeys
+      this.selectedRows = selectedRows
+    },
+    resetSearchForm () {
+      this.queryParam = {
+      }
+      this.$refs.table.refresh(true)
+    },
+    onSelect: function (selectedKeys, info) {
+      this.selectedKeys = selectedKeys
+      this.queryParam.typeId = selectedKeys.length > 0 ? selectedKeys[0] : ''
+      this.$refs.table.refresh(true)
+    }
+  }
+}
+</script>