From bd7884c3ec972c367bbb360d4e02460b5997706a Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周二, 23 4月 2024 16:45:27 +0800
Subject: [PATCH] 物料
---
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/index.vue | 11
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue | 154 +++++++
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue | 897 +++++++++++++++++++++++---------------------
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabItem/addForm.vue | 136 ++++++
4 files changed, 767 insertions(+), 431 deletions(-)
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
index db1ae51..e7dc390 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
@@ -1,463 +1,500 @@
锘�<template>
<div ref="boxOutWrap" class="boxOutWrap">
- <div ref="boxForm" class="boxForm">
- <a-card :bordered="false" :bodyStyle="tstyle">
-
- <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')">
- <a-form layout="inline">
- <a-row :gutter="48">
- <a-col :md="8" :sm="24">
- <a-form-item label="缂栧彿">
- <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/>
- </a-form-item>
- </a-col>
- <a-col :md="8" :sm="24">
- <a-form-item label="鍚嶇О">
- <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/>
- </a-form-item>
- </a-col><template v-if="advanced">
+ <div ref="boxForm" class="boxForm">
+ <a-card :bordered="false" :bodyStyle="tstyle">
+ <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')">
+ <a-form layout="inline">
+ <a-row :gutter="48">
<a-col :md="8" :sm="24">
- <a-form-item label="鍦板潃">
- <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�"/>
- </a-form-item>
- </a-col>
- <a-col :md="8" :sm="24">
- <a-form-item label="鏄惁绂佺敤">
- <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
- <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- <!--骞存湀鏃ユ椂鍒嗙-->
- <!--鏃堕棿鑼冨洿-->
-
- <a-col :md="8" :sm="24">
- <a-form-item label="鍒涘缓鏃堕棿">
- <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{
-format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/>
-
- </a-form-item>
- </a-col>
- <!--骞存湀鏃ユ椂鍒嗙-->
- <!--鏃堕棿鑼冨洿-->
-
- <a-col :md="8" :sm="24">
- <a-form-item label="鏇存柊鏃堕棿">
- <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{
-format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/>
-
- </a-form-item>
- </a-col>
-
- <a-col :md="8" :sm="24">
- <a-form-item label="鍒涘缓鑰呭悕绉�">
- <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+ <a-form-item label="缂栧彿">
+ <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�" />
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
- <a-form-item label="淇敼鑰呭悕绉�">
- <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
- </a-form-item>
- </a-col> </template>
+ <a-form-item label="鍚嶇О">
+ <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�" />
+ </a-form-item> </a-col
+ ><template v-if="advanced">
+ <a-col :md="8" :sm="24">
+ <a-form-item label="鍦板潃">
+ <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�" />
+ </a-form-item>
+ </a-col>
+ <a-col :md="8" :sm="24">
+ <a-form-item label="鏄惁绂佺敤">
+ <a-select
+ :allowClear="true"
+ style="width: 100%"
+ v-model="queryParam.isDisabled"
+ placeholder="璇烽�夋嫨鏄惁绂佺敤"
+ >
+ <a-select-option v-for="(item, index) in isDisabledData" :key="index" :value="item.code">{{
+ item.name
+ }}</a-select-option>
+ </a-select>
+ </a-form-item>
+ </a-col>
+ <!--骞存湀鏃ユ椂鍒嗙-->
+ <!--鏃堕棿鑼冨洿-->
- <a-col :md="8" :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="() => queryParam = {}">閲嶇疆</a-button>
- <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
- <a-icon :type="advanced ? 'up' : 'down'"/>
- </a>
- </span>
- </a-col>
+ <a-col :md="8" :sm="24">
+ <a-form-item label="鍒涘缓鏃堕棿">
+ <a-range-picker
+ style="width: 100%"
+ :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
+ :show-time="{
+ format: 'HH:mm:ss',
+ defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')]
+ }"
+ v-model="queryParam.createdTime"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ format="YYYY-MM-DD HH:mm:ss"
+ @change="onChangecreatedTime"
+ />
+ </a-form-item>
+ </a-col>
+ <!--骞存湀鏃ユ椂鍒嗙-->
+ <!--鏃堕棿鑼冨洿-->
- </a-row>
- </a-form>
- </div>
- </a-card>
- </div>
+ <a-col :md="8" :sm="24">
+ <a-form-item label="鏇存柊鏃堕棿">
+ <a-range-picker
+ style="width: 100%"
+ :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
+ :show-time="{
+ format: 'HH:mm:ss',
+ defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')]
+ }"
+ v-model="queryParam.updatedTime"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ format="YYYY-MM-DD HH:mm:ss"
+ @change="onChangeupdatedTime"
+ />
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="8" :sm="24">
+ <a-form-item label="鍒涘缓鑰呭悕绉�">
+ <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�" />
+ </a-form-item>
+ </a-col>
+ <a-col :md="8" :sm="24">
+ <a-form-item label="淇敼鑰呭悕绉�">
+ <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�" />
+ </a-form-item>
+ </a-col>
+ </template>
+
+ <a-col :md="8" :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="() => (queryParam = {})">閲嶇疆</a-button>
+ <a @click="toggleAdvanced" style="margin-left: 8px">
+ {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+ <a-icon :type="advanced ? 'up' : 'down'" />
+ </a>
+ </span>
+ </a-col>
+ </a-row>
+ </a-form>
+ </div>
+ </a-card>
+ </div>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
- @changeTablePage="pageInfo = $event"
- :scroll="{x: true,y:tableHeight}"
- :rowKey="(record) => record.id"
- :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
- <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')" >
- <div ref="actionBar" class="actionBar">
- <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
- 瀵煎叆
- </a-button>
- <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()">
- 瀵煎嚭
- </a-button>
- <a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()">鏂板宸ュ巶淇℃伅琛�</a-button>
- </div>
- </template>
- <span slot="isDisabledscopedSlots" slot-scope="text">
- <div v-if="text===true ">
- <a-tag color="green">鏄�</a-tag>
- </div>
- <div v-else-if="text==false">
- <a-tag color="volcano">鍚�</a-tag>
- </div>
- <div v-else=""></div>
- </span>
- <span slot="action" slot-scope="text, record">
-
- <a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
- <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')"/>
- <a-popconfirm v-if="hasPerm('WmsFactory:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsFactoryDelete(record)">
+ @changeTablePage="pageInfo = $event"
+ :scroll="{ x: true, y: tableHeight }"
+ :rowKey="record => record.id"
+ :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+ >
+ <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')">
+ <div ref="actionBar" class="actionBar">
+ <a-button
+ type="info"
+ v-if="hasPerm('sysExcelTemplate:importExcel')"
+ icon="upload"
+ @click="$refs.excelForm.index()"
+ >
+ 瀵煎叆
+ </a-button>
+ <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()">
+ 瀵煎嚭
+ </a-button>
+ <a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()"
+ >鏂板宸ュ巶淇℃伅琛�</a-button
+ >
+ </div>
+ </template>
+ <span slot="isDisabledscopedSlots" slot-scope="text">
+ <div v-if="text === true">
+ <a-tag color="green">鏄�</a-tag>
+ </div>
+ <div v-else-if="text == false">
+ <a-tag color="volcano">鍚�</a-tag>
+ </div>
+ <div v-else=""></div>
+ </span>
+ <span slot="action" slot-scope="text, record">
+ <a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+ <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')" />
+ <a-popconfirm
+ v-if="hasPerm('WmsFactory:delete')"
+ placement="topRight"
+ title="纭鍒犻櫎锛�"
+ @confirm="() => WmsFactoryDelete(record)"
+ >
<a>鍒犻櫎</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
- <excel-form ref="excelForm" @ok="handleOk" />
+ <excel-form ref="excelForm" @ok="handleOk" />
</a-card>
</div>
</template>
<script>
- import { STable } from '@/components'
- import moment from 'moment'
- import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage'
- //鑷畾涔塼able楂樺害
- import setTableHtMixin from '@/mixins/handleTableHt.js'
- import addForm from './addForm.vue'
- import { exportExcel } from '@/utils/exportToExcel'
- import { downloadFile } from '@/utils/util'
- import editForm from './editForm.vue'
- import excelForm from './excelForm.vue'
- export default {
- mixins: [setTableHtMixin],
- components: {
- STable,
- addForm,
- editForm,
- excelForm
- },
- data () {
- return {
- advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
- queryParam: {},
- pageInfo: {
+import { STable } from '@/components'
+import moment from 'moment'
+import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage'
+//鑷畾涔塼able楂樺害
+import setTableHtMixin from '@/mixins/handleTableHt.js'
+import addForm from './addForm.vue'
+import { exportExcel } from '@/utils/exportToExcel'
+import { downloadFile } from '@/utils/util'
+import editForm from './editForm.vue'
+import excelForm from './excelForm.vue'
+export default {
+ mixins: [setTableHtMixin],
+ components: {
+ STable,
+ addForm,
+ editForm,
+ excelForm
+ },
+ data() {
+ return {
+ advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+ queryParam: {},
+ pageInfo: {
current: 1,
pageSize: 10
},
- columns: [
- {
- title:'搴忓彿',
- width: '60px',
- align: 'center',
- customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
- },
- {
- title: '缂栧彿',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'factoryCode'
- },
- {
- title: '鍚嶇О',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'factoryName'
- },
- {
- title: '鍦板潃',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'factoryAddress'
- },
- {
- title: '鏄惁绂佺敤',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'isDisabled',
- scopedSlots: { customRender: 'isDisabledscopedSlots' }
- },
- {
- title: '鍒涘缓鏃堕棿',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'createdTime'
- },
- {
- title: '鏇存柊鏃堕棿',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'updatedTime'
- },
- {
- title: '鍒涘缓鑰呭悕绉�',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'createdUserName'
- },
- {
- title: '淇敼鑰呭悕绉�',
- align: 'center',
- customHeaderCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- customCell: () => {
- return {
- style: {
- 'min-width': '120px'//鏈�灏忓垪瀹借缃�
- }
- }
- },
- sorter: true,
- dataIndex: 'updatedUserName'
- }
- ],
- tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
- // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
- loadData: parameter => {
- return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then((res) => {
- return res.data
- })
- },
- selectedRowKeys: [],
- selectedRows: []
- }
- },
- created () {
- if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) {
- this.columns.push({
- title: '鎿嶄綔',
- width: '150px',
- dataIndex: 'action',
- scopedSlots: { customRender: 'action' }
- })
- }
- const path = this.$route.path
- const columnStr = window.localStorage.getItem(path)
- if(columnStr) {
- var _columns = JSON.parse(columnStr)
- this.columns.forEach(element => {
- var fObj = _columns.find((item, index) => {
- return item.dataIndex === element.dataIndex;
- })
- if(fObj!=undefined && fObj!=null){
- element.checked=fObj.checked;
- }
- });
- }
- const isDisabledOption = this.$options
- this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+ columns: [
+ {
+ title: '搴忓彿',
+ width: '60px',
+ align: 'center',
+ customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+ },
+ {
+ title: '缂栧彿',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'factoryCode'
+ },
+ {
+ title: '鍚嶇О',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'factoryName'
+ },
+ {
+ title: '鍦板潃',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'factoryAddress'
+ },
+ {
+ title: '鏄惁绂佺敤',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'isDisabled',
+ scopedSlots: { customRender: 'isDisabledscopedSlots' }
+ },
+ {
+ title: '鍒涘缓鏃堕棿',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'createdTime'
+ },
+ {
+ title: '鏇存柊鏃堕棿',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'updatedTime'
+ },
+ {
+ title: '鍒涘缓鑰呭悕绉�',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'createdUserName'
+ },
+ {
+ title: '淇敼鑰呭悕绉�',
+ align: 'center',
+ customHeaderCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ customCell: () => {
+ return {
+ style: {
+ 'min-width': '120px' //鏈�灏忓垪瀹借缃�
+ }
+ }
+ },
+ sorter: true,
+ dataIndex: 'updatedUserName'
+ }
+ ],
+ tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+ // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+ loadData: parameter => {
+ return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then(res => {
+ return res.data
+ })
+ },
+ selectedRowKeys: [],
+ selectedRows: []
+ }
+ },
+ created() {
+ if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) {
+ this.columns.push({
+ title: '鎿嶄綔',
+ width: '150px',
+ dataIndex: 'action',
+ scopedSlots: { customRender: 'action' }
+ })
+ }
+ const path = this.$route.path
+ const columnStr = window.localStorage.getItem(path)
+ if (columnStr) {
+ var _columns = JSON.parse(columnStr)
+ this.columns.forEach(element => {
+ var fObj = _columns.find((item, index) => {
+ return item.dataIndex === element.dataIndex
+ })
+ if (fObj != undefined && fObj != null) {
+ element.checked = fObj.checked
+ }
+ })
+ }
+ const isDisabledOption = this.$options
+ this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
- this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
- window.addEventListener(
- 'resize',
- () => {
- this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
- },
- false
- )
-
- },
- methods: {
- moment,
- /**
- * 鏌ヨ鍙傛暟缁勮
- */
- switchingDate () {
- const obj = JSON.parse(JSON.stringify(this.queryParam))
- return obj
- },
- WmsFactoryDelete (record) {
- WmsFactoryDelete(record).then((res) => {
- if (res.success) {
- this.$message.success('鍒犻櫎鎴愬姛')
- this.$refs.table.refresh()
- } else {
- this.$message.error('鍒犻櫎澶辫触') // + res.message
- }
- })
- },
+ this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+ window.addEventListener(
+ 'resize',
+ () => {
+ this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+ },
+ false
+ )
+ },
+ methods: {
+ moment,
+ /**
+ * 鏌ヨ鍙傛暟缁勮
+ */
+ switchingDate() {
+ const obj = JSON.parse(JSON.stringify(this.queryParam))
+ return obj
+ },
+ WmsFactoryDelete(record) {
+ WmsFactoryDelete(record).then(res => {
+ if (res.success) {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.$refs.table.refresh()
+ } else {
+ this.$message.error('鍒犻櫎澶辫触') // + res.message
+ }
+ })
+ },
+ WmsFactoryToExcel() {
+ this.loading = true
+ let entozh = {}
+ const path = this.$route.path
+ if (window.localStorage.getItem(path)) {
+ JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+ if (item.dataIndex != 'action' && item.checked) {
+ entozh[item.dataIndex] = item.title
+ }
+ })
+ } else {
+ //鐩存帴鐐瑰鍑�
+ this.columns.forEach(item => {
+ if (item.dataIndex != 'action') {
+ entozh[item.dataIndex] = item.title
+ }
+ })
+ }
+ WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam))
+ .then(res => {
+ this.loading = false
+ //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+ var arrDataCutout = this.columns.filter(v => v.customCutout == true)
+ res.data.rows.forEach(item => {
+ var arrKeys = Object.keys(item)
+ arrKeys.forEach(key => {
+ var strFieldDic = key + 'Data'
+ //鏋氫妇杞��
+ if (this[strFieldDic] && this[strFieldDic].length > 0) {
+ let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]))
+ if (arrFieldDic.length > 0) {
+ item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'
+ }
+ }
+ // 鏃ユ湡鎴彇
+ if (arrDataCutout.length > 0) {
+ arrDataCutout.forEach(itemIn => {
+ if (key == itemIn.dataIndex && item[key]) {
+ item[key] = item[key].split(' ')[0]
+ }
+ })
+ }
+ })
+ })
+ exportExcel(res.data.rows, entozh, 'xlsx', `${this.$route.meta.title}`)
+ })
+ .catch(err => {
+ this.loading = false
+ this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+ })
+ },
- WmsFactoryToExcel() {
- this.loading = true
- let entozh = {};
- const path = this.$route.path;
- if (window.localStorage.getItem(path)) {
- JSON.parse(window.localStorage.getItem(path)).forEach(item => {
- if (item.dataIndex != 'action' && item.checked) {
- entozh[item.dataIndex] = item.title
- }
- })
- } else { //鐩存帴鐐瑰鍑�
- this.columns.forEach(item => {
- if (item.dataIndex != 'action') {
- entozh[item.dataIndex] = item.title
- }
- })
- }
- WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
- this.loading = false;
- //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
- var arrDataCutout = this.columns.filter(v => v.customCutout == true);
- res.data.rows.forEach(item => {
- var arrKeys = Object.keys(item);
- arrKeys.forEach(key => {
- var strFieldDic = key + 'Data';
- //鏋氫妇杞��
- if (this[strFieldDic] && this[strFieldDic].length > 0) {
- let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
- if (arrFieldDic.length > 0) {
- item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
- }
- }
- // 鏃ユ湡鎴彇
- if (arrDataCutout.length > 0) {
- arrDataCutout.forEach(itemIn => {
- if (key == itemIn.dataIndex && item[key]) {
- item[key] = item[key].split(" ")[0]
- }
- })
- }
- });
- })
- exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
- }).catch((err) => {
- this.loading = false
- this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
- })
- },
-
-
- toggleAdvanced () {
- this.advanced = !this.advanced
- this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
- },
- onChangecreatedTime(date, dateString) {
- this.queryParam.createdTime = dateString
- },
- onChangeupdatedTime(date, dateString) {
- this.queryParam.updatedTime = dateString
- },
- handleOk () {
- this.$refs.table.refresh()
- },
- onSelectChange (selectedRowKeys, selectedRows) {
- this.selectedRowKeys = selectedRowKeys
- this.selectedRows = selectedRows
- }
- }
- }
+ toggleAdvanced() {
+ this.advanced = !this.advanced
+ this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+ },
+ onChangecreatedTime(date, dateString) {
+ this.queryParam.createdTime = dateString
+ },
+ onChangeupdatedTime(date, dateString) {
+ this.queryParam.updatedTime = dateString
+ },
+ handleOk() {
+ this.$refs.table.refresh()
+ },
+ onSelectChange(selectedRowKeys, selectedRows) {
+ this.selectedRowKeys = selectedRowKeys
+ this.selectedRows = selectedRows
+ }
+ }
+}
</script>
<style lang="less">
- .table-operator {
- margin-bottom: 18px;
- }
- button {
- margin-right: 8px;
- }
+.table-operator {
+ margin-bottom: 18px;
+}
+button {
+ margin-right: 8px;
+}
</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/index.vue
index 3744a08..9666405 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/index.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/index.vue
@@ -177,6 +177,8 @@
瀵煎嚭
</a-button>
<a-button type="primary" v-if="hasPerm('WmsMaterial:add')" icon="plus" @click="$refs.addForm.add()">鏂板鐗╂枡淇℃伅琛�</a-button>
+ <!-- 鑷畾涔� -->
+ <a-button type="primary" v-if="hasPerm('WmsMaterial:add')" icon="plus" @click="$refs.tabForm.add()">鏂板tab</a-button>
</div>
</template>
<span slot="isDisabledscopedSlots" slot-scope="text">
@@ -200,6 +202,9 @@
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<excel-form ref="excelForm" @ok="handleOk" />
+ <!-- 鑷畾涔� -->
+ <tab-form ref="tabForm" @ok="handleOk" />
+
</a-card>
</div>
</template>
@@ -210,6 +215,9 @@
//鑷畾涔塼able楂樺害
import setTableHtMixin from '@/mixins/handleTableHt.js'
import addForm from './addForm.vue'
+//鑷畾涔�
+ import tabForm from './tabForm.vue'
+
import { exportExcel } from '@/utils/exportToExcel'
import { downloadFile } from '@/utils/util'
import editForm from './editForm.vue'
@@ -220,7 +228,8 @@
STable,
addForm,
editForm,
- excelForm
+ excelForm,
+ tabForm //鑷畾涔�
},
data () {
return {
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
new file mode 100644
index 0000000..19b9116
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -0,0 +1,154 @@
+<template>
+ <a-modal
+ title="鏂板鐗╂枡淇℃伅"
+ :width="900"
+ :visible="visible"
+ :confirmLoading="confirmLoading"
+ @ok="handleSubmit"
+ @cancel="handleCancel"
+ >
+ <a-spin :spinning="confirmLoading">
+ <!-- tab -->
+ <a-tabs default-active-key="1" @change="callback">
+ <a-tab-pane key="1" tab="鍩烘湰淇℃伅">
+ <add-form ref="addForm" @ok="handleOk" />
+ </a-tab-pane>
+ <a-tab-pane key="2" tab="鎺у埗灞炴��" force-render>
+ Content of Tab Pane 2
+ </a-tab-pane>
+ <a-tab-pane key="3" tab="鎵规灞炴��">
+ Content of Tab Pane 3
+ </a-tab-pane>
+ <a-tab-pane key="4" tab="鏇夸唬鍝佺鐞�">
+ Content of Tab Pane 4
+ </a-tab-pane>
+ <a-tab-pane key="5" tab="瀹㈡埛">
+ Content of Tab Pane 5
+ </a-tab-pane>
+ <a-tab-pane key="7" tab="鍖呰鍏崇郴">
+ Content of Tab Pane 6
+ </a-tab-pane>
+ </a-tabs>
+
+ </a-spin>
+ </a-modal>
+</template>
+
+<script>
+import { WmsMaterialAdd, GetAreas, GetStations } from '@/api/modular/main/WmsMaterialManage'
+import addForm from './tabItem/addForm.vue'
+
+export default {
+ components: {
+ // STable,
+ addForm,
+ // editForm,
+ // excelForm
+ },
+ data() {
+ return {
+ labelCol: {
+ // xs: { span: 24 },
+ // sm: { span: 5 }
+ span: 8
+ },
+ wrapperCol: {
+ // xs: { span: 24 },
+ // sm: { span: 15 }
+ span: 13
+ },
+ inspectionMethodData: [],
+ materialTypeData: [],
+ areaNameParameterData: [],
+ stationNameParameterData: [],
+ visible: false,
+ confirmLoading: false,
+ form: this.$form.createForm(this)
+ }
+ },
+ methods: {
+ // 鍒濆鍖栨柟娉�
+ add(record) {
+ this.visible = true
+ this.$nextTick(() => {
+ this.getSelects()
+ })
+ const materialTypeOption = this.$options
+ this.materialTypeData = materialTypeOption.filters['dictData']('material_type')
+ const inspectionMethodOption = this.$options
+ this.inspectionMethodData = inspectionMethodOption.filters['dictData']('material_inspection')
+ },
+ getSelects() {
+ if (this.areaNameParameterData.length <= 0 || this.stationNameParameterData.length <= 0) {
+ this.confirmLoading = true
+ Promise.all([GetAreas(), GetStations()])
+ .then(response => {
+ this.areaNameParameterData = response[0].data || []
+ this.stationNameParameterData = response[1].data || []
+ this.confirmLoading = false
+ })
+ .catch(() => {
+ this.confirmLoading = false
+ })
+ }
+ },
+ /**
+ * 鎻愪氦琛ㄥ崟
+ */
+ handleSubmit() {
+ const {
+ form: { validateFields }
+ } = this
+ this.confirmLoading = true
+ validateFields((errors, values) => {
+ if (!errors) {
+ if (this.$getObjectType(values.areas) === 'array') {
+ values.areaIds = values.areas.join(',')
+ values.areaNameParameterArr = values.areas.map(val => {
+ return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData')
+ })
+ values.areaNameParameter = values.areaNameParameterArr.join(',')
+ }
+ if (this.$getObjectType(values.stations) === 'array') {
+ values.stationIds = values.stations.join(',')
+ values.stationNameParameterArr = values.stations.map(val => {
+ return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData')
+ })
+ values.stationNameParameter = values.stationNameParameterArr.join(',')
+ }
+ WmsMaterialAdd(values)
+ .then(res => {
+ if (res.success) {
+ this.$message.success('鏂板鎴愬姛')
+ this.confirmLoading = false
+ this.$emit('ok', values)
+ this.handleCancel()
+ } else {
+ this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+ }
+ })
+ .finally(res => {
+ this.confirmLoading = false
+ })
+ } else {
+ this.confirmLoading = false
+ }
+ })
+ },
+ parseSelectName(val, field, nfield, pfield) {
+ let res = val
+ for (let i = 0; i < this[pfield].length; i++) {
+ if (val === this[pfield][i][field]) {
+ res = this[pfield][i][nfield]
+ break
+ }
+ }
+ return res
+ },
+ handleCancel() {
+ this.form.resetFields()
+ this.visible = false
+ }
+ }
+}
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabItem/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabItem/addForm.vue
new file mode 100644
index 0000000..faa2ec8
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabItem/addForm.vue
@@ -0,0 +1,136 @@
+锘�<template>
+ <!-- 鍩烘湰淇℃伅 -->
+ <a-form :form="form">
+ <a-form-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" v-decorator="['materialName', {rules: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒'}]}]" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" v-decorator="['materialCode', {rules: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒'}]}]" />
+ </a-form-item>
+ <a-form-item label="ERP缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏RP缂栧彿" v-decorator="['erpCode']" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欑被鍨嬪悕绉�" v-decorator="['materialTypeName']" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡绫诲瀷鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欑被鍨嬫弿杩�" v-decorator="['materialTypeDescr']" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input-number placeholder="璇疯緭鍏ョ墿鏂欑被鍨�" style="width: 100%" v-decorator="['materialType']" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡缁�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欑粍" v-decorator="['materialGroup']" />
+ </a-form-item>
+ <a-form-item label="ABC鍒嗙被鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏BC鍒嗙被鍚嶇О" v-decorator="['aBCClassName']" />
+ </a-form-item>
+ <a-form-item label="ABC鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input-number placeholder="璇疯緭鍏BC鍒嗙被" style="width: 100%" v-decorator="['aBCClass']" />
+ </a-form-item>
+ <a-form-item label="鐗╂枡瑙勬牸" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ョ墿鏂欒鏍�" v-decorator="['materialSpec']" />
+ </a-form-item>
+ <a-form-item label="榛樿鍏ュ簱搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ラ粯璁ゅ叆搴撳簱浣�" v-decorator="['inPlaceCode']" />
+ </a-form-item>
+ <a-form-item label="搴撳瓨鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" v-decorator="['materialUnit']" />
+ </a-form-item>
+ <a-form-item label="閲囪喘鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ラ噰璐崟浣�" v-decorator="['pOUnit']" />
+ </a-form-item>
+ <a-form-item label="棰滆壊" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ラ鑹�" v-decorator="['color']" />
+ </a-form-item>
+ <a-form-item label="閲嶉噺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ラ噸閲�" v-decorator="['weight']" />
+ </a-form-item>
+ <a-form-item label="鏍囧寘鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ユ爣鍖呮暟閲�" v-decorator="['sNP']" />
+ </a-form-item>
+ <a-form-item label="鎹㈢畻鐜�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ユ崲绠楃巼" v-decorator="['translateRate']" />
+ </a-form-item>
+ <a-form-item label="鎵规灞炴�ц鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ユ壒娆″睘鎬ц鍒�" v-decorator="['batchRuleId']" />
+ </a-form-item>
+ <a-form-item label="鎺у埗灞炴�ц鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ユ帶鍒跺睘鎬ц鍒�" v-decorator="['controlRuleId']" />
+ </a-form-item>
+ <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+ </a-form-item>
+ <a-form-item label="鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+ <a-input placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['materialDesc']" />
+ </a-form-item>
+ </a-form>
+</template>
+
+<script>
+ import moment from 'moment'
+ import {
+ WmsMaterialAdd
+ } from '@/api/modular/main/WmsBase/WmsMaterialManage'
+ export default {
+ data () {
+ return {
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 }
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 15 }
+ },
+ visible: false,
+ confirmLoading: false,
+ form: this.$form.createForm(this)
+ }
+ },
+ methods: {
+ moment,
+ // 鍒濆鍖栨柟娉�
+ add (record) {
+ this.visible = true
+ this.$nextTick(() => {
+
+ });
+ },
+ /**
+ * 鎻愪氦琛ㄥ崟
+ */
+ handleSubmit () {
+ const { form: { validateFields } } = this
+ this.confirmLoading = true
+ validateFields((errors, values) => {
+ if (!errors) {
+ for (const key in values) {
+ if (typeof (values[key]) === 'object') {
+ values[key] = JSON.stringify(values[key])
+ }
+ }
+ WmsMaterialAdd(values).then((res) => {
+ if (res.success) {
+ this.$message.success('鏂板鎴愬姛')
+ this.confirmLoading = false
+ this.$emit('ok', values)
+ this.handleCancel()
+ } else {
+ this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+ }
+ }).finally((res) => {
+ this.confirmLoading = false
+ })
+ } else {
+ this.confirmLoading = false
+ }
+ })
+ },
+ handleCancel () {
+ this.form.resetFields()
+ this.visible = false
+ }
+ }
+ }
+</script>
--
Gitblit v1.9.3