|
|
|
@ -48,8 +48,8 @@
|
|
|
|
|
style="width: 100%;margin-bottom: 20px;"
|
|
|
|
|
row-key="id"
|
|
|
|
|
border
|
|
|
|
|
default-expand-all
|
|
|
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
|
|
|
|
|
highlight-current-row
|
|
|
|
|
@current-change="handInvCurrentChange">
|
|
|
|
|
<el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="code"
|
|
|
|
@ -76,6 +76,15 @@
|
|
|
|
|
|
|
|
|
|
<el-table-column label="操作" fixed="right">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
size="small"
|
|
|
|
|
@click.native.stop="handleSubForm( scope.row, 'add')"
|
|
|
|
|
>添加分库
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
size="small"
|
|
|
|
@ -96,6 +105,53 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-table
|
|
|
|
|
:data="subList"
|
|
|
|
|
border
|
|
|
|
|
highlight-current-row
|
|
|
|
|
style="width: 100%;">
|
|
|
|
|
|
|
|
|
|
<el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="code"
|
|
|
|
|
label="分库编码"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="name"
|
|
|
|
|
label="分库名称"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="parentId"
|
|
|
|
|
label="所属仓库"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="操作" fixed="right">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
size="small"
|
|
|
|
|
@click.native.stop="handleSubForm( scope.row, 'edit')"
|
|
|
|
|
>编辑
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
size="small"
|
|
|
|
|
:disabled="!configParms.basicInv"
|
|
|
|
|
@click.native.stop="handleSubDel(scope.row)"
|
|
|
|
|
>删除
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
</el-card>
|
|
|
|
|
<el-pagination
|
|
|
|
|
:page-size="query.limit"
|
|
|
|
@ -104,34 +160,21 @@
|
|
|
|
|
:total="total"
|
|
|
|
|
>
|
|
|
|
|
</el-pagination>
|
|
|
|
|
<!--表单界面-->
|
|
|
|
|
<!--仓库弹窗编辑页面-->
|
|
|
|
|
<el-dialog
|
|
|
|
|
:title="formMap[formName]"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:close-on-press-escape="false"
|
|
|
|
|
:visible.sync="subFormVisible"
|
|
|
|
|
:visible.sync="formVisible"
|
|
|
|
|
:before-close="hideForm"
|
|
|
|
|
width="40%"
|
|
|
|
|
top="5vh"
|
|
|
|
|
>
|
|
|
|
|
<el-form :model="formData" :rules="formRules" ref="dataForm">
|
|
|
|
|
<el-form-item label="本企业仓库" prop="pid">
|
|
|
|
|
<el-select v-model="formData.pid" placeholder="顶级" disabled>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in mergeList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
>
|
|
|
|
|
<span style="float: left"
|
|
|
|
|
><span v-html="item.html"></span>{{ item.name }}</span
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="仓库编码" prop="title" class="query-form-item">
|
|
|
|
|
<el-form-item label="仓库编码" prop="code" class="query-form-item">
|
|
|
|
|
<el-input
|
|
|
|
|
disabled
|
|
|
|
|
v-model.trim="formData.code" style="width: 80%"
|
|
|
|
|
auto-complete="off"
|
|
|
|
|
></el-input>
|
|
|
|
@ -144,10 +187,21 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item class="query-form-item" label="仓库类型:">
|
|
|
|
|
<el-form-item class="query-form-item" prop="advanceType" label="仓库类型">
|
|
|
|
|
<el-select v-model="formData.advanceType" placeholder="仓库类型" clearable>
|
|
|
|
|
<el-option label="寄售" :value=true></el-option>
|
|
|
|
|
<el-option label="仓库" :value=false></el-option>
|
|
|
|
|
<el-option label="寄售" :value='true'></el-option>
|
|
|
|
|
<el-option label="仓库" :value='false'></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item class="query-form-item" prop="thirdSysFk" label="第三方系统">
|
|
|
|
|
<el-select v-model="formData.thirdSysFk" placeholder="请选择第三方系统" clearable>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in thirdSys"
|
|
|
|
|
:key="item.thirdId"
|
|
|
|
|
:lable="item.thirdName"
|
|
|
|
|
:value="item.thirdName"
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="状态:" prop="status" class="query-form-item">
|
|
|
|
@ -169,68 +223,60 @@
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 分库弹窗编辑页面-->
|
|
|
|
|
<el-dialog
|
|
|
|
|
:title="formMap[formName]"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:close-on-press-escape="false"
|
|
|
|
|
:visible.sync="formVisible"
|
|
|
|
|
:visible.sync="subFormVisible"
|
|
|
|
|
:before-close="hideForm"
|
|
|
|
|
width="40%"
|
|
|
|
|
width="60%"
|
|
|
|
|
top="5vh"
|
|
|
|
|
>
|
|
|
|
|
<el-form :model="formData" :rules="formRules" ref="dataForm">
|
|
|
|
|
<el-form :model="subData" ref="dataForm">
|
|
|
|
|
<el-form-item label="所属仓库" prop="pid">
|
|
|
|
|
<el-select v-model="subData.parentId" placeholder="顶级" disabled>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in mergeList"
|
|
|
|
|
:key="item.code"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.code"
|
|
|
|
|
>
|
|
|
|
|
<span style="float: left"
|
|
|
|
|
><span v-html="item.html"></span>{{ item.name }}</span
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="仓库编码" prop="code" class="query-form-item">
|
|
|
|
|
<el-form-item label="分库编码" prop="title" class="query-form-item">
|
|
|
|
|
<el-input
|
|
|
|
|
disabled
|
|
|
|
|
v-model.trim="formData.code" style="width: 80%"
|
|
|
|
|
v-model="subData.code" style="width: 80%"
|
|
|
|
|
auto-complete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="仓库名称" prop="name" class="query-form-item">
|
|
|
|
|
<el-form-item label="分库名称" prop="name" class="query-form-item">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model.trim="formData.name" style="width: 80%"
|
|
|
|
|
v-model="subData.name" style="width: 80%"
|
|
|
|
|
auto-complete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item class="query-form-item" prop="advanceType" label="仓库类型">
|
|
|
|
|
<el-select v-model="formData.advanceType" placeholder="仓库类型" clearable>
|
|
|
|
|
<el-option label="寄售" :value='true'></el-option>
|
|
|
|
|
<el-option label="仓库" :value='false'></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item class="query-form-item" prop="thirdSysFk" label="第三方系统">
|
|
|
|
|
<el-select v-model="formData.thirdSysFk" placeholder="请选择第三方系统" clearable>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in thirdSys"
|
|
|
|
|
:key="item.thirdId"
|
|
|
|
|
:lable="item.thirdName"
|
|
|
|
|
:value="item.thirdName"
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="状态:" prop="status" class="query-form-item">
|
|
|
|
|
<el-radio-group v-model="formData.status">
|
|
|
|
|
<el-radio :label="0">禁用</el-radio>
|
|
|
|
|
<el-radio :label="1">正常</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click.native="hideForm">取消</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
@click.native="formSubmit()"
|
|
|
|
|
@click.native="forSubSubmit()"
|
|
|
|
|
:loading="formLoading"
|
|
|
|
|
>提交
|
|
|
|
|
</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
@ -244,6 +290,7 @@ import {
|
|
|
|
|
import {filterDetailByKey, getBasicThirdSys} from "../../api/basic/basicThirdSys";
|
|
|
|
|
import {findConfig} from "@/api/thrsys/spsSyncStatus";
|
|
|
|
|
import {isBlank} from "@/utils/strUtil";
|
|
|
|
|
import {filterThridSubAll, filterSubByInv, deleteSubWarehouse, saveSubWarehouse} from "@/api/thrsys/thrdSubInvWarehouse";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const formJson = {
|
|
|
|
@ -273,6 +320,9 @@ export default {
|
|
|
|
|
thirdSysFk: null,
|
|
|
|
|
},
|
|
|
|
|
mergeList: [],
|
|
|
|
|
subList: [],
|
|
|
|
|
subData: {},
|
|
|
|
|
currentCode: null,
|
|
|
|
|
node: null,
|
|
|
|
|
defaultProps: {
|
|
|
|
|
children: "children",
|
|
|
|
@ -328,33 +378,25 @@ export default {
|
|
|
|
|
this.query.page = val;
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
renderContent(h, {node, data, store}) {
|
|
|
|
|
return (
|
|
|
|
|
<span
|
|
|
|
|
style="flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px;">
|
|
|
|
|
<span>
|
|
|
|
|
<span title={data.name} style="margin-left:8px">{node.label}</span>
|
|
|
|
|
<span style="margin-left:18px">(编码:{data.code})</span>
|
|
|
|
|
</span>
|
|
|
|
|
<span>
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
style="font-size: 12px;"
|
|
|
|
|
type="text"
|
|
|
|
|
on-click={() => this.handleForm(node, data, "edit")}
|
|
|
|
|
>
|
|
|
|
|
编辑
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
style="font-size: 12px;"
|
|
|
|
|
type="text"
|
|
|
|
|
on-click={() => this.handleDel(node, data)}
|
|
|
|
|
>
|
|
|
|
|
删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</span>
|
|
|
|
|
</span>
|
|
|
|
|
);
|
|
|
|
|
handInvCurrentChange(row) {
|
|
|
|
|
this.subList = [];
|
|
|
|
|
this.currentCode = row.code;
|
|
|
|
|
this.loadSubData(row);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
loadSubData(row) {
|
|
|
|
|
let subQuery = {
|
|
|
|
|
parentId: row.code,
|
|
|
|
|
thirdSysFk: row.thirdSysFk,
|
|
|
|
|
}
|
|
|
|
|
filterThridSubAll(subQuery).then((res) => {
|
|
|
|
|
if (res.code == 20000) {
|
|
|
|
|
this.subList = res.data.list;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
onReset() {
|
|
|
|
|
this.$router.push({
|
|
|
|
@ -456,29 +498,71 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handleSubForm(node, data, formName) {
|
|
|
|
|
handleSubForm(data, formName) {
|
|
|
|
|
this.subFromName = formName;
|
|
|
|
|
if (formName === "edit") {
|
|
|
|
|
this.subData = data;
|
|
|
|
|
} else if (formName === "add") {
|
|
|
|
|
this.subData = {};
|
|
|
|
|
this.subData.parentId = data.code;
|
|
|
|
|
this.subData.thirdSysFk = data.thirdSysFk;
|
|
|
|
|
}
|
|
|
|
|
this.subFormVisible = true;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
this.pidData = data || null;
|
|
|
|
|
formJson.pid = (data && parseInt(data.id)) || "";
|
|
|
|
|
this.formData = JSON.parse(JSON.stringify(formJson));
|
|
|
|
|
if (formName === "edit") {
|
|
|
|
|
this.formData = Object.assign({}, data);
|
|
|
|
|
this.node = node;
|
|
|
|
|
} else {
|
|
|
|
|
let no = this.getProjectNum() + Math.floor(Math.random() * 10000);
|
|
|
|
|
this.formData.code = no;
|
|
|
|
|
handleSubDel(row) {
|
|
|
|
|
if (row.id) {
|
|
|
|
|
this.$confirm("确认删除该分库吗?", "提示", {
|
|
|
|
|
type: "warning",
|
|
|
|
|
})
|
|
|
|
|
.then(() => {
|
|
|
|
|
this.deleteLoading = true;
|
|
|
|
|
let para = {id: row.id};
|
|
|
|
|
deleteSubWarehouse(para)
|
|
|
|
|
.then((response) => {
|
|
|
|
|
this.deleteLoading = false;
|
|
|
|
|
if (response.code !== 20000) {
|
|
|
|
|
this.$message.error(response.message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
this.$message.success("删除成功");
|
|
|
|
|
this.loadSubData(row.parentId);
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
this.deleteLoading = false;
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
this.$message.info("取消删除");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
this.formData.pid = !this.formData.pid ? "" : this.formData.pid;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
this.formName = formName;
|
|
|
|
|
if (data && data.id) {
|
|
|
|
|
this.index = this.mergeList.findIndex((d) => d.id === data.id);
|
|
|
|
|
//添加分库
|
|
|
|
|
forSubSubmit() {
|
|
|
|
|
|
|
|
|
|
if (this.$isBlank(this.subData.name)) {
|
|
|
|
|
this.$message.error("分库名称不能为空!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
saveSubWarehouse(this.subData, this.subFromName).then((response) => {
|
|
|
|
|
if (response.code == 20000) {
|
|
|
|
|
this.loadSubData(this.subData.parentId);
|
|
|
|
|
this.subFormVisible = false;
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(response.message);
|
|
|
|
|
this.subFormVisible = false;
|
|
|
|
|
}
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.subFormVisible = false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
formSubmit() {
|
|
|
|
|
if (!isBlank(this.formData.code)) {
|
|
|
|
|
if (Number(this.formData.code)+'' ===NaN+'' ) {
|
|
|
|
|
if (Number(this.formData.code) + '' === NaN + '') {
|
|
|
|
|
this.$message.error("仓库编码格式错误!")
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -515,11 +599,6 @@ export default {
|
|
|
|
|
this.mergeList.push(data);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// const parent = this.node.parent;
|
|
|
|
|
// const children = parent.data.children || parent.data;
|
|
|
|
|
// const index = children.findIndex((d) => d.id === data.id);
|
|
|
|
|
// children.splice(index, 1, data);
|
|
|
|
|
}
|
|
|
|
|
// 刷新表单
|
|
|
|
|
this.resetForm();
|
|
|
|
@ -658,7 +737,8 @@ export default {
|
|
|
|
|
.catch(() => {
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
filters: {
|
|
|
|
|
statusFilterType(status) {
|
|
|
|
|
const statusMap = {
|
|
|
|
@ -666,24 +746,30 @@ export default {
|
|
|
|
|
1: "success",
|
|
|
|
|
};
|
|
|
|
|
return statusMap[status];
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
statusFilterName(status) {
|
|
|
|
|
const statusMap = {
|
|
|
|
|
0: "禁用",
|
|
|
|
|
1: "正常",
|
|
|
|
|
};
|
|
|
|
|
return statusMap[status];
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
mounted() {
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
created() {
|
|
|
|
|
// 加载表格数据
|
|
|
|
|
this.getBasicThirdSys();
|
|
|
|
|
this.getSyncConfig();
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style type="text/scss" lang="scss">
|
|
|
|
|