|
@@ -11,42 +11,36 @@
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label="地址" prop="sellCountryId">
|
|
<el-form-item label="地址" prop="sellCountryId">
|
|
- <el-select v-model="formData.data.sellCountryId" placeholder="国家" disabled>
|
|
|
|
- <el-option v-for="item in sellCountryData" :label="item.chineseName" :value="item.id"> </el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellCountryId" placeholder="请输入国家" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label=" " prop="sellProvinceId">
|
|
<el-form-item label=" " prop="sellProvinceId">
|
|
- <el-select v-model="formData.data.sellProvinceId" placeholder="省/洲" disabled>
|
|
|
|
- <el-option v-for="item in sellProvinceData" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellProvinceId" placeholder="请输入省/州" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label=" " prop="sellCityId">
|
|
<el-form-item label=" " prop="sellCityId">
|
|
- <el-select v-model="formData.data.sellCityId" placeholder="城市" disabled>
|
|
|
|
- <el-option v-for="item in sellCityData" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellCityId" placeholder="请输入城市" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
<el-form-item prop="sellAddress">
|
|
<el-form-item prop="sellAddress">
|
|
- <el-input v-model="formData.data.sellAddress" type="textarea" disabled> </el-input>
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellAddress" type="textarea"> </el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-row style="margin-top: 20px; width: 100%">
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label="联系人" prop="sellContactName">
|
|
<el-form-item label="联系人" prop="sellContactName">
|
|
- <el-input v-model="formData.data.sellContactName" placeholder="请输入联系人" disabled />
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellContactName" placeholder="请输入联系人" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
<el-form-item label=" " prop="sellContactNumber">
|
|
<el-form-item label=" " prop="sellContactNumber">
|
|
- <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" disabled />
|
|
|
|
|
|
+ <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -354,15 +348,12 @@ const shippingMethod = ref([]);
|
|
const templateList = ref([]);
|
|
const templateList = ref([]);
|
|
const corporationList = ref([]);
|
|
const corporationList = ref([]);
|
|
const customerList = ref([]);
|
|
const customerList = ref([]);
|
|
-const sellCountryData = ref([]);
|
|
|
|
-const sellProvinceData = ref([]);
|
|
|
|
-const sellCityData = ref([]);
|
|
|
|
const countryData = ref([]);
|
|
const countryData = ref([]);
|
|
const provinceData = ref([]);
|
|
const provinceData = ref([]);
|
|
const cityData = ref([]);
|
|
const cityData = ref([]);
|
|
const customerUserList = ref([]);
|
|
const customerUserList = ref([]);
|
|
const openProduct = ref(false);
|
|
const openProduct = ref(false);
|
|
-let formData = reactive({
|
|
|
|
|
|
+const formData = reactive({
|
|
data: {
|
|
data: {
|
|
amount: undefined,
|
|
amount: undefined,
|
|
quotationProductList: [],
|
|
quotationProductList: [],
|
|
@@ -545,38 +536,46 @@ const getDict = () => {
|
|
});
|
|
});
|
|
};
|
|
};
|
|
getDict();
|
|
getDict();
|
|
-const getSellCityData = (id, type, isChange) => {
|
|
|
|
- proxy.post("/areaInfo/list", { parentId: id }).then((res) => {
|
|
|
|
- if (type === "20") {
|
|
|
|
- sellProvinceData.value = res;
|
|
|
|
- if (isChange) {
|
|
|
|
- formData.data.provinceId = "";
|
|
|
|
- formData.data.cityId = "";
|
|
|
|
- }
|
|
|
|
- } else if (type === "30") {
|
|
|
|
- sellCityData.value = res;
|
|
|
|
- if (isChange) {
|
|
|
|
- formData.data.cityId = "";
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- sellCountryData.value = res;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-};
|
|
|
|
-getSellCityData("0");
|
|
|
|
const changeTemplate = (val) => {
|
|
const changeTemplate = (val) => {
|
|
if (val) {
|
|
if (val) {
|
|
proxy.post("/contractTemplate/detail", { id: val }).then(
|
|
proxy.post("/contractTemplate/detail", { id: val }).then(
|
|
(res) => {
|
|
(res) => {
|
|
|
|
+ proxy.post("/areaInfo/list", { parentId: "0" }).then((resCountry) => {
|
|
|
|
+ let sellCountryData = resCountry.filter((item) => item.id === res.countryId);
|
|
|
|
+ if (sellCountryData && sellCountryData.length > 0) {
|
|
|
|
+ formData.data.sellCountryId = sellCountryData[0].chineseName;
|
|
|
|
+ } else {
|
|
|
|
+ formData.data.sellCountryId = "";
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if (res.countryId) {
|
|
|
|
+ proxy.post("/areaInfo/list", { parentId: res.countryId }).then((resProvince) => {
|
|
|
|
+ let sellProvinceData = resProvince.filter((item) => item.id === res.provinceId);
|
|
|
|
+ if (sellProvinceData && sellProvinceData.length > 0) {
|
|
|
|
+ formData.data.sellProvinceId = sellProvinceData[0].name;
|
|
|
|
+ } else {
|
|
|
|
+ formData.data.sellProvinceId = "";
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ formData.data.sellProvinceId = "";
|
|
|
|
+ }
|
|
|
|
+ if (res.provinceId) {
|
|
|
|
+ proxy.post("/areaInfo/list", { parentId: res.provinceId }).then((resCity) => {
|
|
|
|
+ let sellCityData = resCity.filter((item) => item.id === res.cityId);
|
|
|
|
+ if (sellCityData && sellCityData.length > 0) {
|
|
|
|
+ formData.data.sellCityId = sellCityData[0].name;
|
|
|
|
+ } else {
|
|
|
|
+ formData.data.sellCityId = "";
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ formData.data.sellCityId = "";
|
|
|
|
+ }
|
|
formData.data.sellCorporationId = res.corporationId;
|
|
formData.data.sellCorporationId = res.corporationId;
|
|
formData.data.sellContactName = res.contactName;
|
|
formData.data.sellContactName = res.contactName;
|
|
formData.data.sellContactNumber = res.contactNumber;
|
|
formData.data.sellContactNumber = res.contactNumber;
|
|
- formData.data.sellCountryId = res.countryId;
|
|
|
|
- formData.data.sellProvinceId = res.provinceId;
|
|
|
|
- formData.data.sellCityId = res.cityId;
|
|
|
|
formData.data.sellAddress = res.address;
|
|
formData.data.sellAddress = res.address;
|
|
- getSellCityData(formData.data.sellCountryId, "20");
|
|
|
|
- getSellCityData(formData.data.sellProvinceId, "30");
|
|
|
|
},
|
|
},
|
|
(err) => {
|
|
(err) => {
|
|
console.log(err);
|
|
console.log(err);
|
|
@@ -604,19 +603,20 @@ const getCityData = (id, type, isChange) => {
|
|
if (type === "20") {
|
|
if (type === "20") {
|
|
provinceData.value = res;
|
|
provinceData.value = res;
|
|
if (isChange) {
|
|
if (isChange) {
|
|
- formData.data.provinceId = "";
|
|
|
|
- formData.data.cityId = "";
|
|
|
|
|
|
+ formData.data.buyProvinceId = "";
|
|
|
|
+ formData.data.buyCityId = "";
|
|
}
|
|
}
|
|
} else if (type === "30") {
|
|
} else if (type === "30") {
|
|
cityData.value = res;
|
|
cityData.value = res;
|
|
if (isChange) {
|
|
if (isChange) {
|
|
- formData.data.cityId = "";
|
|
|
|
|
|
+ formData.data.buyCityId = "";
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
countryData.value = res;
|
|
countryData.value = res;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+getCityData("0");
|
|
const changeCustomer = (val) => {
|
|
const changeCustomer = (val) => {
|
|
formData.data.buyContactName = "";
|
|
formData.data.buyContactName = "";
|
|
formData.data.buyContactNumber = "";
|
|
formData.data.buyContactNumber = "";
|
|
@@ -785,6 +785,39 @@ const handleSubmit = async () => {
|
|
}
|
|
}
|
|
return status;
|
|
return status;
|
|
};
|
|
};
|
|
|
|
+// 接收父组件的传值
|
|
|
|
+const props = defineProps({
|
|
|
|
+ queryData: String,
|
|
|
|
+});
|
|
|
|
+onMounted(() => {
|
|
|
|
+ if (props.queryData.id) {
|
|
|
|
+ proxy.post("/saleQuotation/detail", { id: props.queryData.id }).then((res) => {
|
|
|
|
+ for (var text in res) {
|
|
|
|
+ formData.data[text] = res[text];
|
|
|
|
+ }
|
|
|
|
+ delete formData.data.id;
|
|
|
|
+ delete formData.data.code;
|
|
|
|
+ getCityData(formData.data.buyCountryId, "20");
|
|
|
|
+ getCityData(formData.data.buyProvinceId, "30");
|
|
|
|
+ if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
|
|
|
|
+ formData.data.quotationProductList = formData.data.quotationProductList.map((item) => {
|
|
|
|
+ delete item.id;
|
|
|
|
+ return {
|
|
|
|
+ ...item,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if (formData.data.quotationPayList && formData.data.quotationPayList.length > 0) {
|
|
|
|
+ formData.data.quotationPayList = formData.data.quotationPayList.map((item) => {
|
|
|
|
+ delete item.id;
|
|
|
|
+ return {
|
|
|
|
+ ...item,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+});
|
|
// 向父组件暴露
|
|
// 向父组件暴露
|
|
defineExpose({
|
|
defineExpose({
|
|
submitData: formData.data,
|
|
submitData: formData.data,
|