xiongchao 3 лет назад
Родитель
Сommit
a1ef48f8ab

+ 16 - 0
src/api/store/store.js

@@ -159,6 +159,22 @@ export function fetchStoreTree (parameter) {
   })
 }
 
+/**
+ * 获取树
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function fetchStoreTableTree (parameter) {
+  return axios({
+    url: '/store/stores/tableTree?' + stringify(parameter),
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
 /**
  * add batch func
  * parameter: { }

+ 7 - 0
src/views/sb/type/SbType.vue

@@ -103,6 +103,13 @@ export default {
       delFlagMap: {},
       // 表头
       columns: [
+        {
+          title: '序号',
+          dataIndex: 'index',
+          customRender: (text, record, index) => {
+            return index + 1
+          }
+        },
         {
           title: '名称',
           dataIndex: 'name'

+ 15 - 8
src/views/sqarepartmanage/sparepartinfo/modules/BaseForm.vue

@@ -19,7 +19,6 @@
         <a-input v-decorator="['id']" type="hidden"/>
         <a-input v-decorator="['sbId']" type="hidden"/>
         <a-input v-decorator="['typeId']" type="hidden"/>
-        <a-input v-decorator="['storeId']" type="hidden"/>
       </a-form-item>
       <a-form-item v-show="false" >
         <a-input v-decorator="['unit']" type="hidden"/>
@@ -73,8 +72,6 @@
               v-decorator="['ggxh']" />
           </a-form-item>
         </row-item>
-      </row-list>
-      <row-list :col="2">
         <row-item>
           <a-form-item
             label="生产商"
@@ -283,11 +280,16 @@
             :labelCol="BaseTool.Constant.labelCol"
             :wrapperCol="BaseTool.Constant.wrapperCol"
           >
-            <a-input
-              disabled
-              style="width:70%;margin-right:5px"
-              v-decorator="['storeName', {rules: [{required: true, message: '名称不能为空'}]}]" />
-            <a-button type="primary" @click="handleStoreSelect">选择仓库库位</a-button>
+            <a-tree-select
+              style="width: 100%"
+              :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
+              :treeData="storeTreeDate"
+              :treeNodeFilterProp="'title'"
+              :showSearch="true"
+              v-decorator="['storeId', {rules: [{required: false, message: '仓库库位不能为空'}]}]"
+              placeholder="请选择"
+            >
+            </a-tree-select>
           </a-form-item>
         </row-item>
         <row-item v-show="isAdd">
@@ -385,6 +387,7 @@ import Vue from 'vue'
 import StoreSelectModal from '@/views/store/store/modules/StoreSelectModal'
 import { uploadUrl } from '@/api/upms/file'
 import { ACCESS_TOKEN } from '@/store/mutation-types'
+import { fetchStoreTree } from '@/api/store/store'
 
 export default {
   name: 'BaseSparePartInfo',
@@ -400,6 +403,7 @@ export default {
       unitName: null,
       unitNameBz: null,
       gg: null,
+      storeTreeDate: [],
       uploadUrl: uploadUrl,
       defaultApplicationFileList: [],
       applicationFileList: [], // 备件图片
@@ -622,6 +626,9 @@ export default {
      * 设置备件类别树
      */
     setTree (record = {}) {
+      fetchStoreTree({ id: record.id }).then(res => {
+        this.storeTreeDate = res.data
+      })
       fetchSpareTypeTree({ }).then(res => {
         this.spareTypeData = res.data
       })

+ 14 - 38
src/views/store/sparestore/SpareStore.vue

@@ -15,61 +15,37 @@
         <div class="table-page-search-wrapper" @keyup.enter="handleEnter">
           <a-form layout="inline">
             <a-row :gutter="48">
-              <a-col :md="6" :sm="24">
+              <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" :sm="24">
+              <a-col :md="8" :sm="24">
                 <a-form-item label="规格型号">
                   <a-input v-model="queryParam.ggxh" placeholder="请输入规格型号"/>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :md="8" :sm="24">
                 <a-form-item label="原厂编号">
                   <a-input v-model="queryParam.initNo" placeholder="请输入原厂编号"/>
                 </a-form-item>
               </a-col>
-              <!--<a-col :md="6" :sm="24">
-                <a-form-item label="所属公司">
-                  <a-select @change="handleCompanyChange" v-model="queryParam.useCompany" placeholder="请选择">
-                    <a-select-option
-                      v-for="({deptId, name}) in companyList"
-                      :key="deptId"
-                      :label="name"
-                      :value="deptId">{{ name }}
-                    </a-select-option>
-                  </a-select>
-                </a-form-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-item label="所属项目">
-                  <a-select v-model="queryParam.useProject" placeholder="请选择">
-                    <a-select-option
-                      v-for="({deptId, name}) in projectList"
-                      :key="deptId"
-                      :label="name"
-                      :value="deptId">{{ name }}
-                    </a-select-option>
-                  </a-select>
-                </a-form-item>
-              </a-col>-->
               <a-col :md="8" :sm="24">
                 <a-form-item
                   label="仓库"
                   :labelCol="BaseTool.Constant.labelCol"
                   :wrapperCol="BaseTool.Constant.wrapperCol"
                 >
-                  <a-select
+                  <a-tree-select
+                    style="width: 100%"
+                    :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
+                    :treeData="storeTreeDate"
+                    :treeNodeFilterProp="'title'"
+                    :showSearch="true"
                     v-model="queryParam.storeId"
-                  placeholder="请选择">
-                    <a-select-option
-                      v-for="item in storeTreeDate"
-                      :key="item.id"
-                      :label="item.name"
-                      :value="item.id">{{ item.name }}
-                    </a-select-option>
-                  </a-select>
+                    placeholder="请选择"
+                  >
+                  </a-tree-select>
                 </a-form-item>
               </a-col>
               <a-col :md="8 || 24" :sm="24">
@@ -123,7 +99,7 @@ import BaseForm from './modules/BaseForm'
 import Detail from './modules/Detail'
 import { getDeptsAllByParentId } from '@/api/upms/dept'
 import { getSpareStorePage, deleteSpareStores, fetchSpareStore, exportSpareStore } from '@/api/store/sparestore'
-import { queryStore } from '@/api/store/store'
+import { fetchStoreTree } from '@/api/store/store'
 import { fetchSpareTypeTree } from '@/api/sqarepartmanage/sparetype'
 
 export default {
@@ -231,7 +207,7 @@ export default {
     // 下拉框map
     this.delFlagMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.DELFLAG)
     this.tableOption()
-    queryStore({ filter: this.filter }).then(res => {
+    fetchStoreTree({ filter: this.filter }).then(res => {
       this.storeTreeDate = res.data
     })
     fetchSpareTypeTree({}).then(res => {

+ 22 - 74
src/views/store/store/Store.vue

@@ -32,7 +32,7 @@
               </a-select>
             </a-form-item>
           </a-col>
-<!--          <a-col :md="6" :sm="24">
+          <!--          <a-col :md="6" :sm="24">
             <a-form-item label="选择类型">
               <a-select v-model="queryParam.type" placeholder="请选择">
                 <a-select-option
@@ -46,7 +46,7 @@
           </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 type="primary" @click="handleOk">查询</a-button>
               <a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
             </span>
           </a-col>
@@ -56,7 +56,7 @@
 
     <div class="table-operator">
       <a-button v-if="$auth('store-stores-add')" type="primary" icon="plus" @click="$refs.baseModal.base()">新增</a-button>
-<!--      <a-button style="margin-left: 8px" v-if="$auth('store-stores-export')" type="primary" icon="download" @click="doExport">导出</a-button>-->
+      <!--      <a-button style="margin-left: 8px" v-if="$auth('store-stores-export')" type="primary" icon="download" @click="doExport">导出</a-button>-->
       <a-dropdown v-action:edit v-if="selectedRowKeys.length > 0 && $auth('store-stores-del')">
         <a-menu slot="overlay">
           <a-popconfirm title="删除仓库,将清空仓库所有物资数据?" @confirm="batchDelete()">
@@ -69,15 +69,12 @@
       </a-dropdown>
     </div>
 
-    <s-table
+    <a-table
       ref="table"
       size="default"
       rowKey="id"
       :columns="columns"
-      :data="loadData"
-      :alert="options.alert"
-      :rowSelection="options.rowSelection"
-      showPagination="auto"
+      :data-source="dataSource"
     >
       <span slot="action" slot-scope="record">
         <template>
@@ -101,7 +98,7 @@
           :status="DictCache.COLOR.DELFLAG[text]"
           :text="delFlagMap[text]" />
       </span>
-    </s-table>
+    </a-table>
     <!--</a-col>
     </a-row>-->
     <base-form ref="baseModal" @ok="handleOk"/>
@@ -114,10 +111,11 @@
 import { STable, Ellipsis } from '@/components'
 import BaseForm from './modules/BaseForm'
 import Detail from './modules/Detail'
-import { getStorePage, deleteStores, fetchStore, exportStore, fetchStoreTree } from '@/api/store/store'
+import { fetchStoreTableTree, deleteStores, fetchStore, exportStore, fetchStoreTree } from '@/api/store/store'
 import { queryDept, getDeptsAllByParentId } from '@/api/upms/dept'
 import ImportFormAdd from './modules/ImportFormAdd'
 import { exportSpareStore } from '@/api/store/sparestore'
+import { fetchSbTypeTableTree } from '@/api/sb/type'
 
 export default {
   name: 'StoreList',
@@ -140,7 +138,7 @@ export default {
       queryParam: {
         filter: this.filter
       },
-      storeTreeDate: [],
+      dataSource: [],
       expandedKeys: [],
       autoExpandParent: true,
       // 表头
@@ -149,55 +147,24 @@ export default {
           title: '序号',
           dataIndex: 'index',
           customRender: (text, record, index) => {
-            return `${(this.$refs.table.localPagination.current - 1) * this.$refs.table.localPagination.pageSize + index + 1}`
+            return index + 1
           }
         },
-        // {
-        //  title: '编码',
-        // dataIndex: 'no'
-        // },
         {
           title: '名称',
           dataIndex: 'name'
         },
         {
-          title: '等',
+          title: '等',
           dataIndex: 'level',
           customRender: (text, record, index) => {
             return this.BaseTool.Object.getField(this.levelMap, text)
           }
         },
-  /*      {
-          title: '类型',
-          dataIndex: 'type',
-          customRender: (text, record, index) => {
-            return this.BaseTool.Object.getField(this.typeMap, text)
-          }
-        },*/
-        {
-          title: '所属仓库',
-          dataIndex: 'parentId',
-          customRender: (text, record, index) => {
-            return record.parentName
-          }
-        },
-        // {
-        //  title: '备注',
-        // dataIndex: 'remark'
-        // },
         {
           title: '排序',
           dataIndex: 'sort'
         },
-   /*     {
-          title: '是否删除',
-          dataIndex: 'delFlag',
-          scopedSlots: { customRender: 'delFlag' }
-        },*/
-        // {
-        //   title: '创建日期',
-        //  dataIndex: 'createdTime'
-        // },
         {
           title: '操作',
           key: 'action',
@@ -220,7 +187,7 @@ export default {
           dataScope: {
           }
         }
-        return getStorePage(Object.assign(parameter, this.queryParam))
+        return fetchStoreTableTree(Object.assign(parameter, this.queryParam))
           .then(res => {
             return res.data
           })
@@ -247,7 +214,10 @@ export default {
   },
   methods: {
     tableOption () {
-      this.setTree()
+      fetchStoreTableTree()
+        .then(res => {
+          this.dataSource = res.data
+        })
       if (!this.optionAlertShow) {
         this.options = {
           alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
@@ -271,22 +241,6 @@ export default {
         this.optionAlertShow = false
       }
     },
-    setTree (record = {}) {
-      fetchStoreTree({ id: record.id }).then(res => {
-        this.storeTreeDate = res.data
-      })
-      queryDept({ nature: this.DictCache.VALUE.SYS_DEPT_NATURE.FEN_GONG_SI }).then(res => {
-        this.companyList = res.data
-      })
-      getDeptsAllByParentId({ deptId: record.useCompany, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.XIANG_MU_BU }).then(res => {
-        this.projectList = res.data
-      })
-    },
-    handleCompanyChange (value) {
-      getDeptsAllByParentId({ deptId: value, nature: this.DictCache.VALUE.SYS_DEPT_NATURE.XIANG_MU_BU }).then(res => {
-        this.projectList = res.data
-      })
-    },
     batchDelete (id) {
       let ids = []
       if (this.BaseTool.String.isBlank(id)) {
@@ -323,7 +277,10 @@ export default {
       this.$refs.importModal.base(record.id)
     },
     handleOk () {
-      this.$refs.table.refresh()
+      fetchStoreTableTree()
+        .then(res => {
+          this.dataSource = res.data
+        })
     },
     onSelectChange (selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
@@ -333,7 +290,7 @@ export default {
       this.queryParam = {
         filter: this.filter
       }
-      this.$refs.table.refresh(true)
+      this.handleOk()
     },
     doExport () {
       const parameter = {
@@ -351,16 +308,7 @@ export default {
       })
     },
     handleEnter () {
-      this.$refs.table.refresh(true)
-    },
-    onSelect: function (selectedKeys, info) {
-      this.selectedKeys = selectedKeys
-      this.queryParam.parentId = selectedKeys.length > 0 ? selectedKeys[0] : ''
-      this.$refs.table.refresh(true)
-    },
-    onExpand (expandedKeys) {
-      this.expandedKeys = expandedKeys
-      this.autoExpandParent = false
+      this.handleOk()
     },
     doExportSpareStore (record) {
       if (record == null) {

+ 0 - 1
src/views/store/store/modules/Detail.vue

@@ -73,7 +73,6 @@ export default {
   created () {
     // 下拉框map
     this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.STORE_LEVEL)
-
     this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.STORE_TYPE)
     this.delFlagMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.DELFLAG)
   },