Browse Source

完善仓库模块

master
guoxing 12 months ago
parent
commit
13f2e8b67a
  1. 8
      yxt-as-ui/src/views/goods/category/categoryAdd.vue
  2. 71
      yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue
  3. 29
      yxt-as-ui/src/views/warehouse/goodsShelves/index.vue
  4. 6
      yxt-as-ui/src/views/warehouse/warehouse/index.vue
  5. 100
      yxt-as-ui/src/views/warehouse/warehouse/warehouseAdd.vue
  6. 29
      yxt-as-ui/src/views/warehouse/warehouseArea/index.vue
  7. 70
      yxt-as-ui/src/views/warehouse/warehouseArea/warehouseAreaAdd.vue
  8. 31
      yxt-as-ui/src/views/warehouse/warehouseAreaType/index.vue
  9. 27
      yxt-as-ui/src/views/warehouse/warehouseAreaType/warehouseAreaTypeAdd.vue

8
yxt-as-ui/src/views/goods/category/categoryAdd.vue

@ -43,7 +43,7 @@
</div>
<div class="item">
<span class="item_text">出库规则</span>
<el-select v-model="formobj.outstockRuleValue" placeholder="请选择出库规则" class="item_input" @change="selectOutStockRuleChange">
<el-select v-model="formobj.outStockRuleValue" placeholder="请选择出库规则" class="item_input" @change="selectOutStockRuleChange">
<el-option v-for="item in outStockRuleList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</div>
@ -174,10 +174,12 @@
this.formobj.sids = choose[0].sid
this.formobj.pName = choose[0].goodsTypeName
},
selectOutStockRuleChange(val){
const choose = this.outStockRuleList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectOutStockRuleChange', val)
const choose = this.outStockRuleList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectOutStockRuleChange', choose)
this.formobj. outstockRule = choose[0].dictKey
this.formobj.outStockRule = choose[0].dictKey
this.formobj.outStockRuleValue = choose[0].dictValue
},
}

71
yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue

@ -17,25 +17,25 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">选择所属仓库</span>
<span class="item_text"><span class="must">*</span> 选择所属仓库</span>
<el-select v-model="formobj.warehouseName" placeholder="请选择所属仓库" class="item_input"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" :value="item.sid" />
</el-select>
</div>
<div class="item">
<span class="item_text">选择所属库区</span>
<span class="item_text"><span class="must">*</span> 选择所属库区</span>
<el-select v-model="formobj.locationName" placeholder="请选择所属库区" class="item_input"
@change="selectWarehouseAreaChange">
<el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName" :value="item.sid" />
</el-select>
</div>
<div class="item">
<span class="item_text">库位名称</span>
<span class="item_text"><span class="must">*</span> 库位名称</span>
<el-input v-model="formobj.rackName" placeholder="库位名称" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">库位编码</span>
<span class="item_text"><span class="must">*</span> 库位编码</span>
<el-input v-model="formobj.rackCode" placeholder="库位编码" class="item_input" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</div>
@ -69,10 +69,10 @@
locationName: '',
locationSid: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseList: [],
warehouseAreaList: [],
@ -118,6 +118,48 @@
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if (this.formobj.warehouseSid == '' || this.formobj.warehouseName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "请选择所属仓库"
})
return
}
if (this.formobj.locationSid == '' || this.formobj.locationSid == '') {
this.$message({
showClose: true,
type: 'warning',
message: "请选择所属库区"
})
return
}
if (this.formobj.rackName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "库位名称不能为空"
})
return
}
if (this.formobj.rackCode == '') {
this.$message({
showClose: true,
type: 'warning',
message: "库位编码不能为空"
})
return
}
req.saveGoodsShelves(this.formobj)
.then(resp => {
if (resp.success) {
@ -144,10 +186,10 @@
locationName: '',
locationSid: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
@ -194,6 +236,11 @@
flex: 0.8;
font-size: 18px;
text-align: right;
.must {
color: #f00;
}
}
.item_input {

29
yxt-as-ui/src/views/warehouse/goodsShelves/index.vue

@ -48,12 +48,11 @@
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="100">
<!-- <el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> -->
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="是否可用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-text="" inactive-text="" active-value="1"
@ -111,6 +110,13 @@
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
@ -212,6 +218,9 @@
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
@ -271,6 +280,20 @@
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
this.viewState = 3
this.$refs['divadd'].showEdit(this.selectionList[0])
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)

6
yxt-as-ui/src/views/warehouse/warehouse/index.vue

@ -37,7 +37,7 @@
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="120">
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">详情</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button> -->
@ -46,8 +46,8 @@
</el-table-column>
<el-table-column label="是否可用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-text="" inactive-text="" active-value="1"
inactive-value="2" @change="enableChange(scope.row.sid,scope.row.isEnable)" />
<el-switch v-model="scope.row.usageStatus" active-text="" inactive-text="" active-value="1"
inactive-value="0" @change="enableChange(scope.row.sid,scope.row.usageStatus)" />
</template>
</el-table-column>
<el-table-column prop="warehouseName" label="仓库名称" align="center" />

100
yxt-as-ui/src/views/warehouse/warehouse/warehouseAdd.vue

@ -15,21 +15,21 @@
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">仓库编码</div>
<el-form-item>
<div class="span-sty"><span class="must">*</span> 仓库编码</div>
<el-form-item prop="warehouseCode">
<el-input v-model="formobj.warehouseCode" placeholder="仓库编码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">仓库名称</div>
<el-form-item>
<div class="span-sty"><span class="must">*</span> 仓库名称</div>
<el-form-item prop="warehouseName">
<el-input v-model="formobj.warehouseName" placeholder="仓库名称" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
@ -39,8 +39,8 @@
<el-row>
<el-col :span="8">
<div class="span-sty">仓库类型</div>
<el-form-item>
<div class="span-sty"><span class="must">*</span> 仓库类型</div>
<el-form-item prop="warehouseTypeValue">
<el-select v-model="formobj.warehouseTypeValue" placeholder="请选择仓库类型" class="addinputw addinputInfo"
@change="selectWarehouseTypeChange">
<el-option v-for="item in warehouseTypeList" :key="item.dictKey" :label="item.dictValue"
@ -127,16 +127,16 @@
<el-row>
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item>
<div class="span-sty"><span class="must">*</span> 排序</div>
<el-form-item prop="sortNo">
<el-input v-model="formobj.sortNo" placeholder="排序" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">使用状态</div>
<el-form-item>
<div class="span-sty"><span class="must">*</span> 使用状态</div>
<el-form-item prop="usageStatus">
<el-radio-group v-model="formobj.usageStatus" size="small" @change="changeTheme"
class="addinputw addinputInfo">
<el-radio :label="'1'">正常</el-radio>
@ -198,7 +198,34 @@
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseTypeList: []
warehouseTypeList: [],
rules: {
warehouseCode: [{
required: true,
message: '仓库编码不能为空',
trigger: 'blur'
}],
warehouseName: [{
required: true,
message: '仓库名称不能为空',
trigger: 'blur'
}],
warehouseTypeValue: [{
required: true,
message: '请选择仓库类型',
trigger: 'change'
}],
sortNo: [{
required: true,
message: '排序不能为空',
trigger: 'blur'
}],
usageStatus: [{
required: true,
message: '请选择使用状态',
trigger: 'change'
}],
}
}
},
created() {
@ -230,20 +257,26 @@
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
req.saveWarehouse(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveWarehouse(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// resp.code
}
})
this.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {})
.catch(() => {})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
@ -265,10 +298,10 @@
sortNo: '',
remarks: '',
warehouseType: "0",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
@ -289,8 +322,17 @@
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
align-items: center;
}
.addinputInfo {

29
yxt-as-ui/src/views/warehouse/warehouseArea/index.vue

@ -49,12 +49,11 @@
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="100">
<!-- <el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> -->
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="是否可用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.usageStatus" active-text="" inactive-text="" active-value="0"
@ -114,6 +113,13 @@
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
@ -214,6 +220,9 @@
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
@ -315,6 +324,20 @@
}
},
toEdit() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
this.viewState = 3
this.$refs['divadd'].showEdit(this.selectionList[0])
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)

70
yxt-as-ui/src/views/warehouse/warehouseArea/warehouseAreaAdd.vue

@ -17,18 +17,18 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">选择所属仓库</span>
<span class="item_text"><span class="must">*</span> 选择所属仓库</span>
<el-select v-model="formobj.warehouseName" placeholder="请选择所属仓库" class="item_input"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" :value="item.sid" />
</el-select>
</div>
<div class="item">
<span class="item_text">库区名称</span>
<span class="item_text"><span class="must">*</span> 库区名称</span>
<el-input v-model="formobj.areaName" placeholder="库区名称" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">库区编码</span>
<span class="item_text"><span class="must">*</span> 库区编码</span>
<el-input v-model="formobj.areaCode" placeholder="库区编码" class="item_input" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</div>
@ -42,7 +42,7 @@
<el-input v-model="formobj.unit" placeholder="计量单位" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">库区类型</span>
<span class="item_text"><span class="must">*</span> 库区类型</span>
<el-select v-model="formobj.areaTypeName" placeholder="请选择库区类型" class="item_input"
@change="selectWarehouseTypeValueChange">
<el-option v-for="item in warehouseTypeList" :key="item.sid" :label="item.warehouseAreaTypeName"
@ -81,10 +81,10 @@
warehouseSid: '',
areaTypeSid: "",
areaTypeName: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseList: [],
@ -108,6 +108,46 @@
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if (this.formobj.warehouseSid == '' || this.formobj.warehouseName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "请选择所属仓库"
})
return
}
if (this.formobj.areaName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "库区名称不能为空"
})
return
}
if (this.formobj.areaCode == '') {
this.$message({
showClose: true,
type: 'warning',
message: "库区编码不能为空"
})
return
}
if (this.formobj.areaTypeSid == '' || this.formobj.areaTypeName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "请选择库区类型"
})
return
}
req.saveWarehousearea(this.formobj)
.then(resp => {
if (resp.success) {
@ -134,10 +174,10 @@
remarks: '',
areaTypeSid: "",
areaTypeName: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
useOrgSid: window.sessionStorage.getItem('departmentSid'),
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
@ -196,6 +236,12 @@
flex: 0.8;
font-size: 18px;
text-align: right;
align-items: center;
.must {
color: #f00;
}
}
.item_input {

31
yxt-as-ui/src/views/warehouse/warehouseAreaType/index.vue

@ -31,12 +31,11 @@
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="100">
<!-- <el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> -->
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="是否可用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-text="" inactive-text="" active-value="1"
@ -91,6 +90,13 @@
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
@ -150,6 +156,9 @@
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
@ -162,6 +171,9 @@
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
@ -208,6 +220,19 @@
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toEdit() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
this.viewState = 3
this.$refs['divadd'].showEdit(this.selectionList[0])
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)

27
yxt-as-ui/src/views/warehouse/warehouseAreaType/warehouseAreaTypeAdd.vue

@ -18,7 +18,7 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">库区类型名称</span>
<span class="item_text"><span class="must">*</span> 库区类型名称</span>
<el-input v-model="formobj.warehouseAreaTypeName" placeholder="库区类型名称" class="item_input" clearable />
</div>
<div class="item">
@ -55,6 +55,14 @@
methods: {
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if (this.formobj.warehouseAreaTypeName == '') {
this.$message({
showClose: true,
type: 'warning',
message: "库区类型名称不能为空"
})
return
}
req.saveWarehousearea(this.formobj)
.then(resp => {
if (resp.success) {
@ -73,12 +81,12 @@
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
warehouseAreaTypeName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
sid: '',
warehouseAreaTypeName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
@ -124,6 +132,11 @@
flex: 0.8;
font-size: 18px;
text-align: right;
.must {
color: #f00;
}
}
.item_input {

Loading…
Cancel
Save