|
@@ -3,6 +3,7 @@
|
|
|
<div
|
|
|
v-if="powers && powers.length > 0 && powers.some((item) => item == '001')"
|
|
|
>
|
|
|
+ 123{{}}
|
|
|
<el-form
|
|
|
ref="ruleForm"
|
|
|
:model="ruleForm"
|
|
@@ -13,19 +14,15 @@
|
|
|
v-if="addId === 'add'"
|
|
|
>
|
|
|
<el-divider content-position="center">仓库信息:</el-divider>
|
|
|
+
|
|
|
<el-row>
|
|
|
<el-col :span="12"
|
|
|
- ><el-form-item label="所属公司" prop="storeToCompany">
|
|
|
- <el-cascader
|
|
|
- placeholder="请选择所属公司"
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- style="width: 100%"
|
|
|
- :size="searchSize"
|
|
|
- v-model="ruleForm.storeToCompany"
|
|
|
- :options="ruleForm.selectStock_go_options"
|
|
|
- @change="getValue"
|
|
|
- ></el-cascader>
|
|
|
+ ><el-form-item
|
|
|
+ label="所属公司"
|
|
|
+ prop="storeToCompany"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <CompanySearch @searchCard="getCompanyName"></CompanySearch>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -34,7 +31,6 @@
|
|
|
placeholder="请输入仓库名称"
|
|
|
filterable
|
|
|
clearable
|
|
|
- :size="searchSize"
|
|
|
v-model="ruleForm.stockName"
|
|
|
@change="getValue1"
|
|
|
>
|
|
@@ -53,7 +49,6 @@
|
|
|
><!-- 仓库详细地址 -->
|
|
|
<el-form-item label="详细地址" prop="stockDetail">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入内容"
|
|
|
v-model="ruleForm.stockDetail"
|
|
|
clearable
|
|
@@ -63,27 +58,42 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="负责人" prop="stockCharge" style="width: 50%">
|
|
|
- <el-select
|
|
|
- :size="searchSize"
|
|
|
- @change="getValue2"
|
|
|
- style="width: 100%"
|
|
|
- v-model="ruleForm.stockCharge"
|
|
|
- placeholder="请选择仓库负责人"
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="负责人" prop="stockDutyer" style="width: 100%">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="ruleForm.stockDutyer"
|
|
|
+ placeholder="请选择仓库负责人"
|
|
|
+ @change="getValue2"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in ruleForm.stockDutyer_options"
|
|
|
+ :key="index"
|
|
|
+ :label="item.nickname"
|
|
|
+ :value="item.nickname"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{ item.nickname }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{
|
|
|
+ item.role_name
|
|
|
+ }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item></el-col
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="item in ruleForm.stockDutyer_options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- <span style="float: left">{{ item.label }}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{
|
|
|
- item.value
|
|
|
- }}</span>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="负责人电话" prop="dutyer_mobile">
|
|
|
+ <el-input
|
|
|
+ type="number"
|
|
|
+ placeholder="请输入联系人电话"
|
|
|
+ v-model="ruleForm.dutyer_mobile"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input> </el-form-item
|
|
|
+ ></el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
<el-divider content-position="center">收发货信息:</el-divider>
|
|
|
<!-- 收发货联系信息 -->
|
|
|
|
|
@@ -92,7 +102,6 @@
|
|
|
><!-- 收发货联系人 -->
|
|
|
<el-form-item label="联系人" prop="linker">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请填写联系人"
|
|
|
v-model="ruleForm.linker"
|
|
|
clearable
|
|
@@ -105,7 +114,6 @@
|
|
|
<el-form-item label="电话" prop="linker_mobile">
|
|
|
<el-input
|
|
|
type="number"
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入联系人电话"
|
|
|
v-model="ruleForm.linker_mobile"
|
|
|
clearable
|
|
@@ -125,7 +133,6 @@
|
|
|
<!-- 收发货详细地址 -->
|
|
|
<el-form-item label="详细地址" prop="linker_detail">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入详细地址"
|
|
|
v-model="ruleForm.linker_detail"
|
|
|
clearable
|
|
@@ -135,7 +142,7 @@
|
|
|
></el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
-
|
|
|
+ <!-- 仓库详情 -->
|
|
|
<el-form
|
|
|
ref="ruleForm"
|
|
|
:disabled="addId === 'detail'"
|
|
@@ -155,7 +162,6 @@
|
|
|
filterable
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
- :size="searchSize"
|
|
|
v-model="ruleForm.storeToCompany"
|
|
|
:options="ruleForm.selectStock_go_options"
|
|
|
@change="getValue"
|
|
@@ -168,7 +174,6 @@
|
|
|
placeholder="请输入仓库名称"
|
|
|
filterable
|
|
|
clearable
|
|
|
- :size="searchSize"
|
|
|
v-model="ruleForm.stockName"
|
|
|
@change="getValue1"
|
|
|
>
|
|
@@ -187,7 +192,6 @@
|
|
|
><!-- 仓库详细地址 -->
|
|
|
<el-form-item label="详细地址" prop="stockDetail">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入内容"
|
|
|
v-model="ruleForm.stockDetail"
|
|
|
clearable
|
|
@@ -197,24 +201,23 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="负责人" prop="stockCharge" style="width: 50%">
|
|
|
+ <el-form-item label="负责人" prop="stockDutyer" style="width: 50%">
|
|
|
<el-select
|
|
|
- :size="searchSize"
|
|
|
- @change="getValue2"
|
|
|
style="width: 100%"
|
|
|
- v-model="ruleForm.stockCharge"
|
|
|
+ v-model="ruleForm.stockDutyer"
|
|
|
placeholder="请选择仓库负责人"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in ruleForm.stockDutyer_options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.nickname"
|
|
|
+ :value="item.id"
|
|
|
>
|
|
|
- <span style="float: left">{{ item.label }}</span>
|
|
|
+ {{ item }}
|
|
|
+ <!-- <span style="float: left">{{ item.nickname }}</span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{
|
|
|
- item.value
|
|
|
- }}</span>
|
|
|
+ item.role_name
|
|
|
+ }}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -226,7 +229,6 @@
|
|
|
><!-- 收发货联系人 -->
|
|
|
<el-form-item label="联系人" prop="linker">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请填写联系人"
|
|
|
v-model="ruleForm.linker"
|
|
|
clearable
|
|
@@ -239,7 +241,6 @@
|
|
|
<el-form-item label="电话" prop="linker_mobile">
|
|
|
<el-input
|
|
|
type="number"
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入联系人电话"
|
|
|
v-model="ruleForm.linker_mobile"
|
|
|
clearable
|
|
@@ -259,7 +260,6 @@
|
|
|
<!-- 收发货详细地址 -->
|
|
|
<el-form-item label="详细地址" prop="linker_detail">
|
|
|
<el-input
|
|
|
- :size="searchSize"
|
|
|
placeholder="请输入详细地址"
|
|
|
v-model="ruleForm.linker_detail"
|
|
|
clearable
|
|
@@ -298,6 +298,7 @@ import addEdit from "./addEdit";
|
|
|
import { mapGetters } from "vuex";
|
|
|
import AreaSelect from "@/components/AreaSelect.vue"; //省/市/区选择组件
|
|
|
import { isMobile } from "@/utils/validate";
|
|
|
+import CompanySearch from "@/components/companySearch";
|
|
|
export default {
|
|
|
name: "addStore",
|
|
|
// props: ["showModel", "id", "isDetail", "sitem"],
|
|
@@ -307,6 +308,7 @@ export default {
|
|
|
addEdit,
|
|
|
ExTable,
|
|
|
AreaSelect, //省/市/区选择组件
|
|
|
+ CompanySearch, //获取公司列表组件
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(["tablebtnSize", "searchSize", "size"]),
|
|
@@ -335,6 +337,7 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
return {
|
|
|
+ stockDutyer: "", //仓库负责人
|
|
|
// addId: this.$route.query.id,
|
|
|
addId: "",
|
|
|
// route: this.$route,
|
|
@@ -351,26 +354,28 @@ export default {
|
|
|
},
|
|
|
ruleForm: {
|
|
|
storeToCompany: "",
|
|
|
- stockToArea: [],
|
|
|
selectStock_go: "", //公司
|
|
|
- selectStock_go_options: [], //公司列表
|
|
|
stockName: "", //仓库名称
|
|
|
stockDutyer: "", //仓库负责人
|
|
|
- stockDutyer_options: [], //仓库负责人列表
|
|
|
- stockDetail: [], //仓库详细地址
|
|
|
+ dutyer_mobile: "",
|
|
|
linker: "", //收发货联系人
|
|
|
linker_mobile: "", //收发货人联系电话
|
|
|
- linker_addr: [], //收发货地址
|
|
|
linker_detail: "",
|
|
|
+ // linker_addr: [], //收发货地址
|
|
|
+ // stockDutyer_options: [], //仓库负责人列表
|
|
|
+ // stockDetail: [], //仓库详细地址
|
|
|
+ // selectStock_go_options: [], //公司列表
|
|
|
+ // stockToArea: [],
|
|
|
}, //
|
|
|
rulesThis: this.rules,
|
|
|
rules: {
|
|
|
storeToCompany: [
|
|
|
{
|
|
|
- type: "array",
|
|
|
+ // type: "array",
|
|
|
required: true,
|
|
|
message: "请选择仓库所在公司",
|
|
|
- trigger: "change",
|
|
|
+ trigger: "blur",
|
|
|
+ // trigger: "change",
|
|
|
},
|
|
|
],
|
|
|
stockName: [
|
|
@@ -380,12 +385,13 @@ export default {
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
- stockCharge: [
|
|
|
+ stockDutyer: [
|
|
|
{
|
|
|
- type: "array",
|
|
|
+ // type: "array",
|
|
|
required: true,
|
|
|
message: "请选择仓库负责人",
|
|
|
- trigger: "change",
|
|
|
+ // trigger: "change",
|
|
|
+ trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
stockToArea: [
|
|
@@ -417,6 +423,13 @@ export default {
|
|
|
validator: validatemobile,
|
|
|
},
|
|
|
],
|
|
|
+ dutyer_mobile: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: "blur",
|
|
|
+ validator: validatemobile,
|
|
|
+ },
|
|
|
+ ],
|
|
|
linker_addr: [
|
|
|
{
|
|
|
type: "array",
|
|
@@ -459,13 +472,16 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
- // console.log(this.$route.query);
|
|
|
this.addId = this.$route.query.id;
|
|
|
this.getCompany();
|
|
|
this.initForm();
|
|
|
- // this.addStock();
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 获取公司列表
|
|
|
+ getCompanyName(val) {
|
|
|
+ this.ruleForm.storeToCompany = val[1];
|
|
|
+ console.log(this.ruleForm.storeToCompany);
|
|
|
+ },
|
|
|
// 联系人电话
|
|
|
linkerMobile(val) {
|
|
|
this.parmValue.wsm_mobile = val;
|
|
@@ -506,8 +522,8 @@ export default {
|
|
|
},
|
|
|
// 负责人
|
|
|
getValue2(val) {
|
|
|
- this.parmValue.contactor = val;
|
|
|
- this.ruleForm.stockDutyer = val;
|
|
|
+ console.log(val);
|
|
|
+ this.stockDutyer = val;
|
|
|
},
|
|
|
closeModel() {
|
|
|
console.log("closeModel!!");
|
|
@@ -517,12 +533,12 @@ export default {
|
|
|
// await this.getClist();
|
|
|
// await this.getRole();
|
|
|
this.ruleForm = {
|
|
|
- stockName: "", //仓库名称
|
|
|
- stockDutyer: "", //仓库负责人
|
|
|
+ stockName: "my-Stock", //仓库名称
|
|
|
stockDutyer: "", //仓库负责人
|
|
|
linker: "", //收发货联系人
|
|
|
+
|
|
|
linker_mobile: "", //收发货人联系电话
|
|
|
- linker_addr: [], //收发货地址
|
|
|
+ linker_addr: "", //收发货地址
|
|
|
selectStock_go_options: [],
|
|
|
stockDutyer_options: [],
|
|
|
};
|
|
@@ -590,6 +606,7 @@ export default {
|
|
|
this.$refs.ruleForm.resetFields();
|
|
|
this.$refs.ruleForm.clearValidate();
|
|
|
this.ruleForm = {
|
|
|
+ dutyer_mobile: "18818818818",
|
|
|
stockDetail: "顺义区宏远888",
|
|
|
selectStock_go: "", //出库仓库
|
|
|
selectStock_go_options: [], //出库仓库列表
|
|
@@ -607,13 +624,36 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
async submitForm(formName) {
|
|
|
- console.log(this.parmValue);
|
|
|
- console.log(this.$refs[formName].validate);
|
|
|
+ let paraValue = {
|
|
|
+ name: this.ruleForm.stockName,
|
|
|
+ supplierNo: this.ruleForm.storeToCompany,
|
|
|
+ wsmtype: "1", //仓库类型
|
|
|
+ addr: this.ruleForm.stockDetail, //仓库地址
|
|
|
+ contactor: this.stockDutyer, //仓库联系人职位
|
|
|
+ mobile: this.ruleForm.dutyer_mobile, //仓库联系人
|
|
|
+ position: "采购",
|
|
|
+ // wsm_type:"",后台暂时不用
|
|
|
+ wsm_name: this.ruleForm.linker,
|
|
|
+ wsm_mobile: this.ruleForm.linker_mobile,
|
|
|
+ addr_code: {
|
|
|
+ // provice_code: this.ruleForm.linker_addr[0],
|
|
|
+ // city_code: this.ruleForm.linker_addr[1],
|
|
|
+ // area_code: this.ruleForm.linker_addr[2],
|
|
|
+ },
|
|
|
+ wsm_addr: this.ruleForm.linker_detail,
|
|
|
+ addrs_code: {
|
|
|
+ // provice_code: this.ruleForm.stockToArea[0],
|
|
|
+ // city_code: this.ruleForm.stockToArea[1],
|
|
|
+ // area_code: this.ruleForm.stockToArea[2],
|
|
|
+ },
|
|
|
+ };
|
|
|
+ console.log(paraValue);
|
|
|
+ console.log(this.ruleForm);
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
console.log(valid);
|
|
|
if (valid) {
|
|
|
console.log("submit!");
|
|
|
- this.getList();
|
|
|
+ this.getList(paraValue);
|
|
|
} else {
|
|
|
console.log("error submit!!");
|
|
|
return false;
|
|
@@ -621,8 +661,8 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
// 表单提交
|
|
|
- async getList() {
|
|
|
- const res = await asyncRequest.add(this.parmValue);
|
|
|
+ async getList(paraValue) {
|
|
|
+ const res = await asyncRequest.add(paraValue);
|
|
|
if (res && res.code === 0 && res.data) {
|
|
|
console.log(res.data);
|
|
|
} else if (res && res.code >= 100 && res.code <= 104) {
|
|
@@ -642,15 +682,18 @@ export default {
|
|
|
};
|
|
|
const res = await asyncRequest.getlist(obj);
|
|
|
if (res && res.code === 0 && res.data) {
|
|
|
- console.log(res.data.list);
|
|
|
- res.data.list.forEach((element) => {
|
|
|
- let dutyer = {
|
|
|
- label: element.nickname,
|
|
|
- value: element.depart[0] ? element.depart[0].name : "",
|
|
|
- };
|
|
|
- // console.log(this.ruleForm.stockDutyer_options);
|
|
|
- this.ruleForm.stockDutyer_options.push(dutyer);
|
|
|
- });
|
|
|
+ const { list } = res.data;
|
|
|
+ this.ruleForm.stockDutyer_options = list;
|
|
|
+ console.log(this.ruleForm.stockDutyer_options);
|
|
|
+ // console.log(res.data.list);
|
|
|
+ // res.data.list.forEach((element) => {
|
|
|
+ // // let dutyer = {
|
|
|
+ // // label: element.nickname,
|
|
|
+ // // value: element.depart[0] ? element.depart[0].name : "",
|
|
|
+ // // };
|
|
|
+ // // console.log(this.ruleForm.stockDutyer_options);
|
|
|
+ // this.ruleForm.stockDutyer_options.push(element);
|
|
|
+ // });
|
|
|
} else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
await this.logout();
|
|
|
} else {
|
|
@@ -661,7 +704,6 @@ export default {
|
|
|
},
|
|
|
async getCompany() {
|
|
|
this.loading = true;
|
|
|
- // console.log(this.parmValue);
|
|
|
const obj = {
|
|
|
page: 1,
|
|
|
size: 15,
|
|
@@ -690,6 +732,7 @@ export default {
|
|
|
this.getDutyer();
|
|
|
this.loading = false;
|
|
|
},
|
|
|
+ // 新建仓库
|
|
|
async addStock() {
|
|
|
this.loading = true;
|
|
|
console.log(this.parmValue);
|