Browse Source

完善测试遇到的问题

master
guoxing 12 months ago
parent
commit
2610537e28
  1. 17
      yxt-as-ui/src/api/goods/brand.js
  2. 13
      yxt-as-ui/src/api/goods/category.js
  3. 12
      yxt-as-ui/src/api/goods/factory.js
  4. 12
      yxt-as-ui/src/api/goods/goods.js
  5. 11
      yxt-as-ui/src/api/goods/unit.js
  6. 10
      yxt-as-ui/src/api/storage/deliveryNotice.js
  7. 2
      yxt-as-ui/src/api/storage/receivingGoods.js
  8. 12
      yxt-as-ui/src/api/warehouse/goodsShelves.js
  9. 27
      yxt-as-ui/src/api/warehouse/warehouse.js
  10. 32
      yxt-as-ui/src/api/warehouse/warehouseArea.js
  11. 14
      yxt-as-ui/src/api/warehouse/warehouseAreaType.js
  12. 1
      yxt-as-ui/src/components/uploadFile/uploadImg.vue
  13. 2
      yxt-as-ui/src/router/index.js
  14. 6
      yxt-as-ui/src/views/goods/brands/brandsAdd.vue
  15. 95
      yxt-as-ui/src/views/goods/brands/index.vue
  16. 42
      yxt-as-ui/src/views/goods/category/categoryAdd.vue
  17. 438
      yxt-as-ui/src/views/goods/category/index.vue
  18. 13
      yxt-as-ui/src/views/goods/factory/factoryAdd.vue
  19. 390
      yxt-as-ui/src/views/goods/factory/index.vue
  20. 526
      yxt-as-ui/src/views/goods/goods/goodsAdd2.vue
  21. 335
      yxt-as-ui/src/views/goods/goods/goodsInfo2.vue
  22. 179
      yxt-as-ui/src/views/goods/goods/index.vue
  23. 104
      yxt-as-ui/src/views/goods/unit/index.vue
  24. 13
      yxt-as-ui/src/views/goods/unit/unitAdd.vue
  25. 6
      yxt-as-ui/src/views/storage/deliveryNotice/index.vue
  26. 84
      yxt-as-ui/src/views/storage/deliveryNotice/receiptAdd.vue
  27. 54
      yxt-as-ui/src/views/storage/deliveryNotice/receiptInfo.vue
  28. 18
      yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue
  29. 64
      yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue
  30. 455
      yxt-as-ui/src/views/warehouse/goodsShelves/index.vue
  31. 423
      yxt-as-ui/src/views/warehouse/warehouse/index.vue
  32. 330
      yxt-as-ui/src/views/warehouse/warehouse/warehouseAdd.vue
  33. 265
      yxt-as-ui/src/views/warehouse/warehouse/warehouseInfo.vue
  34. 459
      yxt-as-ui/src/views/warehouse/warehouseArea/index.vue
  35. 10
      yxt-as-ui/src/views/warehouse/warehouseArea/warehouseAreaAdd.vue
  36. 391
      yxt-as-ui/src/views/warehouse/warehouseAreaType/index.vue
  37. 11
      yxt-as-ui/src/views/warehouse/warehouseAreaType/warehouseAreaTypeAdd.vue

17
yxt-as-ui/src/api/goods/brand.js

@ -14,7 +14,7 @@ export default {
})
},
// 类别查询
// 品牌查询
getAllBrand: function(params) {
return request({
url: '/yxtbase/apiadmin/base/basegoodsbrand/listAll',
@ -52,4 +52,19 @@ export default {
},
// 品牌-- 删除
deleteBySids: function(data) {
return request({
url: '/yxtbase/apiadmin/base/basegoodsbrand/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

13
yxt-as-ui/src/api/goods/category.js

@ -58,4 +58,17 @@ export default {
},
// 类别-- 删除
deleteBySids: function(data) {
return request({
url: '/yxtbase/apiadmin/base/basegoodstype/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

12
yxt-as-ui/src/api/goods/factory.js

@ -50,5 +50,17 @@ export default {
});
},
// 厂家-- 删除
deleteBySids: function(data) {
return request({
url: '/yxtbase/apiadmin/base/basemanufacturer/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

12
yxt-as-ui/src/api/goods/goods.js

@ -42,4 +42,16 @@ export default {
},
// 商品-- 删除
deleteBySids: function(data) {
return request({
url: '/yxtbase/apiadmin/base/basegoodsspu/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

11
yxt-as-ui/src/api/goods/unit.js

@ -51,5 +51,16 @@ export default {
});
},
// 单位-- 删除
deleteBySids: function(data) {
return request({
url: '/yxtbase/apiadmin/base/basegoodsunit/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

10
yxt-as-ui/src/api/storage/deliveryNotice.js

@ -51,4 +51,14 @@ export default {
});
},
// 选择供应商
choiceSupplier: function(params) {
return request({
url: '/pms/v1/pmssupplierinfo/choiceSupplierInfo',
method: 'post',
data: params,
})
},
}

2
yxt-as-ui/src/api/storage/receivingGoods.js

@ -67,7 +67,7 @@ export default {
// 选择供应商
choiceSupplier: function(params) {
return request({
url: '/wms/apiadmin/base/basesupplierinfo/choiceSupplierInfo',
url: '/pms/v1/pmssupplierinfo/choiceSupplierInfo',
method: 'post',
data: params,
})

12
yxt-as-ui/src/api/warehouse/goodsShelves.js

@ -44,4 +44,16 @@ export default {
},
// 库位-- 删除
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehouserack/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

27
yxt-as-ui/src/api/warehouse/warehouse.js

@ -8,7 +8,9 @@ export default {
url: '/wms/apiadmin/base/wmswarehouseinfo/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
},
@ -25,10 +27,10 @@ export default {
// 修改是否可用状态
updateIsEnable: function(sid,isEnable) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/updateStatus/'+sid+"/"+isEnable
});
updateIsEnable: function(sid, isEnable) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/updateStatus/' + sid + "/" + isEnable
});
},
@ -38,7 +40,9 @@ export default {
url: '/wms/apiadmin/base/wmswarehouseinfo/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
});
},
@ -50,5 +54,16 @@ export default {
});
},
// 仓库-- 删除
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

32
yxt-as-ui/src/api/warehouse/warehouseArea.js

@ -26,11 +26,23 @@ export default {
},
// 根据仓库sid查询库区
getAllWarehouseareaBysid: function(params) {
return request({
url: '/wms/apiadmin/base/wmswarehousearea/selectAll?ckSid='+params,
method: 'get',
headers: {
'Content-Type': 'application/json'
}
})
},
// 修改是否可用状态
updateIsEnable: function(sid,isEnable) {
return request({
url: '/wms/apiadmin/base/wmswarehousearea/updateIsEnable/'+sid+"/"+isEnable
});
updateIsEnable: function(sid, isEnable) {
return request({
url: '/wms/apiadmin/base/wmswarehousearea/updateIsEnable/' + sid + "/" + isEnable
});
},
@ -55,4 +67,16 @@ export default {
},
// 库区-- 删除
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

14
yxt-as-ui/src/api/warehouse/warehouseAreaType.js

@ -15,7 +15,7 @@ export default {
})
},
// 库查询
// 库去类型查询
getAllWarehouseareatype: function(params) {
return request({
url: '/wms/apiadmin/base/wmswarehouseareatype/listAll',
@ -55,6 +55,18 @@ export default {
});
},
// 库区类型-- 删除
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehouseareatype/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

1
yxt-as-ui/src/components/uploadFile/uploadImg.vue

@ -147,6 +147,7 @@ export default {
imgFiles.push(o.url)
})
this.$emit('fileChange', this.files)
this.$emit('change', this.files)
},
handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file))

2
yxt-as-ui/src/router/index.js

@ -171,7 +171,7 @@ export const constantRoutes = [{
path: '/unit/index',
component: () => import('@/views/goods/unit/index.vue'),
name: 'Unit',
meta: { title: '单位管理', noCache: true }
meta: { title: '计量单位', noCache: true }
}
]
},

6
yxt-as-ui/src/views/goods/brands/brandsAdd.vue

@ -88,6 +88,9 @@
remarks: '',
letter: '',
image: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
hideUploadBtn: false,
@ -140,6 +143,9 @@
remarks: '',
letter: '',
image: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},

95
yxt-as-ui/src/views/goods/brands/index.vue

@ -27,10 +27,11 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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="180">
<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> -->
@ -101,6 +102,13 @@
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
@ -117,7 +125,8 @@
name: ''
}
},
sids: []
sids: [],
selectionList: []
}
},
mounted() {
@ -127,6 +136,17 @@
this.loadList()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
@ -141,6 +161,9 @@
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
@ -200,35 +223,43 @@
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}).catch(() => {})
}
},
resetState() {
this.viewState = 1

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

@ -41,7 +41,12 @@
<el-input v-model="formobj.percentageAmount" placeholder="" class="item_input" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</div>
<div class="item">
<span class="item_text">出库规则</span>
<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>
<div class="item">
<span class="item_text">类别排序</span>
<el-input v-model="formobj.sortNo" placeholder="" class="item_input" clearable
@ -61,6 +66,9 @@
<script>
import req from '@/api/goods/category.js'
import {
typeValues
} from '@/api/Common/dictcommons.js'
export default {
components: {},
data() {
@ -72,13 +80,19 @@
goodsTypeCode: '',
percentageRate: '',
percentageAmount: '',
outStockRuleKey: '',
outStockRuleValue: '',
sids: '',
pname: '',
sortNo: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
goodsTypeList: [],
outStockRuleList: [],
}
},
created() {
@ -86,10 +100,21 @@
},
methods: {
initData() {
console.log('>>>>>>>>>initData')
console.log('>>>>>>>>>initData')
req.getAllType().then(resp => {
this.goodsTypeList = resp.data
})
var params = {
type: "goodsOutRule",
psid: '0'
}
typeValues(params).then(resp => {
console.log('>>>>>>>>>typeValues', resp)
this.outStockRuleList = resp.data
}).catch(() => {})
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
@ -116,10 +141,15 @@
goodsTypeCode: '',
percentageRate: '',
percentageAmount: '',
outStockRuleKey: '',
outStockRuleValue: '',
sids: '',
pname: '',
sortNo: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
@ -138,10 +168,16 @@
selectGoodsTypeChange(val) {
const choose = this.goodsTypeList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectGoodsTypeChange', choose)
console.log('>>>>>>>>>selectGoodsTypeChange', choose)
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', choose)
this.formobj.outStockRuleKey = choose[0].dictKey
this.formobj.outStockRuleValue = choose[0].dictValue
},
}
}
</script>

438
yxt-as-ui/src/views/goods/category/index.vue

@ -12,21 +12,27 @@
<el-form-item label="类别名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="类别编码">
<el-input v-model="queryParams.params.code" placeholder="" clearable />
</el-form-item>
<el-form-item label="是否一物一码">
<el-select v-model="queryParams.params.goodID" placeholder="请选择" class="addinputw addinputInfo"
@change="selectIsGoodIDChange">
<el-option v-for="item in isGoodIDList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="出库规则">
<el-select v-model="queryParams.params.outStockRule" placeholder="请选择" class="addinputw addinputInfo"
@change="selectOutStockRuleChange">
<el-option v-for="item in outStockRuleList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,22 +43,23 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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="180">
<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 label="是否可用" align="center" width="140">
<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)" />
</template>
</el-table-column>
<el-table-column label="是否一一码" align="center" width="140">
<el-table-column label="是否一一码" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isGoodsID" active-text="" inactive-text="" active-value="1"
inactive-value="0" @change="enableChange2(scope.row.sid,scope.row.isGoodsID)" />
@ -63,20 +70,15 @@
<el-table-column prop="pname" label="上级类别" align="center" />
<el-table-column prop="percentageRate" label="提成比例" align="center" />
<el-table-column prop="percentageAmount" label="提成金额" align="center" />
<el-table-column prop="outStockRule" label="出库规则" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -87,165 +89,233 @@
</template>
<script>
import req from '@/api/goods/category.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './categoryAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/goods/category.js'
import {
typeValues
} from '@/api/Common/dictcommons.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './categoryAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: '',
goodID: '',
outStockRule: '',
}
},
isGoodIDList: [{
sid: "0",
name: '否'
},
{
sid: "1",
name: '是'
}
],
outStockRuleList: [],
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
this.getDictValue()
},
methods: {
getDictValue() {
var params = {
type: "goodsOutRule",
psid: '0'
}
typeValues(params).then(resp => {
console.log('>>>>>>>>>typeValues', resp)
this.outStockRuleList = resp.data
}).catch(() => {})
},
selectIsGoodIDChange(val) {
},
selectOutStockRuleChange(val) {
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: '',
goodID: '',
outStockRule: '',
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doDel() {
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -278,8 +348,8 @@
console.log(e)
})
}
}
}
}
}
</script>
<style scoped>
</style>

13
yxt-as-ui/src/views/goods/factory/factoryAdd.vue

@ -26,7 +26,8 @@
</div>
<div class="item">
<span class="item_text">厂家排序</span>
<el-input v-model="formobj.sortNo" placeholder="" class="item_input" clearable />
<el-input v-model="formobj.sortNo" placeholder="" class="item_input" clearable
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</div>
<div class="item">
<span class="item_text">厂家备注</span>
@ -51,7 +52,10 @@
manufacturerName: '',
manufacturerCode: '',
sortNo: '',
remarks: ""
remarks: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
}
},
@ -82,7 +86,10 @@
manufacturerName: '',
manufacturerCode: '',
sortNo: '',
remarks: ""
remarks: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},

390
yxt-as-ui/src/views/goods/factory/index.vue

@ -15,18 +15,8 @@
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,21 +27,21 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="180">
<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 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)" />
</template>
</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)" />
</template>
</el-table-column>
<el-table-column prop="manufacturerName" label="厂家名称" align="center" />
<el-table-column prop="manufacturerCode" label="厂家编码" align="center" />
<el-table-column prop="sortNo" label="排序" align="center" />
@ -61,14 +51,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -79,165 +63,195 @@
</template>
<script>
import req from '@/api/goods/factory.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './factoryAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/goods/factory.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './factoryAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doDel() {
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -254,8 +268,8 @@
console.log(e)
})
},
}
}
}
}
</script>
<style scoped>
</style>

526
yxt-as-ui/src/views/goods/goods/goodsAdd2.vue

@ -0,0 +1,526 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>商品信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<div class="title">
<div>基础信息</div>
</div>
<el-row class="first_row">
<el-col :span="6">
<div class="span-sty">商品名称</div>
<el-form-item>
<el-input v-model="formobj.goodsName" placeholder="商品名称" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品编码</div>
<el-form-item>
<el-input v-model="formobj.goodsCode" placeholder="商品编码" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品条形码</div>
<el-form-item>
<el-input v-model="formobj.barCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo"
clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品拼音缩写</div>
<el-form-item>
<el-input v-model="formobj.goodsPY" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo"
clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品单位</div>
<el-form-item>
<el-select v-model="formobj.goodsUnitName" placeholder="请选择商品单位" class="addinputw"
@change="selectunitNameChange">
<el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品类别</div>
<el-form-item>
<el-select v-model="formobj.typeName" placeholder="请选择商品类别" class="addinputw" @change="selectCateChange">
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">规格</div>
<el-form-item>
<el-input v-model="formobj.shelfLife" placeholder="规格" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保质期()</div>
<el-form-item>
<el-input v-model="formobj.shelfLife" placeholder="保质期(天)" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品品牌</div>
<el-form-item>
<el-select v-model="formobj.brandName" placeholder="请选择商品品牌" class="addinputw"
@change="selectBrandChange">
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">商品厂家</div>
<el-form-item>
<el-select v-model="formobj.manufacturerName" placeholder="请选择商品厂家" class="addinputw"
@change="selectfacturerChange">
<el-option v-for="item in facturerList" :key="item.sid" :label="item.manufacturerName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">原厂标志</div>
<el-form-item>
<el-radio-group v-model="formobj.isListed" size="small" class="addinputw">
<el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品排序</div>
<el-form-item>
<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="18">
<div class="span-sty">商品备注</div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="商品备注" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">库存上限</div>
<el-form-item>
<el-input v-model="formobj.externalCode" placeholder="库存上限" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">库存下限</div>
<el-form-item>
<el-input v-model="formobj.nationalStandardCode" placeholder="库存下限" class="addinputw addinputInfo"
clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">锁定销售定价</div>
<el-form-item>
<el-radio-group v-model="itemInfo.isLockingSalesPrice" size="small" class="addinputw">
<el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">销售底价</div>
<el-form-item>
<el-input v-model="formobj.nationalStandardCode" placeholder="国标码" class="addinputw addinputInfo"
clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">三包价格</div>
<el-form-item>
<el-input v-model="formobj.externalCode" placeholder="外部编码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首保价格</div>
<el-form-item>
<el-input v-model="formobj.nationalStandardCode" placeholder="国标码" class="addinputw addinputInfo"
clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">规格图片</div>
<el-form-item>
<upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="imgList" :limit="50" bucket="map"
:upload-data="{ type: '0001' }" @change="backData" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/goods/goods.js'
import req2 from '@/api/goods/brand.js'
import req3 from '@/api/goods/category.js'
import req4 from '@/api/goods/factory.js'
import req5 from '@/api/goods/unit.js'
import uploadImg from '@/components/uploadFile/uploadImg'
export default {
components: {
uploadImg
},
data() {
return {
listLoading: false,
activeNames: ['1'],
imgList: [],
submitdisabled: false,
formobj: {
sid: '',
goodsName: "",
goodsCode: "",
brandSid: "",
brand: "",
goodsTypeSid: "",
typeName: "",
manufacturersid: "",
manufacturer: "",
externalCode: '',
factoryCode: '',
taxRate: '',
shelfLife: '',
baseGoodsSpuDetail: {
goodsExplain: "",
goodsDescription: ""
},
baseGoodsSkus: []
},
brandList: [],
cateList: [],
facturerList: [],
unitNameList: [],
hideUploadBtn: false,
dialogVisible: false,
dialogVisible2: false,
dialogVisible3: false,
itemInfo: {},
orderInfo: {}
}
},
created() {
this.initData()
},
methods: {
initData() {
req2.getAllBrand().then(resp => {
this.brandList = resp.data
})
req3.getAllType().then(resp => {
this.cateList = resp.data
})
req4.getAllFacturer().then(resp => {
this.facturerList = resp.data
})
req5.getAllUnit().then(resp => {
this.unitNameList = resp.data
})
},
backData(value) {
console.log('backData》》》》', value)
console.log('imgList', this.imgList)
this.itemInfo.urls = this.imgList
this.hideUploadBtn = this.imgList.length != 0
console.log('this.hideUploadBtn', this.hideUploadBtn)
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
req.saveGoods(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.imgList = []
this.hideUploadBtn = true
this.formobj = {
sid: '',
brand: "",
brandSid: "",
typeName: "",
goodsTypeSid: "",
manufacturer: "",
manufacturerSid: "",
goodsName: '',
goodsCode: '',
barcode: '',
producer: '',
unit: '',
specification: '',
remarks: '',
baseGoodsSpuDetail: {
goodsExplain: "",
goodsDescription: ""
},
baseGoodsSkus: []
}
this.$emit('doback')
},
showAdd() {
var sid = require('uuid').v1()
console.log('>>>>>>>>>showAdd', sid)
this.formobj.sid = sid
},
indexMethod(index) {
return index + 1
},
showEdit(row) {
req.initGoods(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
},
selectBrandChange(val) {
const choose = this.brandList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectBrandChange', choose)
this.formobj.brandSid = choose[0].sid
this.formobj.brandName = choose[0].brandName
},
selectCateChange(val) {
const choose = this.cateList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectCateChange', choose)
this.formobj.goodsTypeSid = choose[0].sid
this.formobj.typeName = choose[0].goodsTypeName
},
selectfacturerChange(val) {
const choose = this.facturerList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectfacturerChange', choose)
this.formobj.manufacturerSid = choose[0].sid
this.formobj.manufacturerName = choose[0].manufacturerName
},
selectunitNameChange(val) {
const choose = this.unitNameList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectunitNameChange', choose)
this.formobj.goodsUnitSid = choose[0].sid
this.formobj.goodsUnitName = choose[0].unitName
},
editGoodsSku(goodsSku) {
console.log('>>>>>>>>>editGoodsSku', goodsSku)
this.orderInfo = goodsSku
this.dialogVisible3 = true
},
showGoodsSkuDttail(goodsSkuDto) {
console.log('>>>>>>>>>showGoodsSkuDttail', goodsSkuDto)
this.dialogVisible = true
this.itemInfo = goodsSkuDto
},
editGoodsSkuDttail(goodsSkuDto) {
console.log('>>>>>>>>>editGoodsSkuDttail', goodsSkuDto)
this.dialogVisible2 = true
this.itemInfo = goodsSkuDto
this.imgList = goodsSkuDto.urls
},
handleClose() {
this.dialogVisible = false
},
handleClose2() {
this.dialogVisible2 = false
},
handleClose3() {
this.dialogVisible3 = false
},
saveGoodsSku() {
console.log('>>>>>>>>>saveGoodsSkuDttail', this.orderInfo)
if (this.orderInfo.sid == '') {
this.orderInfo.sid = require('uuid').v1()
this.orderInfo.goodsSpuSid = this.formobj.sid
this.orderInfo.isEnable = '1'
var detail = {
sid: require('uuid').v1(),
isEnable: '1',
goodsSkuSid: this.orderInfo.sid,
finalPurchasePrice: "",
safetyStockDays: "",
isOriginalFactory: "",
isInventoryAlert: "",
inventoryAlertUpperLimit: "",
inventoryAlertLowerLimit: "",
costPrice: "",
tagPrice: "",
salesPrice: "",
standardPurchasePrice: "",
agencyPrice: "",
discount: "",
minimumSalesPrice: "",
isLockingSalesPrice: "",
isIntegralExchange: "",
integralAmount: "",
urls: [],
}
this.orderInfo.baseGoodsSkuExtend = detail
this.formobj.baseGoodsSkus.push(this.orderInfo)
} else {
var index = this.formobj.baseGoodsSkus.findIndex((item) => item.sid == this.orderInfo.sid)
if (index > -1) {
this.formobj.baseGoodsSkus[index].goodsSkuCode = this.orderInfo.goodsSkuCode
this.formobj.baseGoodsSkus[index].title = this.orderInfo.title
this.formobj.baseGoodsSkus[index].externalCode = this.orderInfo.externalCode
}
}
this.dialogVisible3 = false
},
saveGoodsSkuDttail() {
this.itemInfo.urls = this.imgList
console.log('>>>>>>>>>saveGoodsSkuDttail', this.itemInfo)
var index = this.formobj.baseGoodsSkus.findIndex((item) => item.baseGoodsSkuExtend.sid == this.itemInfo.sid)
console.log('>>>>>>>>>saveGoodsSkuDttail', index)
this.formobj.baseGoodsSkus[index].baseGoodsSkuExtend = this.itemInfo
console.log('>>>>>>>>>saveGoodsSkuDttail', this.formobj.baseGoodsSkus[index].baseGoodsSkuExtend)
this.dialogVisible2 = false
},
addGoodsSku() {
this.dialogVisible3 = true
this.orderInfo = {
sid: ''
}
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

335
yxt-as-ui/src/views/goods/goods/goodsInfo2.vue

@ -0,0 +1,335 @@
template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>商品信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<div class="title">
<div>基础信息</div>
</div>
<el-row class="first_row">
<el-col :span="6">
<div class="span-sty">商品名称</div>
<el-form-item>
<span class="addinputInfo">{{formobj.goodsName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品编码</div>
<el-form-item>
<span class="addinputInfo">{{formobj.goodsCode}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品条形码</div>
<el-form-item>
<span class="addinputInfo">{{formobj.barCode}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品拼音缩写</div>
<el-form-item>
<span class="addinputInfo">{{formobj.goodsPY}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品单位</div>
<el-form-item>
<span class="addinputInfo">{{formobj.goodsUnitName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">商品类别</div>
<el-form-item>
<span class="addinputInfo">{{formobj.typeName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">规格</div>
<el-form-item>
<span class="addinputInfo">{{formobj.shelfLife}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保质期()</div>
<el-form-item>
<span class="addinputInfo">{{formobj.shelfLife}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品品牌</div>
<el-form-item>
<span class="addinputInfo">{{formobj.brandName}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">商品厂家</div>
<el-form-item>
<span class="addinputInfo">{{formobj.manufacturerName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">原厂标志</div>
<el-form-item>
<el-radio-group v-model="formobj.isListed" :disabled="true" size="small" class="addinputw">
<el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">商品排序</div>
<el-form-item>
<span class="addinputInfo">{{formobj.sortNo}}</span>
</el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">商品备注</div>
<el-form-item>
<span class="addinputInfo">{{formobj.remarks}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">库存上限</div>
<el-form-item>
<span class="addinputInfo">{{formobj.externalCode}}</span>
</el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">库存下限</div>
<el-form-item>
<span class="addinputInfo">{{formobj.nationalStandardCode}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">锁定销售定价</div>
<el-form-item>
<el-radio-group v-model="itemInfo.isLockingSalesPrice" :disabled="true" size="small" class="addinputw">
<el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">销售底价</div>
<el-form-item>
<span class="addinputInfo">{{formobj.nationalStandardCode}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">三包价格</div>
<el-form-item>
<span class="addinputInfo">{{formobj.externalCode}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首保价格</div>
<el-form-item>
<span class="addinputInfo">{{formobj.nationalStandardCode}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">规格图片</div>
<el-form-item>
<template slot-scope="scope">
<span v-for="(item,index) in itemInfo.urls" :key="index" class="addinputInfo">
<el-popover placement="left" trigger="click" width="300">
<img :src="item.url" width="100%" />
<img slot="reference" :src="item.url" :alt="item.url"
style="max-height: 70px;max-width: 70px; padding: 5px" />
</el-popover>
</span>
</template>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/goods/goods.js'
export default {
data() {
return {
listLoading: false,
activeNames: ['1'],
imgList: [],
submitdisabled: false,
formobj: {
sid: '',
goodsName: "",
goodsCode: "",
brandSid: "",
brand: "",
goodsTypeSid: "",
typeName: "",
manufacturersid: "",
manufacturer: "",
externalCode: '',
factoryCode: '',
taxRate: '',
shelfLife: '',
baseGoodsSpuDetail: {
goodsExplain: "",
goodsDescription: ""
},
baseGoodsSkuDtos: []
},
hideUploadBtn: false,
dialogVisible: false,
dialogVisible2: false,
itemInfo: {},
orderInfo: {}
}
},
created() {},
methods: {
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.imgList = []
this.hideUploadBtn = true
this.formobj = {
sid: '',
brand: "",
brandSid: "",
typeName: "",
goodsTypeSid: "",
manufacturer: "",
manufacturerSid: "",
goodsName: '',
goodsCode: '',
barcode: '',
producer: '',
unit: '',
specification: '',
remarks: '',
baseGoodsSpuDetail: {
goodsExplain: "",
goodsDescription: ""
},
baseGoodsSku: []
}
this.$emit('doback')
},
showAdd() {},
indexMethod(index) {
return index + 1
},
showEdit(row) {
req.initGoods(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
},
showGoodsSkuDttail(goodsSkuDto) {
console.log('>>>>>>>>>showGoodsSkuDttail', goodsSkuDto)
this.dialogVisible = true
this.itemInfo = goodsSkuDto
},
handleClose() {
this.dialogVisible = false
},
handleClose2() {
this.dialogVisible2 = false
},
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

179
yxt-as-ui/src/views/goods/goods/index.vue

@ -9,9 +9,37 @@
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="部门">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品编码">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="拼音缩写">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品类别">
<el-select v-model="queryParams.params.goodsTypeSid" placeholder="请选择" class="addinputw addinputInfo">
<el-option v-for="item in goodsTypeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="品牌">
<el-select v-model="queryParams.params.brandSid" placeholder="请选择" class="addinputw addinputInfo">
<el-option v-for="item in brandList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="厂家">
<el-select v-model="queryParams.params.facturerSid" placeholder="请选择" class="addinputw addinputInfo">
<el-option v-for="item in facturerList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -29,29 +57,43 @@
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="selectionLineChangeHandle">
<el-table-column width="50" type="selection" align="center" />
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="80">
<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 fixed 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 label="是否可用" align="center" width="140">
<!-- <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)" />
</template>
</el-table-column> -->
<el-table-column fixed prop="goodsName" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsCode" label="商品编码" width="120" align="center" />
<el-table-column prop="goodsCode" label="拼音缩写" width="100" align="center" />
<el-table-column prop="barCode" label="商品条码" width="100" align="center" />
<el-table-column prop="barCode" label="计量单位" width="100" align="center" />
<el-table-column prop="typeName" label="商品类别" width="100" align="center" />
<el-table-column prop="typeName" label="规格" width="100" align="center" />
<el-table-column prop="typeName" label="保质期(天)" width="100" align="center" />
<el-table-column prop="goodsUnitName" label="品牌" width="100" align="center" />
<el-table-column prop="manufacturerName" label="厂家" width="120" align="center" />
<el-table-column prop="nationalStandardCode" label="原厂标志" width="100" align="center" />
<el-table-column prop="taxRate" label="库存上限" width="100" align="center" />
<el-table-column prop="taxRate" label="库存下限" width="100" align="center" />
<el-table-column prop="taxRate" label="锁定销售价" width="100" align="center" />
<el-table-column prop="taxRate" label="销售底价" width="100" align="center" />
<el-table-column prop="taxRate" label="三包价格" width="100" align="center" />
<el-table-column prop="taxRate" label="首保价格" width="100" align="center" />
<el-table-column label="商品图片" align="center" width="100">
<template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ;" @click="showImage(scope.row.filePaths)">查看
</div>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="商品名称" align="center" />
<el-table-column prop="goodsCode" label="商品编码" align="center" />
<el-table-column prop="barCode" label="商品条码" align="center" />
<el-table-column prop="brandName" label="商品品牌" align="center" />
<el-table-column prop="typeName" label="商品类别" align="center" />
<el-table-column prop="goodsUnitName" label="商品单位" align="center" />
<el-table-column prop="manufacturerName" label="商品厂家" align="center" />
<el-table-column prop="nationalStandardCode" label="国标码" align="center" />
<el-table-column prop="taxRate" label="税率" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
@ -67,18 +109,21 @@
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<!-- 详情部分组件 -->
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" />
</div>
</template>
<script>
import req from '@/api/goods/goods.js'
import req2 from '@/api/goods/brands.js'
import req3 from '@/api/goods/category.js'
import req4 from '@/api/goods/factory.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './goodsAdd.vue'
import divInfo from './goodsInfo.vue'
import divAdd from './goodsAdd2.vue'
import divInfo from './goodsInfo2.vue'
export default {
components: {
ButtonBar,
@ -110,6 +155,13 @@
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
@ -127,7 +179,10 @@
}
},
sids: [],
selectionList: []
selectionList: [],
brandList: [],
goodsTypeList: [],
facturerList: []
}
},
mounted() {
@ -135,8 +190,29 @@
},
created() {
this.loadList()
this.initData()
},
methods: {
initData() {
//
req2.getAllBrand().then(resp => {
console.log('>>>>>>>>>getAllBrand', resp)
this.brandList = resp.data
}).catch(() => {})
//
req3.getAllType().then(resp => {
console.log('>>>>>>>>>getAllType', resp)
this.goodsTypeList = resp.data
}).catch(() => {})
//
req4.getAllFacturer().then(resp => {
console.log('>>>>>>>>>getAllFacturer', resp)
this.facturerList = resp.data
}).catch(() => {})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
@ -154,6 +230,9 @@
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
@ -212,7 +291,7 @@
},
toEdit() {
if(this.selectionList.length!=1){
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
@ -233,35 +312,43 @@
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}).catch(() => {})
}
},
resetState() {
this.viewState = 1

104
yxt-as-ui/src/views/goods/unit/index.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="单位列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="计量单位" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -9,7 +9,7 @@
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="单位名称">
<el-form-item label="计量单位名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
@ -22,15 +22,15 @@
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">单位列表</div>
<div class="tit">计量单位列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="selectionLineChangeHandle">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="180">
<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> -->
@ -42,8 +42,8 @@
inactive-value="2" @change="enableChange(scope.row.sid,scope.row.isEnable)" />
</template>
</el-table-column>
<el-table-column prop="unitName" label="单位名称" align="center" />
<el-table-column prop="remarks" label="单位备注" align="center" />
<el-table-column prop="unitName" label="计量单位名称" align="center" />
<el-table-column prop="remarks" label="计量单位备注" align="center" />
</el-table>
</div>
@ -90,6 +90,13 @@
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
@ -106,7 +113,8 @@
name: ''
}
},
sids: []
sids: [],
selectionList: []
}
},
mounted() {
@ -116,6 +124,17 @@
this.loadList()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
@ -130,6 +149,9 @@
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
@ -189,35 +211,43 @@
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}).catch(() => {})
}
},
resetState() {
this.viewState = 1

13
yxt-as-ui/src/views/goods/unit/unitAdd.vue

@ -3,7 +3,7 @@
<div class="tab-header webtop">
<!-- 标题 -->
<div>单位信息</div>
<div>计量单位信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
@ -17,11 +17,11 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">单位名称</span>
<span class="item_text">计量单位名称</span>
<el-input v-model="formobj.unitName" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">单位备注</span>
<span class="item_text">计量单位备注</span>
<el-input v-model="formobj.remarks" placeholder="" class="item_input" clearable />
</div>
<!-- <div class="item">
@ -69,7 +69,9 @@
sid: '',
unitName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
}
},
@ -101,6 +103,9 @@
sid: '',
unitName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},

6
yxt-as-ui/src/views/storage/deliveryNotice/index.vue

@ -20,7 +20,7 @@
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
<el-form-item label="外部号">
<el-form-item label="外部号">
<el-input v-model="queryParams.params.sourceBillNo" placeholder="" clearable />
</el-form-item>
<el-form-item label="业务类型">
@ -32,7 +32,7 @@
<el-form-item label="供应商">
<el-input v-model="queryParams.params.supplierName" placeholder="" clearable />
</el-form-item>
<el-form-item label="预到货日期">
<el-form-item label="预到货日期">
<el-date-picker v-model="queryParams.params.deliveryDateStart"type="date"
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
@ -83,7 +83,7 @@
<el-table-column prop="busTypeValue" label="业务类型" align="center" width="150"/>
<el-table-column prop="supplierName" label="供应商" align="center" width="150"/>
<el-table-column prop="contact" label="联系人" align="center" width="150"/>
<el-table-column prop="mobile" label="联系人手机" align="center" width="150"/>
<el-table-column prop="mobile" label="联系人电话" align="center" width="150"/>
<el-table-column prop="deliveryDate" label="预计到货日期" align="center" width="150"/>
<el-table-column prop="billState" label="单据状态" align="center" width="150" />
<el-table-column prop="reviewStatus" label="审核状态" align="center" width="150"/>

84
yxt-as-ui/src/views/storage/deliveryNotice/receiptAdd.vue

@ -21,46 +21,48 @@
<div>基础信息</div>
</div>
<el-row>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">单据编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">制单人姓名</div>
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">外部单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">来源单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">业务类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">供应商</div>
<el-select v-model="scope.row.supplierName" placeholder="请选择" clearable @change="selectSupplierName">
<el-option v-for="(item,i) in supplierNameList" :key="i" :label="item.warehouseName" :value="item.sid">
</el-option>
</el-select>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">到货日期</div>
<el-form-item> <el-date-picker v-model="formobj.deliveryDate" type="date" class="addinputInfo"
value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="16">
<div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col>
@ -76,7 +78,7 @@
<div class="title titleOne">
<div>商品列表</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">批次收货</el-button>
<!-- <el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">批次收货</el-button> -->
</div>
<el-table v-loading="listLoading" :data="formobj.list" border style="width: 100%;">
<el-table-column fixed width="50" type="selection" align="center" />
@ -84,14 +86,14 @@
<el-table-column fixed label="操作" wid align="center" width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="doGoods(scope.row)">删除</el-button>
<el-button type="primary" size="mini" @click="doAddBatch(scope.row)">批次+</el-button>
<!-- <el-button type="primary" size="mini" @click="doAddBatch(scope.row)">批次+</el-button> -->
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsSkuTitle" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<el-table-column label="仓库" align="center" width="180">
<!-- <el-table-column label="仓库" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable
@change="selectWarehouseName(scope.row,$event)">
@ -109,7 +111,7 @@
</el-option>
</el-select>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="预约数量" prop="orderCount" align="center" width="120" />
<el-table-column label="实收数量" align="center" width="120">
<template slot-scope="scope">
@ -151,14 +153,14 @@
<el-input ref="focusAssumptionInput" v-model="scope.row.packageRemark" clearable placeholder="" />
</template>
</el-table-column>
<el-table-column label="入库价" prop="cost" align="center" width="100" />
<el-table-column label="税" prop="taxAmount" align="center" width="100" />
<el-table-column label="含税单价" prop="taxPrice" align="center" width="100" />
<el-table-column label="入库金额" prop="amount" align="center" width="100" />
<el-table-column label="入库价" prop="cost" align="center" width="100" />
<el-table-column label="税" prop="taxAmount" align="center" width="100" />
<!-- <el-table-column label="含税单价" prop="taxPrice" align="center" width="100" /> -->
<el-table-column label="入库金额" prop="amount" align="center" width="100" />
</el-table>
<div class="title">
<!-- <div class="title">
<div>商品-批次</div>
</div>
<el-table v-loading="listLoading" :data="formobj.pcList" border style="width: 100%;">
@ -178,8 +180,8 @@
<el-table-column label="批次号" prop="batchNumber" align="center" width="300" />
<el-table-column label="生产日期" align="center" width="180">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.manufactureDate" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期" @change="manufactureDateChange(scope.row,$event)" />
<el-date-picker v-model="scope.row.manufactureDate" type="date" value-format="yyyy-MM-dd"
placeholder="选择日期" @change="manufactureDateChange(scope.row,$event)" />
</template>
</el-table-column>
<el-table-column label="有效期" prop="expirationDate" align="center" width="180" />
@ -189,7 +191,7 @@
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
</el-table> -->
</el-form>
@ -228,12 +230,34 @@
},
hideUploadBtn: false,
warehouseList: [],
warehouseRackList: []
warehouseRackList: [],
supplierNameList: []
}
},
created() {},
methods: {
supplierNameSelect(val) {
console.log("supplierNameSelect", val);
const choose = this.supplierNameList.filter((item) => item.sid == val)
console.log('>>>>>>>>>supplierNameSelect', choose)
this.formobj.supplierName = choose[0].supplierName
this.formobj.supplierSid = choose[0].sid
},
getsupplierLust() {
var params = {
createOrgSid: window.sessionStorage.getItem('orgSid'),
}
req.choiceSupplier(params).then((res) => {
if (res.success) {
this.supplierNameList = res.data
console.log("aaaaaa", this.supplierNameList);
}
})
},
getWarehouseList() {
req2.getWarehouses().then((res) => {
if (res.success) {
@ -624,8 +648,9 @@
},
showEdit(row) {
this.getWarehouseList()
this.getsupplierLust()
var params = {
sid: row.sid
sourceSid: row.sid
}
req.getInitDetails(params)
@ -654,6 +679,7 @@
margin-left: 120px !important;
width: calc(100% - 115px);
}
.titleOne {
padding: 7px;
display: flex;

54
yxt-as-ui/src/views/storage/deliveryNotice/receiptInfo.vue

@ -20,37 +20,31 @@
</div>
<el-row>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">单据编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">制单人姓名</div>
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">外部单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">外部单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">业务类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item>
</el-col>
@ -59,24 +53,23 @@
<el-row>
<el-col :span="12">
<div class="span-sty">到货日期</div>
<el-col :span="8">
<div class="span-sty">预期到货日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.deliveryDate }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">审核状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.reviewStatus }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">审核状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.reviewStatus }}</span></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<div class="span-sty">拒绝原因</div>
<el-form-item><span class="addinputInfo">{{ formobj.refuseReason }}</span></el-form-item>
</el-col>
@ -92,14 +85,14 @@
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<el-table-column label="仓库" prop="warehouseName" align="center" width="120" />
<el-table-column label="库位" prop="warehouseRack" align="center" width="120" />
<!-- <el-table-column label="仓库" prop="warehouseName" align="center" width="120" />
<el-table-column label="库位" prop="warehouseRack" align="center" width="120" /> -->
<el-table-column label="预约数量" prop="orderCount" align="center" width="120" />
<el-table-column label="待收货数量" prop="waitInCount" align="center" width="120" />
<el-table-column label="已收货数量" prop="actualInCount" align="center" width="100" />
<el-table-column label="入库价" prop="cost" align="center" width="100" />
<el-table-column label="税" prop="taxAmount" align="center" width="100" />
<el-table-column label="含税单价" prop="taxPrice" align="center" width="100" />
<el-table-column label="入库价" prop="cost" align="center" width="100" />
<el-table-column label="税" prop="taxAmount" align="center" width="100" />
<!-- <el-table-column label="含税单价" prop="taxPrice" align="center" width="100" /> -->
<el-table-column label="采购金额" prop="amount" align="center" width="100" />
</el-table>
@ -167,6 +160,7 @@
margin-left: 120px !important;
width: calc(100% - 115px);
}
.titleOne {
padding: 7px;
display: flex;

18
yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue

@ -93,7 +93,7 @@
<div class="title titleOne">
<div>商品列表</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">批次收货</el-button>
<!-- <el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">批次收货</el-button> -->
</div>
<el-table v-loading="listLoading" :data="formobj.list" border style="width: 100%;" ref="dataTable">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
@ -105,7 +105,7 @@
</template>
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="doGoods(scope.row)">删除</el-button>
<el-button type="primary" size="mini" @click="doAddBatch(scope.row)">批次+</el-button>
<!-- <el-button type="primary" size="mini" @click="doAddBatch(scope.row)">批次+</el-button> -->
<!-- <i v-if="!isUpdata" class="el-icon-delete" @click="commodityDelete(scope.$index)"></i> -->
</template>
</el-table-column>
@ -136,7 +136,7 @@
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<el-table-column label="仓库" align="center" width="180">
<!-- <el-table-column label="仓库" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable
@change="selectWarehouseName(scope.row,$event)">
@ -154,7 +154,7 @@
</el-option>
</el-select>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="预约数量" prop="orderCount" align="center" width="120" v-if="isUpdata" />
<el-table-column label="实收数量" align="center" width="120">
<template slot-scope="scope">
@ -216,7 +216,7 @@
</el-table>
<div class="title"
<!-- <div class="title"
style="display: flex;align-items: center;justify-content: space-between;height:40px;margin-top: 10px;">
<div>商品-批次</div>
</div>
@ -249,7 +249,7 @@
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
</el-table> -->
</el-form>
@ -809,9 +809,9 @@
},
getsupplierLust() {
var params = {
createOrgSid: ""
}
var params = {
createOrgSid: window.sessionStorage.getItem('orgSid'),
}
req.choiceSupplier(params).then((res) => {
if (res.success) {
this.supplierList = res.data

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

@ -69,6 +69,9 @@
locationName: '',
locationSid: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseList: [],
@ -79,16 +82,38 @@
this.initData()
},
methods: {
initData() {
req2.getAllWarehouse().then(resp => {
this.warehouseList = resp.data
})
},
req3.getAllWarehousearea().then(resp => {
getWarehouseArea(sid) {
this.formobj.locationSid = ''
this.formobj.locationName = ''
req3.getAllWarehouseareaBysid(sid).then(resp => {
console.log('>>>>>>>>>getAllWarehousearea', resp)
this.warehouseAreaList = resp.data
})
}).catch(() => {})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseChange', choose)
this.formobj.warehouseSid = choose[0].sid
this.formobj.warehouseName = choose[0].warehouseName
this.getWarehouseArea(choose[0].sid)
},
selectWarehouseAreaChange(val) {
const choose = this.warehouseAreaList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaChange', choose)
this.formobj.locationSid = choose[0].sid
this.formobj.locationName = choose[0].areaName
},
saveOrUpdate() {
@ -111,19 +136,21 @@
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
rackName: '',
rackCode: '',
warehouseName: '',
warehouseSid: '',
locationName: '',
locationSid: '',
remarks: '',
sid: '',
rackName: '',
rackCode: '',
warehouseName: '',
warehouseSid: '',
locationName: '',
locationSid: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
showAdd() {
},
showAdd() {},
showEdit(row) {
req.initGoodsShelves(row.sid)
.then(resp => {
@ -135,18 +162,7 @@
this.formobj = row
})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseChange', choose)
this.formobj.warehouseSid = choose[0].sid
this.formobj.warehouseName = choose[0].warehouseName
},
selectWarehouseAreaChange(val) {
const choose = this.warehouseAreaList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaChange', choose)
this.formobj.locationSid = choose[0].sid
this.formobj.locationName = choose[0].areaName
},
}
}
</script>

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

@ -12,21 +12,28 @@
<el-form-item label="库位名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="库位编码">
<el-input v-model="queryParams.params.code" placeholder="" clearable />
</el-form-item>
<el-form-item label="所属仓库">
<el-select v-model="queryParams.params.warehouseName" placeholder="所属仓库" class="addinputw addinputInfo"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
:value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="所属库区">
<el-select v-model="queryParams.params.warehouseAreaName" placeholder="所属库区"
class="addinputw addinputInfo" @change="selectWrehouseAreaChange">
<el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,21 +44,22 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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="180">
<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 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)" />
</template>
</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)" />
</template>
</el-table-column>
<el-table-column prop="rackName" label="库位名称" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="warehouseName" label="所属仓库" align="center" />
@ -62,14 +70,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -80,165 +82,242 @@
</template>
<script>
import req from '@/api/warehouse/goodsShelves.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './goodsShelvesAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/warehouse/goodsShelves.js'
import req2 from '@/api/warehouse/warehouse.js'
import req3 from '@/api/warehouse/warehouseArea.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './goodsShelvesAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
caode: '',
areaTypeSid: '',
warehouseAreaName: '',
warehouseSid: '',
warehouseName: '',
}
},
warehouseList: [],
warehouseAreaList: [],
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
this.getwarehouse()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
this.selectionList = val
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
getwarehouse() {
req2.getAllWarehouse().then(resp => {
console.log('>>>>>>>>>getAllWarehouse', resp)
this.warehouseList = resp.data
}).catch(() => {})
},
getWarehouseArea(sid) {
this.queryParams.params.areaTypeSid = ''
this.queryParams.params.warehouseAreaName = ''
req3.getAllWarehouseareaBysid(sid).then(resp => {
console.log('>>>>>>>>>getAllWarehousearea', resp)
this.warehouseAreaList = resp.data
}).catch(() => {})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.queryParams.params.warehouseSid = choose[0].sid
this.queryParams.params.warehouseName = choose[0].warehouseName
this.getWarehouseArea(choose[0].sid)
},
selectWrehouseAreaChange(val) {
const choose = this.warehouseAreaList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.queryParams.params.areaTypeSid = choose[0].sid
this.queryParams.params.warehouseAreaName = choose[0].areaName
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
areaTypeSid: '',
warehouseAreaName: '',
warehouseSid: '',
warehouseName: '',
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -255,8 +334,8 @@
console.log(e)
})
},
}
}
}
}
</script>
<style scoped>
</style>

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

@ -12,21 +12,17 @@
<el-form-item label="仓库名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="仓库编码">
<el-input v-model="queryParams.params.code" placeholder="" clearable />
</el-form-item>
<el-form-item label="仓库地址">
<el-input v-model="queryParams.params.address" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,12 +33,14 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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">
<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>
<!-- <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>
@ -57,7 +55,7 @@
<el-table-column prop="manager" label="仓库主管" align="center" />
<el-table-column prop="telephone" label="联系电话" align="center" />
<el-table-column prop="squareMeter" label="占地面积" align="center" />
<el-table-column prop="address" label="仓库地址" align="center" />
<el-table-column prop="address" label="仓库地址" align="center" />
<el-table-column prop="sortNo" label="排序" align="center" />
</el-table>
</div>
@ -65,183 +63,242 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" />
</div>
</template>
<script>
import req from '@/api/warehouse/warehouse.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/warehouse/warehouse.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAdd.vue'
import divInfo from './warehouseInfo.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: "",
address: ""
}
},
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
this.selectionList = val
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: "",
address: ""
}
}
this.loadList()
},
toAdd() {
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)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -258,8 +315,8 @@
console.log(e)
})
},
}
}
}
}
</script>
<style scoped>
</style>

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

@ -15,67 +15,150 @@
<div class="listconadd">
<el-card class="box-card">
<div class="item">
<span class="item_text">仓库名称</span>
<el-input v-model="formobj.warehouseName" placeholder="仓库名称" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">仓库编码</span>
<el-input v-model="formobj.warehouseCode" placeholder="仓库编码" class="item_input" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</div>
<div class="item">
<span class="item_text">仓库联系人</span>
<el-input v-model="formobj.contacts" placeholder="仓库联系人" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">手机号码</span>
<el-input v-model="formobj.mob" placeholder="手机号码" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">仓库主管</span>
<el-input v-model="formobj.manager" placeholder="仓库主管" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">联系电话</span>
<el-input v-model="formobj.telephone" placeholder="联系电话" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">占地面积</span>
<el-input v-model="formobj.squareMeter" placeholder="占地面积" class="item_input" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</div>
<div class="item">
<span class="item_text">仓库经度</span>
<el-input v-model="formobj.longitude" placeholder="仓库经度" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">仓库纬度</span>
<el-input v-model="formobj.latitude" placeholder="仓库纬度" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">具体地址</span>
<el-input v-model="formobj.address" placeholder="具体地址" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">使用状态</span>
<el-radio-group v-model="formobj.usageStatus" size="small" @change="changeTheme" class="item_input">
<el-radio :label="1">正常</el-radio>
<el-radio :label="0">停用</el-radio>
</el-radio-group>
<!-- <el-input v-model="formobj.usageStatus" placeholder="仓库排序" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">仓库排序</span>
<el-input v-model="formobj.sortNo" placeholder="仓库排序" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">仓库备注</span>
<el-input v-model="formobj.remarks" placeholder="具体地址" class="item_input" clearable />
</div>
</el-card>
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">仓库编码</div>
<el-form-item>
<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>
<el-input v-model="formobj.warehouseName" placeholder="仓库名称" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">仓库类型</div>
<el-form-item>
<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"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库面积</div>
<el-form-item>
<el-input v-model="formobj.squareMeter" placeholder="仓库面积" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库管理员</div>
<el-form-item>
<el-input v-model="formobj.manager" placeholder="仓库管理员" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">仓库地址</div>
<el-form-item>
<el-input v-model="formobj.address" placeholder="仓库地址" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">经度</div>
<el-form-item>
<el-input v-model="formobj.longitude" placeholder="经度" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">纬度</div>
<el-form-item>
<el-input v-model="formobj.latitude" placeholder="纬度" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">联系人</div>
<el-form-item>
<el-input v-model="formobj.contacts" placeholder="联系人" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item>
<el-input v-model="formobj.mob" maxlength="11" placeholder="手机号码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item>
<el-input v-model="formobj.telephone" placeholder="联系电话" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item>
<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>
<el-radio-group v-model="formobj.usageStatus" size="small" @change="changeTheme"
class="addinputw addinputInfo">
<el-radio :label="'1'">正常</el-radio>
<el-radio :label="'0'">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
@ -84,6 +167,9 @@
<script>
import req from '@/api/warehouse/warehouse.js'
import {
typeValues
} from '@/api/Common/dictcommons.js'
export default {
components: {},
data() {
@ -93,6 +179,8 @@
sid: '',
warehouseName: '',
warehouseCode: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
contacts: "",
mob: "",
telephone: "",
@ -104,14 +192,40 @@
squareMeter: '',
sortNo: '',
remarks: '',
warehouseType: "0"
warehouseType: "0",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseTypeList: []
}
},
created() {},
created() {
this.getDictValue()
},
methods: {
changeTheme(val) {
},
getDictValue() {
var params = {
type: "warehouse",
psid: '0'
}
typeValues(params).then(resp => {
console.log('>>>>>>>>>typeValues', resp)
this.warehouseTypeList = resp.data
}).catch(() => {})
},
selectWarehouseTypeChange(val) {
const choose = this.warehouseTypeList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.formobj.warehouseTypeKey = choose[0].dictKey
this.formobj.warehouseTypeValue = choose[0].dictValue
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
@ -136,6 +250,8 @@
sid: '',
warehouseName: '',
warehouseCode: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
contacts: "",
mob: "",
telephone: "",
@ -147,7 +263,10 @@
squareMeter: '',
sortNo: '',
remarks: '',
warehouseType: "0"
warehouseType: "0",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},
@ -167,74 +286,29 @@
}
}
</script>
<style lang="scss" scoped>
//
::v-deep .hide {
.el-upload--picture-card {
display: none !important;
}
<style scoped>
.span-sty {
width: 130px !important;
}
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.item {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 15px;
height: 40px;
line-height: 40px;
.item_text {
flex: 0.8;
font-size: 18px;
text-align: right;
}
.item_input {
flex: 4;
font-size: 16px;
margin-left: 10px;
margin-right: 80px;
}
.item_left_input {
width: 20%;
}
.item_left_text {
height: 30px;
margin-left: 20px;
line-height: 30px;
color: #018AD2;
padding: 0px 15px;
border: 1.5px solid #018AD2;
border-radius: 5px;
}
.item_right {
flex: 1;
justify-items: center;
.item_right_list_text {
font-size: 16px;
}
.addinputInfo {
margin-left: 120px !important;
}
.item_right_list_delect {
color: #5E94FF;
margin-left: 20px;
font-size: 16px;
text-decoration: underline;
}
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

265
yxt-as-ui/src/views/warehouse/warehouse/warehouseInfo.vue

@ -0,0 +1,265 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>仓库信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">仓库编码</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseCode}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">仓库名称</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseName}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<div class="span-sty">仓库类型</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseTypeValue}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库面积</div>
<el-form-item>
<span class="addinputInfo">{{formobj.squareMeter}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库管理员</div>
<el-form-item>
<span class="addinputInfo">{{formobj.manager}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="24">
<div class="span-sty">仓库地址</div>
<el-form-item>
<span class="addinputInfo">{{formobj.address}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<div class="span-sty">经度</div>
<el-form-item>
<span class="addinputInfo">{{formobj.longitude}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">纬度</div>
<el-form-item>
<span class="addinputInfo">{{formobj.latitude}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<div class="span-sty">联系人</div>
<el-form-item>
<span class="addinputInfo">{{formobj.contacts}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item>
<span class="addinputInfo">{{formobj.mob}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item>
<span class="addinputInfo">{{formobj.telephone}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item>
<span class="addinputInfo">{{formobj.sortNo}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">使用状态</div>
<el-form-item>
<el-radio-group v-model="formobj.usageStatus" size="small" :disabled='true' class="addinputw addinputInfo">
<el-radio :label="'1'">正常</el-radio>
<el-radio :label="'0'">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<span class="addinputInfo">{{formobj.remarks}}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/warehouse/warehouse.js'
export default {
components: {},
data() {
return {
submitdisabled: false,
formobj: {
sid: '',
warehouseName: '',
warehouseCode: '',
contacts: "",
mob: "",
telephone: "",
manager: '',
longitude: '',
latitude: '',
usageStatus: "",
address: '',
squareMeter: '',
sortNo: '',
remarks: '',
warehouseType: "0"
},
}
},
created() {},
methods: {
changeTheme(val) {
},
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.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
warehouseName: '',
warehouseCode: '',
contacts: "",
mob: "",
telephone: "",
manager: '',
longitude: '',
latitude: '',
usageStatus: "",
address: '',
squareMeter: '',
sortNo: '',
remarks: '',
warehouseType: "0"
}
this.$emit('doback')
},
showAdd() {},
showEdit(row) {
req.initWarehouse(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
},
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

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

@ -12,21 +12,29 @@
<el-form-item label="库区名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="库区编码">
<el-input v-model="queryParams.params.code" placeholder="" clearable />
</el-form-item>
<el-form-item label="库区类型">
<el-select v-model="queryParams.params.warehouseAreaTypeName" placeholder="库区类型"
class="addinputw addinputInfo" @change="selectWrehouseAreaTypeChange">
<el-option v-for="item in warehouseAreaTypeLsit" :key="item.sid" :label="item.warehouseAreaTypeName"
:value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="所属仓库">
<el-select v-model="queryParams.params.warehouseName" placeholder="所属仓库" class="addinputw addinputInfo"
@change="selectWarehouseChange">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,21 +45,22 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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="180">
<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 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)" />
</template>
</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)" />
</template>
</el-table-column>
<el-table-column prop="areaName" label="库区名称" align="center" />
<el-table-column prop="areaCode" label="库区编码" align="center" />
<el-table-column prop="volume" label="库区容量" align="center" />
@ -64,14 +73,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -82,165 +85,245 @@
</template>
<script>
import req from '@/api/warehouse/warehouseArea.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAreaAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/warehouse/warehouseArea.js'
import req2 from '@/api/warehouse/warehouse.js'
import req3 from '@/api/warehouse/warehouseAreaType.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAreaAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: '',
areaTypeSid: '',
warehouseAreaTypeName: '',
warehouseSid: '',
warehouseName: '',
}
},
warehouseList: [],
warehouseAreaTypeLsit: [],
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
this.getwarehouse()
this.getWarehouseAreaType()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
},
getwarehouse() {
req2.getAllWarehouse().then(resp => {
console.log('>>>>>>>>>getAllWarehouse', resp)
this.warehouseList = resp.data
}).catch(() => {})
},
getWarehouseAreaType() {
req3.getAllWarehouseareatype().then(resp => {
console.log('>>>>>>>>>getAllWarehouseareatype', resp)
this.warehouseAreaTypeLsit = resp.data
}).catch(() => {})
},
selectWarehouseChange(val) {
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.queryParams.params.warehouseSid = choose[0].sid
this.queryParams.params.warehouseName = choose[0].warehouseName
},
selectWrehouseAreaTypeChange(val) {
const choose = this.warehouseAreaTypeLsit.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.queryParams.params.areaTypeSid = choose[0].sid
this.queryParams.params.warehouseAreaTypeName = choose[0].warehouseAreaTypeName
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
code: '',
areaTypeSid: '',
warehouseAreaTypeName: '',
warehouseSid: '',
warehouseName: '',
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -257,8 +340,8 @@
console.log(e)
})
},
}
}
}
}
</script>
<style scoped>
</style>

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

@ -80,7 +80,10 @@
warehouseName: '',
warehouseSid: '',
areaTypeSid: "",
areaTypeName: ""
areaTypeName: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseList: [],
@ -129,7 +132,10 @@
unit: '',
remarks: '',
areaTypeSid: "",
areaTypeName: ""
areaTypeName: "",
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')

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

@ -15,18 +15,8 @@
</el-form>
<div class="btn" style="text-align: center;">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetQuery"
>重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -37,21 +27,22 @@
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@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="180">
<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 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)" />
</template>
</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)" />
</template>
</el-table-column>
<el-table-column prop="warehouseAreaTypeName" label="库区类型名称" align="center" />
<el-table-column prop="createTime" label="创建时间" align="center" />
<el-table-column prop="remarks" label="库区类型备注" align="center" />
@ -61,14 +52,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -79,165 +64,195 @@
</template>
<script>
import req from '@/api/warehouse/warehouseAreaType.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAreaTypeAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
import req from '@/api/warehouse/warehouseAreaType.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './warehouseAreaTypeAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'plus',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: [],
selectionList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
})
}
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
@ -254,8 +269,8 @@
console.log(e)
})
},
}
}
}
}
</script>
<style scoped>
</style>

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

@ -44,6 +44,9 @@
sid: '',
warehouseAreaTypeName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
},
}
@ -70,8 +73,12 @@
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
remarks: '',
sid: '',
warehouseAreaTypeName: '',
remarks: '',
useOrgSid: window.sessionStorage.getItem('departmentSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
userSid: window.sessionStorage.getItem('userSid'),
}
this.$emit('doback')
},

Loading…
Cancel
Save