¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <a-row type="flex" :gutter="16"> |
| | | <a-col :md="5"> |
| | | <WarehouseTree/> |
| | | </a-col> |
| | | <a-col :md="19"> |
| | | <GoodsShelvesList/> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import GoodsShelvesList from './GoodsShelvesList.vue' |
| | | import WarehouseTree from './WarehouseTree.vue' |
| | | |
| | | export default { |
| | | name: 'GoodsShelves', |
| | | components: { |
| | | GoodsShelvesList, |
| | | WarehouseTree |
| | | }, |
| | | data() { |
| | | return {} |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | /deep/ .ant-card-body { |
| | | padding: 8px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <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="ä»åºåç§°" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请è¾å
¥ä»åºåç§°" |
| | | v-model="queryParam.warehouseName" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="åºä½å·" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请è¾å
¥åºä½å·" |
| | | v-model="queryParam.locationCode" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="è´§æ¶ç¼å·" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请è¾å
¥è´§æ¶ç¼å·" |
| | | v-model="queryParam.shelfNumber" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="7" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="å¼å§æ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | placeholder="è¯·éæ©å¼å§æ¶é´" |
| | | format="YYYY-MM-DD HH:mm" |
| | | valueFormat="YYYY-MM-DD HH:mm" |
| | | v-model="queryParam.beginTime" |
| | | ></a-date-picker> |
| | | <!-- :triggerChange="false" --> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="7" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»ææ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | placeholder="è¯·éæ©ç»ææ¶é´" |
| | | format="YYYY-MM-DD HH:mm" |
| | | valueFormat="YYYY-MM-DD HH:mm" |
| | | v-model="queryParam.endTime" |
| | | ></a-date-picker> |
| | | <!-- :triggerChange="false" --> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload">éç½®</a-button> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" :disabled="addFlag" type="primary" icon="plus">æ°å¢</a-button> |
| | | <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_goods_shelves')">导åº</a-button>--> |
| | | <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">--> |
| | | <!-- <a-button type="primary" icon="import">导å
¥</a-button>--> |
| | | <!-- </a-upload>--> |
| | | <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> |
| | | <!-- <a-menu slot="overlay">--> |
| | | <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>å é¤</a-menu-item>--> |
| | | <!-- </a-menu>--> |
| | | <!-- <a-button style="margin-left: 8px"> æ¹éæä½ <a-icon type="down" /></a-button>--> |
| | | <!-- </a-dropdown>--> |
| | | </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:true}" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="null" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange"> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleDetail(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 @click="handleEdit(record)">ç¼è¾</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)"> |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | <goods-shelves-modal ref="modalForm" :treeSelected="treeSelected" @ok="modalFormOk"></goods-shelves-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import GoodsShelvesModal from './modules/GoodsShelvesModal' |
| | | |
| | | export default { |
| | | name: 'GoodsShelvesList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | GoodsShelvesModal |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'tms_goods_shelves', |
| | | labelCol: { xs: { span: 24 }, sm: { span: 8 } }, |
| | | wrapperCol: { xs: { span: 24 }, sm: { span: 16 } }, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'ä»åºç¼å·', |
| | | align:"center", |
| | | dataIndex: 'warehouseNum' |
| | | }, |
| | | { |
| | | title:'ä»åºåç§°', |
| | | align:"center", |
| | | dataIndex: 'warehouseName' |
| | | }, |
| | | { |
| | | title:'åºä½å·', |
| | | align:"center", |
| | | dataIndex: 'locationCode' |
| | | }, |
| | | { |
| | | title:'屿°', |
| | | align:"center", |
| | | dataIndex: 'storey' |
| | | }, |
| | | { |
| | | title:'ææ°', |
| | | align:"center", |
| | | dataIndex: 'arrange' |
| | | }, |
| | | { |
| | | title:'åæ°', |
| | | align:"center", |
| | | dataIndex: 'columnNumber' |
| | | }, |
| | | { |
| | | title:'è´§æ¶ç¼å·', |
| | | align:"center", |
| | | dataIndex: 'shelfNumber' |
| | | }, |
| | | { |
| | | title:'è´§æ¶åç§°', |
| | | align:"center", |
| | | dataIndex: 'shelfName' |
| | | }, |
| | | { |
| | | title:'夿³¨', |
| | | align:"center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title:'å建人', |
| | | align:"center", |
| | | dataIndex: 'createBy' |
| | | }, |
| | | { |
| | | title:'å建æ¶é´', |
| | | align:"center", |
| | | dataIndex: 'createTime' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/tms/goodsShelves/list", |
| | | delete: "/tms/goodsShelves/delete", |
| | | deleteBatch: "/tms/goodsShelves/deleteBatch", |
| | | exportXlsUrl: "/tms/goodsShelves/exportXls", |
| | | importExcelUrl: "tms/goodsShelves/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | treeSelected: {} |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | }, |
| | | addFlag: function(){ |
| | | return !(this.treeSelected.key && this.treeSelected.entity.leafFlag === '1') |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.handleGetCurrSelected = (data) => { |
| | | this.treeSelected = data; |
| | | if (data.entity && data.entity.leafFlag === '1') { |
| | | this.queryParam.warehouseId = data.key; |
| | | this.loadData(); |
| | | } else { |
| | | this.dataSource = [] |
| | | } |
| | | } |
| | | this.$bus.$on('getCurrSelected', this.handleGetCurrSelected); |
| | | }, |
| | | beforeDestroy() { |
| | | this.$bus.$off('getCurrSelected', this.handleGetCurrSelected); |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | | this.queryParam = { |
| | | warehouseId: this.treeSelected.key |
| | | } |
| | | this.loadData(1) |
| | | }, |
| | | initDictConfig(){ |
| | | }, |
| | | getSuperFieldList(){ |
| | | let fieldList=[]; |
| | | fieldList.push({type:'string',value:'warehouseId',text:'ä»åºç¼å·',dictCode:''}) |
| | | fieldList.push({type:'string',value:'locationCode',text:'åºä½å·',dictCode:''}) |
| | | fieldList.push({type:'string',value:'storey',text:'屿°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'arrange',text:'ææ°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'columnNumber',text:'åæ°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'shelfNumber',text:'è´§æ¶ç¼å·',dictCode:''}) |
| | | fieldList.push({type:'string',value:'shelfName',text:'è´§æ¶åç§°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'remark',text:'夿³¨',dictCode:''}) |
| | | fieldList.push({type:'string',value:'createBy',text:'å建人',dictCode:''}) |
| | | fieldList.push({type:'date',value:'createTime',text:'å建æ¶é´'}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import WarehouseModal from './modules/WarehouseModal' |
| | | import { getAction, putAction, deleteAction } from '../../api/manage' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'WarehouseList', |
| | |
| | | WarehouseModal |
| | | }, |
| | | data () { |
| | | const now = moment() |
| | | const lastWeek = now.clone().subtract(7,'days') |
| | | return { |
| | | description: 'ä»åºç®¡ç', |
| | | queryParam: { |
| | | beginTime: lastWeek.format('YYYY-MM-DD HH:mm'), |
| | | endTime: now.format('YYYY-MM-DD HH:mm'), |
| | | warehouseName: '', |
| | | parentId: '' |
| | | }, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | |
| | | { |
| | | title:'ç¶èç¹ç¼å·', |
| | | align:"center", |
| | | dataIndex: 'parentWarehouseId' |
| | | dataIndex: 'parentWarehouseId', |
| | | customRender:function (text,r) { |
| | | if (r.parentId === '-1') { |
| | | return '-1'; |
| | | } else { |
| | | return text; |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | title:'ç¶èç¹åç§°', |
| | | align:"center", |
| | | dataIndex: 'parentWarehouseName' |
| | | dataIndex: 'parentWarehouseName', |
| | | customRender:function (text,r) { |
| | | if (r.parentId === '-1') { |
| | | return 'èªå®æç'; |
| | | } else { |
| | | return text; |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | title:'ç¶æ', |
| | |
| | | { |
| | | title:'å建æ¶é´', |
| | | align:"center", |
| | | dataIndex: 'createTime', |
| | | customRender:function (text) { |
| | | return !text?"":(text.length>10?text.substr(0,10):text) |
| | | } |
| | | dataIndex: 'createTime' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.$bus.$on('getCurrSelected', (data) => { |
| | | console.log(data) |
| | | this.handleGetCurrSelected = (data) => { |
| | | this.treeSelected = data; |
| | | this.queryParam.parentId = data.key; |
| | | this.loadData(); |
| | | }); |
| | | } |
| | | this.$bus.$on('getCurrSelected', this.handleGetCurrSelected); |
| | | }, |
| | | beforeDestroy() { |
| | | this.$bus.$off('getCurrSelected', {}); |
| | | this.$bus.$off('getCurrSelected', this.handleGetCurrSelected); |
| | | }, |
| | | methods: { |
| | | handleStatus(record) { |
| | | const params = { |
| | | id: record.id, |
| | | status: record.status === '1' ? '2' : '1' |
| | | } |
| | | putAction(this.url.edit, params).then((res) => { |
| | | getAction(this.url.list, { parentId: record.id }).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success(res.message) |
| | | this.loadData() |
| | | if (res.result.total > 0) { |
| | | this.$message.warning('该èç¹ä¸åå¨åèç¹ï¼ä¸è½åæ´ç¶æï¼') |
| | | } else { |
| | | const params = { |
| | | id: record.id, |
| | | status: record.status === '1' ? '2' : '1' |
| | | } |
| | | putAction(this.url.edit, params).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success(res.message) |
| | | this.loadData() |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | this.$message.warning(res.message); |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | }, |
| | | handleDelete(id) { |
| | | getAction(this.url.list, { parentId: id }).then((res) => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | // onBeginTimeChange(date, dateString) { |
| | | // this.queryParam.begin_time = dateString[0] |
| | | // }, |
| | | // onEndTimeChange(date, dateString) { |
| | | // this.queryParam.end_time = dateString[0] |
| | | // }, |
| | | searchReset() { |
| | | const now = moment() |
| | | const lastWeek = now.clone().subtract(7,'days') |
| | | this.queryParam = { |
| | | beginTime: lastWeek.format('YYYY-MM-DD HH:mm'), |
| | | endTime: now.format('YYYY-MM-DD HH:mm'), |
| | | warehouseName: '', |
| | | parentId: '' |
| | | parentId: this.treeSelected.key |
| | | } |
| | | this.treeSelected = {} |
| | | this.loadData(1) |
| | | this.$bus.$emit('clearTreeSelection') |
| | | }, |
| | | modalFormOk() { |
| | | this.loadData() |
| | |
| | | }, |
| | | mounted() { |
| | | this.$bus.$on('queryTreeData', this.queryTreeData); |
| | | this.$bus.$on('clearTreeSelection', this.onClearSelected) |
| | | }, |
| | | beforeDestroy() { |
| | | this.$bus.$off('queryTreeData', this.queryTreeData); |
| | | this.$bus.$off('clearTreeSelection', this.onClearSelected) |
| | | }, |
| | | //çå¬ |
| | | watch: { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <j-form-container :disabled="formDisabled"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ä»åºç¼å·" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="true" v-model="model.warehouseNum" placeholder="请è¾å
¥ä»åºç¼å·" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ä»åºåç§°" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input :disabled="true" v-model="model.warehouseName" placeholder="请è¾å
¥ä»åºåç§°" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åºä½å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="locationCode"> |
| | | <a-input v-model="model.locationCode" placeholder="请è¾å
¥åºä½å·" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="屿°" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="storey"> |
| | | <a-input v-model="model.storey" placeholder="请è¾å
¥å±æ°" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ææ°" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="arrange"> |
| | | <a-input v-model="model.arrange" placeholder="请è¾å
¥ææ°" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åæ°" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="columnNumber"> |
| | | <a-input v-model="model.columnNumber" placeholder="请è¾å
¥åæ°" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="è´§æ¶ç¼å·" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shelfNumber"> |
| | | <a-input v-model="model.shelfNumber" placeholder="请è¾å
¥è´§æ¶ç¼å·" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="è´§æ¶åç§°" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shelfName"> |
| | | <a-input v-model="model.shelfName" placeholder="请è¾å
¥è´§æ¶åç§°" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="夿³¨" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> |
| | | <a-textarea v-model="model.remark" rows="4" placeholder="请è¾å
¥å¤æ³¨" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </j-form-container> |
| | | </a-spin> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: 'GoodsShelvesForm', |
| | | components: { |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | warehouseId: [ |
| | | { required: true, message: '请è¾å
¥ä»åºç¼å·!'}, |
| | | ], |
| | | locationCode: [ |
| | | { required: true, message: '请è¾å
¥åºä½å·!'}, |
| | | ], |
| | | storey: [ |
| | | { required: true, message: '请è¾å
¥å±æ°!'}, |
| | | ], |
| | | arrange: [ |
| | | { required: true, message: '请è¾å
¥ææ°!'}, |
| | | ], |
| | | columnNumber: [ |
| | | { required: true, message: '请è¾å
¥åæ°!'}, |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/tms/goodsShelves/add", |
| | | edit: "/tms/goodsShelves/edit", |
| | | queryById: "/tms/goodsShelves/queryById" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add (treeSelected) { |
| | | this.modelDefault.warehouseId = treeSelected.key |
| | | this.modelDefault.warehouseNum = treeSelected.entity.warehouseId |
| | | this.modelDefault.warehouseName = treeSelected.entity.warehouseName |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | <goods-shelves-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></goods-shelves-form> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import GoodsShelvesForm from './GoodsShelvesForm' |
| | | export default { |
| | | name: 'GoodsShelvesModal', |
| | | components: { |
| | | GoodsShelvesForm |
| | | }, |
| | | props: { |
| | | treeSelected: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | title:'', |
| | | width:896, |
| | | visible: false, |
| | | disableSubmit: false |
| | | } |
| | | }, |
| | | methods: { |
| | | add () { |
| | | this.visible=true |
| | | this.$nextTick(()=>{ |
| | | this.$refs.realForm.add(this.treeSelected); |
| | | }) |
| | | }, |
| | | edit (record) { |
| | | this.visible=true |
| | | this.$nextTick(()=>{ |
| | | this.$refs.realForm.edit(record); |
| | | }) |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | handleOk () { |
| | | this.$refs.realForm.submitForm(); |
| | | }, |
| | | submitCallback(){ |
| | | this.$emit('ok'); |
| | | this.visible = false; |
| | | }, |
| | | handleCancel () { |
| | | this.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="å¶åèç¹æ è¯" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leafFlag"> |
| | | <a-radio-group v-model="model.leafFlag" placeholder="è¯·éæ©æ¯å¦å¶åèç¹"> |
| | | <a-radio-group :disabled="leafDisableFlag" v-model="model.leafFlag" placeholder="è¯·éæ©æ¯å¦å¶åèç¹"> |
| | | <a-radio :value="'2'">æåèç¹</a-radio> |
| | | <a-radio :value="'1'">æ¯å¶åèç¹</a-radio> |
| | | </a-radio-group> |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | leafDisableFlag: false, |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | |
| | | validatorRules: { |
| | | warehouseId: [ |
| | | { required: true, message: '请è¾å
¥ä»åºç¼å·!'}, |
| | | { validator: (rule, value, callback) => validateDuplicateValue('tms_warehouse', 'warehouse_id', value, this.model.id, callback)} |
| | | ], |
| | | warehouseName: [ |
| | | { required: true, message: '请è¾å
¥ä»åºåç§°!'}, |
| | |
| | | ], |
| | | }, |
| | | url: { |
| | | list: "/tms/warehouse/list", |
| | | add: "/tms/warehouse/add", |
| | | edit: "/tms/warehouse/edit", |
| | | queryById: "/tms/warehouse/queryById" |
| | |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | } |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | async updateLeafDisableFlag() { |
| | | const parentId = this.model.id; |
| | | try { |
| | | const res = await getAction(this.url.list, { parentId: parentId }); |
| | | if (res.success) { |
| | | this.leafDisableFlag = res.result.total > 0; |
| | | } |
| | | } catch (e) { |
| | | console.error(e); |
| | | } |
| | | }, |
| | | add (treeSelected) { |
| | | this.modelDefault.parentId = treeSelected.key |
| | | this.modelDefault.parentWarehouseId = treeSelected.entity.warehouseId |
| | |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | if (record.parentId === '-1') { |
| | | record.parentWarehouseId = '-1' |
| | | record.parentWarehouseName = 'èªå®æç' |
| | | } |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | console.log(this.model) |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | |
| | | |
| | | }) |
| | | }, |
| | | }, |
| | | watch: { |
| | | 'model.id': function(newVal) { |
| | | if (newVal) { |
| | | this.updateLeafDisableFlag() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |