|
@@ -1,11 +1,9 @@
|
|
<template>
|
|
<template>
|
|
<div class="stockWarning pagePadding">
|
|
<div class="stockWarning pagePadding">
|
|
- <div
|
|
|
|
- v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
|
|
|
|
- >
|
|
|
|
|
|
+ <div v-if="powers && powers.length > 0 && powers.some((item) => item == '001')">
|
|
<div style="width: 100%">
|
|
<div style="width: 100%">
|
|
<el-row style="padding: 15px 0 0 0px">
|
|
<el-row style="padding: 15px 0 0 0px">
|
|
- <el-col :span="12" style="width: 290px">
|
|
|
|
|
|
+ <el-col :span="12" style="width: 290px;margin-right:10px">
|
|
<search-work-company
|
|
<search-work-company
|
|
:value="parmValue.companyNo"
|
|
:value="parmValue.companyNo"
|
|
:names="''"
|
|
:names="''"
|
|
@@ -39,6 +37,58 @@
|
|
@searchChange="selectStock"
|
|
@searchChange="selectStock"
|
|
/>
|
|
/>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ <el-col :span="12" style="width: 290px;margin:0 10px">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="parmValue.good_name"
|
|
|
|
+ size="mini"
|
|
|
|
+ clearable
|
|
|
|
+ placeholder="商品名称"
|
|
|
|
+ @blur="
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
|
|
+ "
|
|
|
|
+ @clear="
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
|
|
+ "
|
|
|
|
+ />
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12" style="width: 290px;margin-right:10px">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="parmValue.spuCode"
|
|
|
|
+ clearable
|
|
|
|
+ size="mini"
|
|
|
|
+ placeholder="商品成本编码"
|
|
|
|
+ @blur="
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
|
|
+ "
|
|
|
|
+ @clear="
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
|
|
+ "
|
|
|
|
+ />
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12" style="width: 290px;margin-right:10px">
|
|
|
|
+ <el-select
|
|
|
|
+ placeholder="是否库存品"
|
|
|
|
+ clearable
|
|
|
|
+ size="mini"
|
|
|
|
+ v-model="parmValue.is_stock"
|
|
|
|
+ @change="
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <el-option value="1" label="是" />
|
|
|
|
+ <el-option value="0" label="否" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -47,12 +97,7 @@
|
|
<el-col :span="24" class="card">
|
|
<el-col :span="24" class="card">
|
|
<el-card shadow="always">
|
|
<el-card shadow="always">
|
|
<i :class="item.icon" class="icon"></i>
|
|
<i :class="item.icon" class="icon"></i>
|
|
- <countTo
|
|
|
|
- style="display: block"
|
|
|
|
- :startVal="0"
|
|
|
|
- :endVal="item.endVal"
|
|
|
|
- :duration="3000"
|
|
|
|
- ></countTo>
|
|
|
|
|
|
+ <countTo style="display: block" :startVal="0" :endVal="item.endVal" :duration="3000"></countTo>
|
|
<p style="margin-top: 5px">{{ item.label }}</p>
|
|
<p style="margin-top: 5px">{{ item.label }}</p>
|
|
</el-card>
|
|
</el-card>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -69,14 +114,14 @@
|
|
@page-curr-change="handlePageChange"
|
|
@page-curr-change="handlePageChange"
|
|
@page-size-change="handleSizeChange"
|
|
@page-size-change="handleSizeChange"
|
|
@screen-reset="
|
|
@screen-reset="
|
|
- pageInfo.curr = 1;
|
|
|
|
- parmValue.page = 1;
|
|
|
|
- searchList();
|
|
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
"
|
|
"
|
|
@screen-submit="
|
|
@screen-submit="
|
|
- pageInfo.curr = 1;
|
|
|
|
- parmValue.page = 1;
|
|
|
|
- searchList();
|
|
|
|
|
|
+ pageInfo.curr = 1;
|
|
|
|
+ parmValue.page = 1;
|
|
|
|
+ searchList();
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<template #table-header="{}">
|
|
<template #table-header="{}">
|
|
@@ -89,20 +134,18 @@
|
|
:size="'mini'"
|
|
:size="'mini'"
|
|
:type="scope.row.type == '0' ? 'warning' : ''"
|
|
:type="scope.row.type == '0' ? 'warning' : ''"
|
|
v-text="
|
|
v-text="
|
|
- (statusOptions.find((item) => item.id == scope.row.type) || {})
|
|
|
|
- .label || '--'
|
|
|
|
- "
|
|
|
|
|
|
+ (statusOptions.find((item) => item.id == scope.row.type) || {})
|
|
|
|
+ .label || '--'
|
|
|
|
+ "
|
|
></el-tag>
|
|
></el-tag>
|
|
</template>
|
|
</template>
|
|
|
|
+ <template #is_stock="{scope}">
|
|
|
|
+ <span>{{scope.row.is_stock === '1' ? "是" : "否"}}</span>
|
|
|
|
+ </template>
|
|
<template #reviewer="{ scope }">
|
|
<template #reviewer="{ scope }">
|
|
<!-- {{scope.row.item}} -->
|
|
<!-- {{scope.row.item}} -->
|
|
- <el-tag
|
|
|
|
- v-if="scope.row.item && scope.row.item.length > 0"
|
|
|
|
- :size="tablebtnSize"
|
|
|
|
- >
|
|
|
|
- <span v-for="(si, sii) in scope.row.item" :key="si + sii"
|
|
|
|
- >{{si}}</span
|
|
|
|
- >
|
|
|
|
|
|
+ <el-tag v-if="scope.row.item && scope.row.item.length > 0" :size="tablebtnSize">
|
|
|
|
+ <span v-for="(si, sii) in scope.row.item" :key="si + sii">{{ si }}</span>
|
|
</el-tag>
|
|
</el-tag>
|
|
</template>
|
|
</template>
|
|
</ex-table>
|
|
</ex-table>
|
|
@@ -123,74 +166,76 @@ export default {
|
|
name: "survey",
|
|
name: "survey",
|
|
mixins: [mixinPage, resToken],
|
|
mixins: [mixinPage, resToken],
|
|
components: {
|
|
components: {
|
|
- countTo,
|
|
|
|
|
|
+ countTo
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapGetters(["tablebtnSize", "searchSize", "size"]),
|
|
...mapGetters(["tablebtnSize", "searchSize", "size"]),
|
|
powers() {
|
|
powers() {
|
|
let tran =
|
|
let tran =
|
|
- this.$store.getters.btnList.find(
|
|
|
|
- (item) => item.menu_route == "survey"
|
|
|
|
- ) || {};
|
|
|
|
|
|
+ this.$store.getters.btnList.find(item => item.menu_route == "survey") ||
|
|
|
|
+ {};
|
|
if (tran && tran.action && tran.action.length > 0) {
|
|
if (tran && tran.action && tran.action.length > 0) {
|
|
return tran.action;
|
|
return tran.action;
|
|
} else {
|
|
} else {
|
|
return [];
|
|
return [];
|
|
}
|
|
}
|
|
- },
|
|
|
|
|
|
+ }
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
statusOptions: [
|
|
statusOptions: [
|
|
{
|
|
{
|
|
id: "1",
|
|
id: "1",
|
|
- label: "增加",
|
|
|
|
|
|
+ label: "增加"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
id: "2",
|
|
id: "2",
|
|
- label: "减少",
|
|
|
|
- },
|
|
|
|
|
|
+ label: "减少"
|
|
|
|
+ }
|
|
],
|
|
],
|
|
stock_code: "",
|
|
stock_code: "",
|
|
supplier_code: "",
|
|
supplier_code: "",
|
|
parmValue: {
|
|
parmValue: {
|
|
companyNo: "",
|
|
companyNo: "",
|
|
|
|
+ good_name: "", //商品名称
|
|
|
|
+ spuCode: "", //商品成本编码
|
|
|
|
+ is_stock: "", //是否库存商品
|
|
supplier_code: [],
|
|
supplier_code: [],
|
|
stock_code: [],
|
|
stock_code: [],
|
|
page: 1,
|
|
page: 1,
|
|
- size: 15,
|
|
|
|
|
|
+ size: 15
|
|
},
|
|
},
|
|
stock_list: [
|
|
stock_list: [
|
|
{
|
|
{
|
|
id: "1",
|
|
id: "1",
|
|
icon: "el-icon-box",
|
|
icon: "el-icon-box",
|
|
label: "当前库存",
|
|
label: "当前库存",
|
|
- endVal: 0,
|
|
|
|
|
|
+ endVal: 0
|
|
},
|
|
},
|
|
{
|
|
{
|
|
id: "2",
|
|
id: "2",
|
|
icon: "el-icon-download",
|
|
icon: "el-icon-download",
|
|
label: "待入库",
|
|
label: "待入库",
|
|
- endVal: 0,
|
|
|
|
|
|
+ endVal: 0
|
|
},
|
|
},
|
|
{
|
|
{
|
|
id: "3",
|
|
id: "3",
|
|
icon: "el-icon-upload2",
|
|
icon: "el-icon-upload2",
|
|
label: "待出库",
|
|
label: "待出库",
|
|
- endVal: 0,
|
|
|
|
|
|
+ endVal: 0
|
|
},
|
|
},
|
|
{
|
|
{
|
|
id: "4",
|
|
id: "4",
|
|
icon: "el-icon-shopping-cart-full",
|
|
icon: "el-icon-shopping-cart-full",
|
|
label: "可用库存",
|
|
label: "可用库存",
|
|
- endVal: 0,
|
|
|
|
|
|
+ endVal: 0
|
|
},
|
|
},
|
|
{
|
|
{
|
|
id: "5",
|
|
id: "5",
|
|
icon: "el-icon-truck",
|
|
icon: "el-icon-truck",
|
|
label: "在途库存",
|
|
label: "在途库存",
|
|
- endVal: 0,
|
|
|
|
- },
|
|
|
|
|
|
+ endVal: 0
|
|
|
|
+ }
|
|
],
|
|
],
|
|
|
|
|
|
loading: true,
|
|
loading: true,
|
|
@@ -201,87 +246,102 @@ export default {
|
|
table: {
|
|
table: {
|
|
// 表格 - 参数
|
|
// 表格 - 参数
|
|
stripe: true,
|
|
stripe: true,
|
|
- border: true,
|
|
|
|
|
|
+ border: true
|
|
// _defaultHeader_: ["setcol"],
|
|
// _defaultHeader_: ["setcol"],
|
|
},
|
|
},
|
|
// 表格 - 分页
|
|
// 表格 - 分页
|
|
pageInfo: {
|
|
pageInfo: {
|
|
size: 15,
|
|
size: 15,
|
|
curr: 1,
|
|
curr: 1,
|
|
- total: 0,
|
|
|
|
|
|
+ total: 0
|
|
},
|
|
},
|
|
columns: [
|
|
columns: [
|
|
{
|
|
{
|
|
prop: "good_log_code",
|
|
prop: "good_log_code",
|
|
label: "业务编号",
|
|
label: "业务编号",
|
|
- width: "160px",
|
|
|
|
|
|
+ width: "160px"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ prop: "good_name",
|
|
|
|
+ label: "商品名称",
|
|
|
|
+ width: "160px"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ prop:"spuCode",
|
|
|
|
+ label:"商品成本编码",
|
|
|
|
+ width:"160px"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ prop:"is_stock",
|
|
|
|
+ label:"是否库存品",
|
|
|
|
+ _slot_: "is_stock",
|
|
|
|
+ width:'70px'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "action_type_cn",
|
|
prop: "action_type_cn",
|
|
label: "库存来源",
|
|
label: "库存来源",
|
|
- width: "90px",
|
|
|
|
|
|
+ width: "90px"
|
|
},
|
|
},
|
|
-
|
|
|
|
{
|
|
{
|
|
prop: "type",
|
|
prop: "type",
|
|
label: "变化类别",
|
|
label: "变化类别",
|
|
_slot_: "type_status",
|
|
_slot_: "type_status",
|
|
- width: "70px",
|
|
|
|
|
|
+ width: "70px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "stock",
|
|
prop: "stock",
|
|
label: "变动数量",
|
|
label: "变动数量",
|
|
- "width": "90px",
|
|
|
|
|
|
+ width: "90px"
|
|
},
|
|
},
|
|
- {
|
|
|
|
|
|
+ {
|
|
prop: "companyNo",
|
|
prop: "companyNo",
|
|
label: "业务公司编号",
|
|
label: "业务公司编号",
|
|
- "width": "150px",
|
|
|
|
|
|
+ width: "150px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "company",
|
|
prop: "company",
|
|
label: "业务公司名称",
|
|
label: "业务公司名称",
|
|
- "min-width": "150px",
|
|
|
|
|
|
+ "min-width": "150px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "code",
|
|
prop: "code",
|
|
label: "仓库所在公司编号",
|
|
label: "仓库所在公司编号",
|
|
- "width": "150px",
|
|
|
|
|
|
+ width: "150px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "name",
|
|
prop: "name",
|
|
label: "仓库所在公司名称",
|
|
label: "仓库所在公司名称",
|
|
- "min-width": "150px",
|
|
|
|
|
|
+ "min-width": "150px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "wsm_code",
|
|
prop: "wsm_code",
|
|
label: "仓库编号",
|
|
label: "仓库编号",
|
|
- width: "165px",
|
|
|
|
|
|
+ width: "165px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "wsm_name",
|
|
prop: "wsm_name",
|
|
label: "仓库名称",
|
|
label: "仓库名称",
|
|
- "min-width": "100px",
|
|
|
|
|
|
+ "min-width": "100px"
|
|
},
|
|
},
|
|
|
|
|
|
{
|
|
{
|
|
prop: "action_name",
|
|
prop: "action_name",
|
|
label: "操作人",
|
|
label: "操作人",
|
|
- width: "70px",
|
|
|
|
|
|
+ width: "70px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "reviewer",
|
|
prop: "reviewer",
|
|
label: "操作人部门",
|
|
label: "操作人部门",
|
|
_slot_: "reviewer",
|
|
_slot_: "reviewer",
|
|
- width: "130px",
|
|
|
|
|
|
+ width: "130px"
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: "addtime",
|
|
prop: "addtime",
|
|
label: "操作时间",
|
|
label: "操作时间",
|
|
width: "145px",
|
|
width: "145px",
|
|
- sortable: true,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ sortable: true
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -339,7 +399,7 @@ export default {
|
|
let model = {
|
|
let model = {
|
|
companyNo: this.parmValue.companyNo,
|
|
companyNo: this.parmValue.companyNo,
|
|
supplier_code: this.supplier_code,
|
|
supplier_code: this.supplier_code,
|
|
- stock_code: this.stock_code,
|
|
|
|
|
|
+ stock_code: this.stock_code
|
|
};
|
|
};
|
|
const res = await asyncRequest.getstockwsm(model);
|
|
const res = await asyncRequest.getstockwsm(model);
|
|
|
|
|
|
@@ -351,7 +411,7 @@ export default {
|
|
usable_stock,
|
|
usable_stock,
|
|
wait_in_stock,
|
|
wait_in_stock,
|
|
wait_out_stock,
|
|
wait_out_stock,
|
|
- warn_stock,
|
|
|
|
|
|
+ warn_stock
|
|
} = res.data;
|
|
} = res.data;
|
|
this.stock_list[0].endVal = Number(total_stock);
|
|
this.stock_list[0].endVal = Number(total_stock);
|
|
this.stock_list[1].endVal = Number(wait_in_stock);
|
|
this.stock_list[1].endVal = Number(wait_in_stock);
|
|
@@ -373,7 +433,7 @@ export default {
|
|
const res = await asyncRequest.list(model);
|
|
const res = await asyncRequest.list(model);
|
|
if (res && res.code === 0 && res.data) {
|
|
if (res && res.code === 0 && res.data) {
|
|
this.tableData = res.data.list;
|
|
this.tableData = res.data.list;
|
|
- this.tableData.forEach((v) => {
|
|
|
|
|
|
+ this.tableData.forEach(v => {
|
|
if (v.empty) {
|
|
if (v.empty) {
|
|
v.code = v.empty.code;
|
|
v.code = v.empty.code;
|
|
v.wsm_name = v.empty.wsm_name;
|
|
v.wsm_name = v.empty.wsm_name;
|
|
@@ -389,21 +449,27 @@ export default {
|
|
this.pageInfo.total = 0;
|
|
this.pageInfo.total = 0;
|
|
}
|
|
}
|
|
this.loading = false;
|
|
this.loading = false;
|
|
- },
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+ /deep/.el-input {
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
+ }
|
|
|
|
+
|
|
.card {
|
|
.card {
|
|
width: 200px;
|
|
width: 200px;
|
|
height: 115px;
|
|
height: 115px;
|
|
flex: 1;
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
+
|
|
@media screen and (max-width: 1500px) {
|
|
@media screen and (max-width: 1500px) {
|
|
.card {
|
|
.card {
|
|
width: 160px;
|
|
width: 160px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
@media screen and (max-width: 1350px) {
|
|
@media screen and (max-width: 1350px) {
|
|
.card {
|
|
.card {
|
|
width: 130px;
|
|
width: 130px;
|
|
@@ -418,10 +484,12 @@ export default {
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
padding: 20px 0 20px 10px;
|
|
padding: 20px 0 20px 10px;
|
|
text-align: center;
|
|
text-align: center;
|
|
|
|
+
|
|
.icon {
|
|
.icon {
|
|
font-size: 40px;
|
|
font-size: 40px;
|
|
padding-bottom: 10px;
|
|
padding-bottom: 10px;
|
|
}
|
|
}
|
|
|
|
+
|
|
p {
|
|
p {
|
|
cursor: default;
|
|
cursor: default;
|
|
}
|
|
}
|