巷道管理新增巷道、编辑巷道接口联调

merge-requests/1/head
张鑫 5 years ago
parent fae3c1c880
commit 4f4329d587

73
package-lock.json generated

@ -2403,8 +2403,7 @@
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
},
"alphanum-sort": {
"version": "1.0.2",
@ -2947,8 +2946,7 @@
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
},
"binary-extensions": {
"version": "2.1.0",
@ -5037,8 +5035,7 @@
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
},
"encodeurl": {
"version": "1.0.2",
@ -5863,8 +5860,7 @@
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-glob": {
"version": "2.2.7",
@ -5906,8 +5902,7 @@
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-levenshtein": {
"version": "2.0.6",
@ -7532,8 +7527,7 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@ -7565,7 +7559,6 @@
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
"integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
@ -8205,8 +8198,7 @@
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"minipass": {
"version": "3.1.3",
@ -9994,8 +9986,7 @@
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"q": {
"version": "1.5.1",
@ -11591,6 +11582,53 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true
},
"style-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
"integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==",
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
},
"dependencies": {
"@types/json-schema": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
"integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw=="
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"schema-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
"integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"requires": {
"@types/json-schema": "^7.0.6",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
}
}
},
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@ -12207,7 +12245,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}

@ -13,6 +13,7 @@
"axios": "^0.19.2",
"core-js": "^3.6.5",
"path-to-regexp": "^6.2.0",
"style-loader": "^2.0.0",
"vue": "^2.6.11",
"vue-router": "^3.2.0",
"vuex": "^3.4.0"
@ -27,7 +28,7 @@
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-vue": "^6.2.2",
"node-sass": "^4.12.0",
"node-sass": "^4.14.1",
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.11"
}

@ -4,6 +4,16 @@ export default {
url: "/street/page",
name: "获取巷道列表"
},
addStreet: {
method: "POST",
url: "/street",
name: "新增巷道"
},
editStreet: {
method: "PUT",
url: "/street",
name: "编辑巷道"
},
queryList: {
url: '/order/list',
name: '查询',

@ -47,4 +47,5 @@ Vue.use(Divider)
Vue.prototype.$message = message;
Vue.prototype.$info = Modal.info;
Vue.prototype.$success = Modal.success;
Vue.prototype.$confirm = Modal.confirm;
Vue.prototype.$error = Modal.error;

@ -1,3 +0,0 @@
export default {
}

@ -1,6 +1,6 @@
<template>
<div>
<a-button type="primary" class="add" @click="showModal('add','')">
<a-button type="primary" class="add" @click="showModel('add','')">
新增
</a-button>
<a-table
@ -11,10 +11,10 @@
@change="handleGetStreetList"
>
<span slot="leftType" slot-scope="text">
{{ text === 0 ? '单伸' : '双伸' }}
{{ text === null ? '-' : text === 0 ? '单伸' : '双伸' }}
</span>
<span slot="rightType" slot-scope="text">
{{ text === 0 ? '单伸' : '双伸' }}
<span slot="rightType" slot-scope="text">
{{ text === null ? '-' : text === 0 ? '单伸' : '双伸' }}
</span>
<span slot="actions" slot-scope="text">
<template>
@ -24,7 +24,7 @@
</template>
</span>
<span slot="action" slot-scope="text, record">
<a @click="showModal('edit',record)">
<a @click="showModel('edit',record)">
编辑
</a>
<a-divider type="vertical"/>
@ -39,6 +39,7 @@
<Model
:visible.sync="visible"
:modelTitle="modelTitle"
:modelData.sync="modelData"
@sure="submit"
@close="closeModel"
/>
@ -91,7 +92,8 @@ export default {
loading: false,
columns,
visible:false,
modelTitle:''
modelTitle:'',
modelData:[]
};
},
mounted() {
@ -99,18 +101,16 @@ export default {
},
methods: {
handleGetStreetList(){
this.$api.httpApi
.getStreetList({
data: {
pageNum:this.pageNum,
pageSize:this.pageSize,
}
})
.then(res => {
this.data = res.data.list;
});
this.$api.httpApi.getStreetList({
data: {
pageNum:this.pageNum,
pageSize:this.pageSize,
}
}).then(res => {
this.data = res.data.list;
});
},
showModal(type,data){
showModel(type,data){
this.visible = true
console.log(type)
if(type=='add'){
@ -122,10 +122,12 @@ export default {
},
submit(visible){
this.visible = visible
this.handleGetStreetList()
},
closeModel(visible){
closeModel(visible,data){
this.visible = visible
}
this.modelData=data
},
},
components:{
Model

@ -1,47 +1,313 @@
<template>
<div v-if="visible">
<div v-if="isShow">
<a-modal
:title="modelTitle"
:visible="visible"
:confirm-loading="confirmLoading"
v-model="isShow"
:title="title"
:closable="closable"
@ok="handleOk"
@cancel="handleCancel"
ok-text="确认" cancel-text="取消"
ok-text="确认"
cancel-text="取消"
class="p-model"
>
<p>gfgdfgdfgdf</p>
<a-form
:form="form"
:wrapper-col="formItemAcrossLayout.wrapperCol"
>
<div class="across-layout">
<a-form-item label="巷道名称" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['name', { rules: [{ required: true, message: '请输入巷道名称!' }] }]"
/>
</a-form-item>
<a-form-item label="PLC-ID" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['plcId', { rules: [{ required: true, message: '请输入PLC-ID!' }] }]"
/>
</a-form-item>
</div>
<a-divider></a-divider>
<div class="leftType">
<h3>左货架</h3>
<a-form-item label="类型" :label-col="formItemVerticalLayout.labelCol">
<a-select
v-decorator="[
'leftType',
{ rules: [{ required: true, message: '请选择类型!' }] },
]"
placeholder="选择类型"
@change="handleSelectChangeLeft"
>
<a-select-option value="0">
单伸
</a-select-option>
<a-select-option value="1">
双伸
</a-select-option>
</a-select>
</a-form-item>
<div class="across-layout">
<a-form-item label="货架规格" :label-col="{ span:7}">
<a-input
v-decorator="['leftRow', { rules: [{ required: true, message: '请输入行数!' }] }]"
suffix="行"
/>
</a-form-item>
<a-form-item label="" :wrapper-col="{span:20}">
<a-input
v-decorator="['leftColumn', { rules: [{ required: true, message: '请输入列数!' }] }]"
suffix="列"
/>
</a-form-item>
</div>
<div class="across-layout" v-if="leftType =='0'">
<a-form-item label="货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['leftShelveId', { rules: [{ required: true, message: '请输入货架号!' }] }]"
/>
</a-form-item>
</div>
<div class="across-layout" v-if="leftType =='1'">
<a-form-item label="内货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['leftInsideShelveId', { rules: [{ required: true, message: '请输入内货架号!' }] }]"
/>
</a-form-item>
<a-form-item label="外货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['leftOutsideShelveId', { rules: [{ required: true, message: '请输入外货架号!' }] }]"
/>
</a-form-item>
</div>
<a-divider></a-divider>
</div>
<div class="leftType">
<h3>右货架</h3>
<a-form-item label="类型" :label-col="formItemVerticalLayout.labelCol">
<a-select
v-decorator="[
'rightType',
{ rules: [{ required: true, message: '请选择类型!' }] },
]"
placeholder="选择类型"
@change="handleSelectChangeRight"
>
<a-select-option value="0">
单伸
</a-select-option>
<a-select-option value="1">
双伸
</a-select-option>
</a-select>
</a-form-item>
<div class="across-layout">
<a-form-item label="货架规格" :label-col="{ span:7}">
<a-input
v-decorator="['rightRow', { rules: [{ required: true, message: '请输入行!' }] }]"
suffix="行"
/>
</a-form-item>
<a-form-item label="" :wrapper-col="{span:20}">
<a-input
v-decorator="['rightColumn', { rules: [{ required: true, message: '请输入列!' }] }]"
suffix="列"
/>
</a-form-item>
</div>
<div class="across-layout" v-if="rightType =='0'">
<a-form-item label="货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['rightShelveId', { rules: [{ required: true, message: '请输入货架号!' }] }]"
/>
</a-form-item>
</div>
<div class="across-layout" v-if="rightType =='1'">
<a-form-item label="内货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['rightInsideShelveId', { rules: [{ required: true, message: '请输入内货架号!' }] }]"
/>
</a-form-item>
<a-form-item label="外货架号" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['rightOutsideShelveId', { rules: [{ required: true, message: '请输入外货架号!' }] }]"
/>
</a-form-item>
</div>
<a-divider></a-divider>
</div>
<a-form-item label="球机1" :label-col="formItemVerticalLayout.labelCol">
<a-select
v-decorator="[
'camera1Id',
]"
placeholder="选择球机"
>
<a-select-option value="0">
单伸
</a-select-option>
<a-select-option value="1">
双伸
</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="球机2" :label-col="formItemVerticalLayout.labelCol">
<a-select
v-decorator="[
'camera2Id',
]"
placeholder="选择球机"
>
<a-select-option value="0">
单伸
</a-select-option>
<a-select-option value="1">
双伸
</a-select-option>
</a-select>
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script>
var formItemAcrossLayout = { //formItemAcrossLayoutitem
labelCol: { span: 8 }, //lable
wrapperCol: { span: 14 }, //input
};
var formItemVerticalLayout = { //formItemVerticalLayoutitem
labelCol: { span: 4 },
wrapperCol: { span: 8, offset: 4 },
};
export default {
props:{
visible:{
type:Boolean
props:[ 'visible', 'modelTitle', 'modelData'],
watch: {
//visibleisShowprops
visible: function(newVal){
this.isShow = newVal; //newValvisible
// newVal && this.showConfirm(); //newValshowConfirm
},
modelTitle: function(newVal){
this.title = newVal;
},
modelData: function(newVal){
if(newVal.id){
this.mdata=newVal
this.leftType=newVal.leftType
this.rightType=newVal.rightType
console.log('更新了')
this.$nextTick(()=>{
this.form.setFieldsValue({ //setFieldsValue form
name:newVal.name,
plcId:newVal.plcId,
leftType:newVal.leftType === null ? '' : newVal.leftType === 0 ? '单伸' : '双伸',
leftRow:newVal.leftRow,
leftColumn:newVal.leftColumn,
leftShelveId:newVal.leftShelveId,
leftInsideShelveId:newVal.leftInsideShelveId,
leftOutsideShelveId:newVal.leftOutsideShelveId,
rightType:newVal.rightType === null ? '' : newVal.rightType === 0 ? '单伸' : '双伸',
rightRow:newVal.rightRow,
rightColumn:newVal.rightColumn,
rightShelveId:newVal.rightShelveId,
rightInsideShelveId:newVal.rightInsideShelveId,
rightOutsideShelveId:newVal.rightOutsideShelveId,
camera1Id:newVal.camera1Id,
camera2Id:newVal.camera2Id
})
})
}
},
modelTitle:{
type:String
}
},
data() {
return {
isShow:false,
title:'',
closable:false,//modelX
formItemAcrossLayout,
formItemVerticalLayout,
confirmLoading: false,
form: this.$form.createForm(this, { name: 'dynamic_rule' }),
leftType:'',
rightType:'',
mdata:[]
};
},
mounted() {
console.log('mounted执行了')
},
methods: {
handleOk() {
this.confirmLoading = true;
setTimeout(() => {
this.$emit('sure',false)
this.form.validateFields((err, values) => {
console.log(values)
if (!err) {
console.log(this.title)
if(this.title=='新增巷道'){
this.$api.httpApi.addStreet({
data: {
values
}
}).then(res => {
if(res.code==200){
this.$emit('sure',false)
this.$message.success('新增巷道成功');
}
});
}else if(this.title=='编辑巷道'){
this.$api.httpApi.addStreet({
data: {
values
}
}).then(res => {
if(res.code==200){
this.$emit('sure',false)
this.$message.success('编辑巷道成功');
}
});
}
}
});
this.confirmLoading = false;
}, 500);
},
handleCancel() {
console.log('Clicked cancel button');
this.$emit('close',false)
console.log(this.title);
this.$emit('close',false,{})
},
handleSelectChangeLeft(value) {
console.log(value);
this.form.setFieldsValue({ //setFieldsValue form
leftInsideShelveId:'',
leftOutsideShelveId:'',
leftShelveId:''
})
this.leftType = value //data
},
handleSelectChangeRight(value) {
this.form.setFieldsValue({ //setFieldsValue form
rightInsideShelveId:'',
rightOutsideShelveId:'',
rightShelveId:''
})
this.rightType = value //data
},
},
};
</script>
<style lang="scss" scoped>
.p-model{
.across-layout{
display: flex;
}
.ant-divider-horizontal{
margin:6px 0;
}
}
</style>

@ -1,4 +1,11 @@
module.exports = {
css: {
loaderOptions: {
sass: {
prependData: `@import "~@/assets/scss/style.scss";`
}
}
},
productionSourceMap: process.env.NODE_ENV === 'production' ? false : true,
devServer: {
proxy: {

Loading…
Cancel
Save