|
@@ -27,22 +27,26 @@
|
|
|
<div style="width: 100%">
|
|
|
<el-row style="padding: 0 0 0 80px">
|
|
|
<el-col :span="24">
|
|
|
- <!-- 请选择仓库 -->
|
|
|
- <el-col :span="5" style="width: 250px">
|
|
|
- <el-cascader
|
|
|
- placeholder="请选择仓库"
|
|
|
- filterable
|
|
|
- clearable
|
|
|
+ <el-col :span="12" style="width: 300px; padding: 0">
|
|
|
+ <search-supplier
|
|
|
:size="searchSize"
|
|
|
- v-model="value"
|
|
|
- :options="options"
|
|
|
- style="width: 100%"
|
|
|
- @change="
|
|
|
- pageInfo.curr = 1;
|
|
|
- parmValue.page = 1;
|
|
|
- searchList();
|
|
|
- "
|
|
|
- ></el-cascader>
|
|
|
+ :placeholder="'供应商公司'"
|
|
|
+ :value="parmValue.supplier_code"
|
|
|
+ @searchChange="selectSupplier"
|
|
|
+ />
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="width: 200px; padding-left: 10px">
|
|
|
+ <search-stock
|
|
|
+ :isDetail="true"
|
|
|
+ :size="searchSize"
|
|
|
+ :value="parmValue.stock_code"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ :placeholder="'出库仓库'"
|
|
|
+ :isRelation="true"
|
|
|
+ :companyCode="supplier_code"
|
|
|
+ :names="''"
|
|
|
+ @searchChange="selectStock"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
<!-- 搜索 -->
|
|
|
<el-col :span="4" style="width: 74px; margin-left: 10px">
|
|
@@ -70,154 +74,57 @@
|
|
|
>重置</el-button
|
|
|
>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :span="4" style="width: 120px">
|
|
|
- <el-select
|
|
|
- :size="searchSize"
|
|
|
- v-model="parmValue.status"
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- placeholder="账号状态"
|
|
|
- style="width: 100%"
|
|
|
- @change="
|
|
|
- pageInfo.curr = 1;
|
|
|
- parmValue.page = 1;
|
|
|
- searchList();
|
|
|
- "
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in statusList"
|
|
|
- :key="'status' + item.code"
|
|
|
- :label="item.name"
|
|
|
- :value="item.code"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="width: 150px; padding: 0 0 0 10px">
|
|
|
- <el-input
|
|
|
- :size="searchSize"
|
|
|
- v-model="parmValue.name"
|
|
|
- :maxlength="40"
|
|
|
- placeholder="业务员姓名"
|
|
|
- />
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="width: 160px; padding: 0 0 0 10px">
|
|
|
- <el-input
|
|
|
- :size="searchSize"
|
|
|
- v-model="parmValue.username"
|
|
|
- :maxlength="40"
|
|
|
- placeholder="手机号"
|
|
|
- />
|
|
|
- </el-col>
|
|
|
- <el-col :span="4" style="width: 54px">
|
|
|
- <el-button
|
|
|
- :size="searchSize"
|
|
|
- type="primary"
|
|
|
- class="fr"
|
|
|
- icon="el-icon-search"
|
|
|
- @click="searchList"
|
|
|
- /></el-col>
|
|
|
- <el-col
|
|
|
- :span="4"
|
|
|
- style="width: 66px"
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="warning"
|
|
|
- class="fr"
|
|
|
- :size="searchSize"
|
|
|
- @click="restSearch"
|
|
|
- >
|
|
|
- 重置
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <el-col
|
|
|
- :span="3"
|
|
|
- style="width: 66px; float: right"
|
|
|
- >
|
|
|
- <el-button
|
|
|
- :size="searchSize"
|
|
|
- type="primary"
|
|
|
- style="float: right; margin-left: 5px"
|
|
|
- @click="searchList"
|
|
|
- >
|
|
|
- 刷新
|
|
|
- </el-button>
|
|
|
- </el-col> -->
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <!-- <template #status="{ scope }">
|
|
|
- <el-tag
|
|
|
- :size="tablebtnSize"
|
|
|
- :type="scope.row.status == '0' ? 'warning' : ''"
|
|
|
- v-text="
|
|
|
- (statusOptions.find((item) => item.id == scope.row.status) || {})
|
|
|
- .label || '--'
|
|
|
- "
|
|
|
- ></el-tag>
|
|
|
- </template> -->
|
|
|
- <!-- <template #operation="{ scope }"> -->
|
|
|
- <!-- <el-tooltip
|
|
|
- v-if="powers.some((item) => item == '002')"
|
|
|
- effect="dark"
|
|
|
- content="重置密码"
|
|
|
- placement="top"
|
|
|
+
|
|
|
+ <template #expand="{ scope }">
|
|
|
+
|
|
|
+ <el-table
|
|
|
+ :data="scope.row.child"
|
|
|
+ style="width: 100%; paddind: 20px"
|
|
|
+ border
|
|
|
+ size="small"
|
|
|
>
|
|
|
- <i
|
|
|
- class="el-icon-refresh-left tb-icon"
|
|
|
- @click="openPasswordModal(scope.row.id, false)"
|
|
|
- ></i>
|
|
|
- </el-tooltip> -->
|
|
|
-
|
|
|
- <!-- <el-tooltip
|
|
|
- v-if="powers.some((item) => item == '007')"
|
|
|
- effect="dark"
|
|
|
- content="详情"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <i
|
|
|
- class="el-icon-view tb-icon"
|
|
|
- @click="openModal(scope.row.id, true, scope.row)"
|
|
|
- ></i>
|
|
|
- </el-tooltip> -->
|
|
|
- <!-- <el-tooltip
|
|
|
- v-if="powers.some((item) => item == '005')"
|
|
|
- effect="dark"
|
|
|
- content="修改"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <i
|
|
|
- class="el-icon-edit tb-icon"
|
|
|
- @click="openModal(scope.row.id, false, scope.row)"
|
|
|
- ></i>
|
|
|
- </el-tooltip> -->
|
|
|
- <!-- <el-tooltip
|
|
|
- v-if="
|
|
|
- powers.some((item) => item == '004') && scope.row.status === '1'
|
|
|
- "
|
|
|
- effect="dark"
|
|
|
- content="禁用"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <i
|
|
|
- class="el-icon-video-pause tb-icon"
|
|
|
- @click="statusConfirm(scope.row.id, scope.row.status)"
|
|
|
- ></i>
|
|
|
- </el-tooltip> -->
|
|
|
- <!-- <el-tooltip
|
|
|
- v-if="
|
|
|
- powers.some((item) => item == '004') && scope.row.status === '0'
|
|
|
- "
|
|
|
- effect="dark"
|
|
|
- content="启用"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <i
|
|
|
- class="el-icon-video-play tb-icon"
|
|
|
- @click="statusConfirm(scope.row.id, scope.row.status)"
|
|
|
- ></i>
|
|
|
- </el-tooltip> -->
|
|
|
- <!-- </template> -->
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="商品编码"
|
|
|
+ prop="good_code"
|
|
|
+ width="80"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="属性编码"
|
|
|
+ prop="good_type_code"
|
|
|
+ width="180"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="商品名称"
|
|
|
+ prop="good_name"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="商品属性"
|
|
|
+ prop="attribute"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="分类" prop="sort_f"></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="可用库存"
|
|
|
+ prop="usable_stock"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ label="在途库存"
|
|
|
+ prop="intra_stock"
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ </template>
|
|
|
</ex-table>
|
|
|
<add-edit
|
|
|
:id="modelId"
|
|
@@ -237,8 +144,7 @@
|
|
|
import mixinPage from "@/mixins/elPaginationHandle";
|
|
|
import resToken from "@/mixins/resToken";
|
|
|
import statusList from "@/assets/js/statusList";
|
|
|
-import asyncRequest from "@/mock/service/stock/dataWeido";
|
|
|
-// import asyncRequest from "@/apis/service/stock/dataWeido";
|
|
|
+import asyncRequest from "@/apis/service/stock/dataWeido";
|
|
|
|
|
|
import { mapGetters } from "vuex";
|
|
|
|
|
@@ -262,14 +168,15 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- options: [],
|
|
|
- statusList: statusList,
|
|
|
- loading: true,
|
|
|
- showModel: false,
|
|
|
- isDetail: false,
|
|
|
- modelId: 0,
|
|
|
+ stock_code: "",
|
|
|
+ supplier_code: "",
|
|
|
|
|
|
- tableData: [],
|
|
|
+ parmValue: {
|
|
|
+ supplier_code: [],
|
|
|
+ stock_code: [],
|
|
|
+ page: 1, // 页码
|
|
|
+ size: 15, // 每页显示条数
|
|
|
+ },
|
|
|
|
|
|
// 表格 - 数据
|
|
|
tableData: [],
|
|
@@ -288,75 +195,98 @@ export default {
|
|
|
// 表格 - 列参数
|
|
|
columns: [
|
|
|
{
|
|
|
- prop: "nickname",
|
|
|
+ type: "expand",
|
|
|
+ _slot_: "expand",
|
|
|
+ label: "",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: "wsm_code",
|
|
|
label: "仓库编号",
|
|
|
},
|
|
|
{
|
|
|
- prop: "role_name",
|
|
|
+ prop: "wsm_name",
|
|
|
label: "仓库名称",
|
|
|
},
|
|
|
{
|
|
|
- prop: "mobile",
|
|
|
+ prop: "total_stock",
|
|
|
label: "当前库存",
|
|
|
},
|
|
|
{
|
|
|
- prop: "email",
|
|
|
+ prop: "wait_in_stock",
|
|
|
label: "待入库",
|
|
|
},
|
|
|
{
|
|
|
- prop: "status",
|
|
|
+ prop: "wait_out_stock",
|
|
|
label: "待出库",
|
|
|
- _slot_: "status",
|
|
|
width: "80px",
|
|
|
},
|
|
|
{
|
|
|
- prop: "addtime",
|
|
|
+ prop: "usable_stock",
|
|
|
label: "可用库存",
|
|
|
// sortable: true,
|
|
|
},
|
|
|
{
|
|
|
- prop: "addtime",
|
|
|
+ prop: "intra_stock",
|
|
|
label: "在途库存",
|
|
|
// sortable: true,
|
|
|
},
|
|
|
+ {
|
|
|
+ prop: "warn_stock",
|
|
|
+ label: "预警库存",
|
|
|
+ },
|
|
|
],
|
|
|
- sitem: null,
|
|
|
- // // 状态
|
|
|
- // statusOptions: [
|
|
|
- // { id: "0", label: "禁用" },
|
|
|
- // { id: "1", label: "启用" },
|
|
|
- // ],
|
|
|
- // passwordModel: false,
|
|
|
- // passwordModelId: 0,
|
|
|
- // isPasswordDetail: false,
|
|
|
- parmValue: {
|
|
|
- // name: "", // 业务员名字
|
|
|
- // username: "", // 账号
|
|
|
- // status: "", //
|
|
|
- // page: 1, // 页码
|
|
|
- // size: 15, // 每页显示条数
|
|
|
- },
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
this.searchList();
|
|
|
- this.stockName();
|
|
|
+ // this.stockName();
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ // 选择供应商仓库
|
|
|
+ selectStock(e) {
|
|
|
+ if (e && e.id) {
|
|
|
+ this.parmValue.stock_code = [e.code];
|
|
|
+ this.stock_code = e.code;
|
|
|
+ } else {
|
|
|
+ this.parmValue.stock_code = [];
|
|
|
+ this.stock_code = "";
|
|
|
+ }
|
|
|
+ if (this.parmValue.stock_code) {
|
|
|
+ this.searchList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 选择供应商
|
|
|
+ selectSupplier(e) {
|
|
|
+ if (e && e.id) {
|
|
|
+ this.parmValue.supplier_code = [e.code];
|
|
|
+ this.supplier_code = e.code;
|
|
|
+ this.isDisabled = false;
|
|
|
+ } else {
|
|
|
+ this.parmValue.stock_code = [];
|
|
|
+ this.parmValue.supplier_code = [];
|
|
|
+ this.stock_code = "";
|
|
|
+ this.supplier_code = "";
|
|
|
+ this.isDisabled = true;
|
|
|
+ }
|
|
|
+ if (this.parmValue.supplier_code) {
|
|
|
+ this.searchList();
|
|
|
+ }
|
|
|
+ },
|
|
|
restSearch() {
|
|
|
- // 表格 - 分页
|
|
|
+ // 表格 - 分页
|
|
|
this.pageInfo = {
|
|
|
size: 15,
|
|
|
curr: 1,
|
|
|
total: 0,
|
|
|
};
|
|
|
this.parmValue = {
|
|
|
- name: "", // 业务员名字
|
|
|
- username: "", // 账号
|
|
|
- status: "", //
|
|
|
- page: 1, // 页码
|
|
|
- size: 15, // 每页显示条数
|
|
|
+ parmValue: {
|
|
|
+ supplier_code: [],
|
|
|
+ stock_code: [],
|
|
|
+ page: 1, // 页码
|
|
|
+ size: 15, // 每页显示条数
|
|
|
+ },
|
|
|
};
|
|
|
this.searchList();
|
|
|
},
|
|
@@ -367,80 +297,21 @@ export default {
|
|
|
this.isDetail = isDetail;
|
|
|
this.sitem = sitem;
|
|
|
},
|
|
|
- async deleteById(id, status) {
|
|
|
- // await this.$confirm("确定要删除?", {
|
|
|
- // confirmButtonText: "确定",
|
|
|
- // cancelButtonText: "取消",
|
|
|
- // type: "warning",
|
|
|
- // })
|
|
|
- // .then(async () => {
|
|
|
- // const model = {
|
|
|
- // id: id,
|
|
|
- // status: status === "1" ? "0" : "1",
|
|
|
- // };
|
|
|
- // const res = await asyncRequest.status(model);
|
|
|
- // if (res && res.code === 0) {
|
|
|
- // this.$notify.success({
|
|
|
- // title: "删除成功",
|
|
|
- // message: "",
|
|
|
- // });
|
|
|
- // this.searchList();
|
|
|
- // } else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
- // await this.logout();
|
|
|
- // } else {
|
|
|
- // this.$message.warning(res.message);
|
|
|
- // }
|
|
|
- // })
|
|
|
- // .catch(() => {
|
|
|
- // console.log("取消");
|
|
|
- // });
|
|
|
- },
|
|
|
async searchList() {
|
|
|
- // this.loading = true;
|
|
|
- // const res = await asyncRequest.list(this.parmValue);
|
|
|
- // if (res && res.code === 0 && res.data) {
|
|
|
- // this.tableData = res.data.list;
|
|
|
- // this.pageInfo.total = Number(res.data.count);
|
|
|
- // } else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
- // await this.logout();
|
|
|
- // } else {
|
|
|
- // this.tableData = [];
|
|
|
- // this.pageInfo.total = 0;
|
|
|
- // }
|
|
|
- // this.loading = false;
|
|
|
+ this.loading = true;
|
|
|
+ const res = await asyncRequest.list({ wsm_code: "WSMcmpk211008104949" });
|
|
|
+ if (res && res.code === 0 && res.data) {
|
|
|
+ this.tableData = res.data.list;
|
|
|
+ this.pageInfo.total = Number(res.data.count);
|
|
|
+ } else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
+ await this.logout();
|
|
|
+ } else {
|
|
|
+ this.tableData = [];
|
|
|
+ this.pageInfo.total = 0;
|
|
|
+ }
|
|
|
+ this.loading = false;
|
|
|
},
|
|
|
|
|
|
- async statusConfirm(id, status) {
|
|
|
- // let str = status === "1" ? "禁用" : "启用";
|
|
|
- // await this.$confirm("确定要改为" + str + "?", {
|
|
|
- // confirmButtonText: "确定",
|
|
|
- // cancelButtonText: "取消",
|
|
|
- // type: "warning",
|
|
|
- // })
|
|
|
- // .then(async () => {
|
|
|
- // this.loading = true;
|
|
|
- // const model = {
|
|
|
- // id: id,
|
|
|
- // status: status === "1" ? "0" : "1",
|
|
|
- // };
|
|
|
- // const res = await asyncRequest.status(model);
|
|
|
- // if (res && res.code === 0) {
|
|
|
- // this.loading = false;
|
|
|
- // this.$notify.success({
|
|
|
- // title: "状态修改成功!",
|
|
|
- // message: "",
|
|
|
- // });
|
|
|
- // await this.searchList();
|
|
|
- // } else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
- // await this.logout();
|
|
|
- // } else {
|
|
|
- // this.$message.warning(res.message);
|
|
|
- // }
|
|
|
- // })
|
|
|
- // .catch(() => {
|
|
|
- // console.log("取消");
|
|
|
- // });
|
|
|
- },
|
|
|
async stockName() {
|
|
|
//获取多级仓库名称的方法
|
|
|
const res = await asyncRequest.listAll(this.parmValue);
|