|
@@ -7,33 +7,97 @@
|
|
|
<van-tab :title="proxy.t('contract.deliveryInformation')" />
|
|
|
<van-tab :title="proxy.t('contract.shipmentPlan')" />
|
|
|
<div class="common-process-card" v-show="active == 0">
|
|
|
- <div class="common-title">{{ proxy.t("contract.transactionInformation") }}</div>
|
|
|
- <testForm v-model="formData.data" :formOption="formOption" :formConfig="formConfig" :rules="rules" ref="formDom1"> </testForm>
|
|
|
+ <div class="common-title">
|
|
|
+ {{ proxy.t("contract.transactionInformation") }}
|
|
|
+ </div>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formOption"
|
|
|
+ :formConfig="formConfig"
|
|
|
+ :rules="rules"
|
|
|
+ ref="formDom1"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
</div>
|
|
|
<div class="common-process-card" v-show="active == 1">
|
|
|
- <div class="common-title">{{ proxy.t("contract.commodityInformation") }}</div>
|
|
|
- <testForm v-model="formData.data" :formOption="formGoodsOption" :formConfig="formEmptyConfig" :rules="rules" ref="formDom2"> </testForm>
|
|
|
- <testForm v-model="formData.data" :formOption="formOption" :formConfig="formAmountProductConfig" :rules="rules" ref="formDom3"> </testForm>
|
|
|
+ <div class="common-title">
|
|
|
+ {{ proxy.t("contract.commodityInformation") }}
|
|
|
+ </div>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formGoodsOption"
|
|
|
+ :formConfig="formEmptyConfig"
|
|
|
+ :rules="rules"
|
|
|
+ ref="formDom2"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formOption"
|
|
|
+ :formConfig="formAmountProductConfig"
|
|
|
+ :rules="rules"
|
|
|
+ ref="formDom3"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
</div>
|
|
|
<div class="common-process-card" v-show="active == 2">
|
|
|
<div class="common-title">{{ proxy.t("contract.otherCharges") }}</div>
|
|
|
- <testForm v-model="formData.data" :formOption="formProjectOption" :formConfig="formEmptyConfig" :rules="rules" ref="formDom4"> </testForm>
|
|
|
- <testForm v-model="formData.data" :formOption="formOption" :formConfig="formAmountProjectConfig" :rules="rules" ref="formDom5"> </testForm>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formProjectOption"
|
|
|
+ :formConfig="formEmptyConfig"
|
|
|
+ :rules="rules"
|
|
|
+ ref="formDom4"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formOption"
|
|
|
+ :formConfig="formAmountProjectConfig"
|
|
|
+ :rules="rules"
|
|
|
+ ref="formDom5"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
</div>
|
|
|
<div class="common-process-card" v-show="active == 3">
|
|
|
- <div class="common-title">{{ proxy.t("contract.deliveryInformation") }}</div>
|
|
|
- <testForm v-model="formData.data" :formOption="formOption" :formConfig="formDeliveryConfig" :rules="rulesTwo" ref="formDom6"> </testForm>
|
|
|
+ <div class="common-title">
|
|
|
+ {{ proxy.t("contract.deliveryInformation") }}
|
|
|
+ </div>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formOption"
|
|
|
+ :formConfig="formDeliveryConfig"
|
|
|
+ :rules="rulesTwo"
|
|
|
+ ref="formDom6"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
</div>
|
|
|
<div class="common-process-card" v-show="active == 4">
|
|
|
<div class="common-title">{{ proxy.t("contract.shipmentPlan") }}</div>
|
|
|
- <testForm v-model="formData.data" :formOption="formShipmentOption" :formConfig="formEmptyConfig" :rules="rulesTwo" ref="formDom7"> </testForm>
|
|
|
+ <testForm
|
|
|
+ v-model="formData.data"
|
|
|
+ :formOption="formShipmentOption"
|
|
|
+ :formConfig="formEmptyConfig"
|
|
|
+ :rules="rulesTwo"
|
|
|
+ ref="formDom7"
|
|
|
+ >
|
|
|
+ </testForm>
|
|
|
</div>
|
|
|
</van-tabs>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, getCurrentInstance, onMounted, defineProps, defineExpose, watch, reactive, toRefs } from "vue";
|
|
|
+import {
|
|
|
+ ref,
|
|
|
+ getCurrentInstance,
|
|
|
+ onMounted,
|
|
|
+ defineProps,
|
|
|
+ defineExpose,
|
|
|
+ watch,
|
|
|
+ reactive,
|
|
|
+ toRefs,
|
|
|
+} from "vue";
|
|
|
import { useRoute } from "vue-router";
|
|
|
import testForm from "@/components/testForm/index.vue";
|
|
|
import { getUserInfo } from "@/utils/auth";
|
|
@@ -107,34 +171,44 @@ const formConfig = reactive([
|
|
|
formData.data.sellContactName = "";
|
|
|
formData.data.sellContactNumber = "";
|
|
|
if (val.selectedValues[0]) {
|
|
|
- proxy.post("/contractTemplate/detail", { id: val.selectedValues[0] }).then((res) => {
|
|
|
- formData.data.sellCorporationId = res.data.corporationId;
|
|
|
- if (res.data.corporationId) {
|
|
|
- proxy.post("/corporation/detail", { id: res.data.corporationId }).then((detailCorporation) => {
|
|
|
- let sellCity = "";
|
|
|
- if (detailCorporation.data.countryEnStr) {
|
|
|
- formData.data.sellCountryName = detailCorporation.data.countryEnStr;
|
|
|
- sellCity = detailCorporation.data.countryEnStr;
|
|
|
- }
|
|
|
- if (detailCorporation.data.provinceEnStr) {
|
|
|
- formData.data.sellProvinceName = detailCorporation.data.provinceEnStr;
|
|
|
- sellCity = sellCity + " " + detailCorporation.data.provinceEnStr;
|
|
|
- }
|
|
|
- if (detailCorporation.data.cityEnStr) {
|
|
|
- formData.data.sellCityName = detailCorporation.data.cityEnStr;
|
|
|
- sellCity = sellCity + " " + detailCorporation.data.cityEnStr;
|
|
|
- }
|
|
|
- if (detailCorporation.data.addressEn) {
|
|
|
- formData.data.sellAddress = detailCorporation.data.addressEn;
|
|
|
- }
|
|
|
- formData.data.sellCity = sellCity;
|
|
|
- formDom1.value.formDataShowLabelOne();
|
|
|
- });
|
|
|
- }
|
|
|
- formData.data.sellContactName = res.data.contactName;
|
|
|
- formData.data.sellContactNumber = res.data.contactNumber;
|
|
|
- formDom1.value.formDataShowLabelOne();
|
|
|
- });
|
|
|
+ proxy
|
|
|
+ .post("/contractTemplate/detail", { id: val.selectedValues[0] })
|
|
|
+ .then((res) => {
|
|
|
+ formData.data.sellCorporationId = res.data.corporationId;
|
|
|
+ if (res.data.corporationId) {
|
|
|
+ proxy
|
|
|
+ .post("/corporation/detail", { id: res.data.corporationId })
|
|
|
+ .then((detailCorporation) => {
|
|
|
+ let sellCity = "";
|
|
|
+ if (detailCorporation.data.countryEnStr) {
|
|
|
+ formData.data.sellCountryName =
|
|
|
+ detailCorporation.data.countryEnStr;
|
|
|
+ sellCity = detailCorporation.data.countryEnStr;
|
|
|
+ }
|
|
|
+ if (detailCorporation.data.provinceEnStr) {
|
|
|
+ formData.data.sellProvinceName =
|
|
|
+ detailCorporation.data.provinceEnStr;
|
|
|
+ sellCity =
|
|
|
+ sellCity + " " + detailCorporation.data.provinceEnStr;
|
|
|
+ }
|
|
|
+ if (detailCorporation.data.cityEnStr) {
|
|
|
+ formData.data.sellCityName =
|
|
|
+ detailCorporation.data.cityEnStr;
|
|
|
+ sellCity =
|
|
|
+ sellCity + " " + detailCorporation.data.cityEnStr;
|
|
|
+ }
|
|
|
+ if (detailCorporation.data.addressEn) {
|
|
|
+ formData.data.sellAddress =
|
|
|
+ detailCorporation.data.addressEn;
|
|
|
+ }
|
|
|
+ formData.data.sellCity = sellCity;
|
|
|
+ formDom1.value.formDataShowLabelOne();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ formData.data.sellContactName = res.data.contactName;
|
|
|
+ formData.data.sellContactNumber = res.data.contactNumber;
|
|
|
+ formDom1.value.formDataShowLabelOne();
|
|
|
+ });
|
|
|
}
|
|
|
data.showPicker = false;
|
|
|
},
|
|
@@ -201,42 +275,49 @@ const formConfig = reactive([
|
|
|
formData.data.buyContactName = "";
|
|
|
formData.data.buyContactNumber = "";
|
|
|
if (val.selectedValues[0]) {
|
|
|
- proxy.post("/customer/detail", { id: val.selectedValues[0] }).then((res) => {
|
|
|
- if (res.data.customerUserList && res.data.customerUserList.length > 0) {
|
|
|
- formData.data.buyContactName = res.data.customerUserList[0].name;
|
|
|
- if (res.data.customerUserList[0].contactJson) {
|
|
|
- let contactJson = JSON.parse(res.data.customerUserList[0].contactJson);
|
|
|
- if (contactJson && contactJson.length > 0) {
|
|
|
- formData.data.buyContactNumber = contactJson[0].contactNo;
|
|
|
+ proxy
|
|
|
+ .post("/customer/detail", { id: val.selectedValues[0] })
|
|
|
+ .then((res) => {
|
|
|
+ if (
|
|
|
+ res.data.customerUserList &&
|
|
|
+ res.data.customerUserList.length > 0
|
|
|
+ ) {
|
|
|
+ formData.data.buyContactName = res.data.customerUserList[0].name;
|
|
|
+ if (res.data.customerUserList[0].contactJson) {
|
|
|
+ let contactJson = JSON.parse(
|
|
|
+ res.data.customerUserList[0].contactJson
|
|
|
+ );
|
|
|
+ if (contactJson && contactJson.length > 0) {
|
|
|
+ formData.data.buyContactNumber = contactJson[0].contactNo;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- let countryCityName = "";
|
|
|
- if (res.data.countryName) {
|
|
|
- countryCityName = res.data.countryName;
|
|
|
- if (res.data.provinceName) {
|
|
|
- countryCityName = countryCityName + " " + res.data.provinceName;
|
|
|
- if (res.data.cityName) {
|
|
|
- countryCityName = countryCityName + " " + res.data.cityName;
|
|
|
+ let countryCityName = "";
|
|
|
+ if (res.data.countryName) {
|
|
|
+ countryCityName = res.data.countryName;
|
|
|
+ if (res.data.provinceName) {
|
|
|
+ countryCityName = countryCityName + " " + res.data.provinceName;
|
|
|
+ if (res.data.cityName) {
|
|
|
+ countryCityName = countryCityName + " " + res.data.cityName;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- formData.data.countryCityName = countryCityName;
|
|
|
- if (res.data.cityId) {
|
|
|
- formData.data.countryCity = res.data.cityId;
|
|
|
- } else if (res.data.provinceId) {
|
|
|
- formData.data.countryCity = res.data.provinceId;
|
|
|
- } else if (res.data.countryId) {
|
|
|
- formData.data.countryCity = res.data.countryId;
|
|
|
- } else {
|
|
|
- formData.data.countryCity = "";
|
|
|
- }
|
|
|
- formData.data.countryId = res.data.countryId;
|
|
|
- formData.data.provinceId = res.data.provinceId;
|
|
|
- formData.data.cityId = res.data.cityId;
|
|
|
- formData.data.buyPostalCode = res.data.zipCode;
|
|
|
- formData.data.buyAddress = res.data.address;
|
|
|
- });
|
|
|
+ formData.data.countryCityName = countryCityName;
|
|
|
+ if (res.data.cityId) {
|
|
|
+ formData.data.countryCity = res.data.cityId;
|
|
|
+ } else if (res.data.provinceId) {
|
|
|
+ formData.data.countryCity = res.data.provinceId;
|
|
|
+ } else if (res.data.countryId) {
|
|
|
+ formData.data.countryCity = res.data.countryId;
|
|
|
+ } else {
|
|
|
+ formData.data.countryCity = "";
|
|
|
+ }
|
|
|
+ formData.data.countryId = res.data.countryId;
|
|
|
+ formData.data.provinceId = res.data.provinceId;
|
|
|
+ formData.data.cityId = res.data.cityId;
|
|
|
+ formData.data.buyPostalCode = res.data.zipCode;
|
|
|
+ formData.data.buyAddress = res.data.address;
|
|
|
+ });
|
|
|
} else {
|
|
|
formData.data.countryId = "";
|
|
|
formData.data.provinceId = "";
|
|
@@ -305,15 +386,22 @@ const formGoodsOption = reactive({
|
|
|
},
|
|
|
data: [],
|
|
|
changeFn: (val, data, index, indexTwo, propName) => {
|
|
|
- let selectList = formData.data[propName].filter((item, itemIndex) => item[data.prop] === val.selectedValues[0] && itemIndex !== index);
|
|
|
+ let selectList = formData.data[propName].filter(
|
|
|
+ (item, itemIndex) =>
|
|
|
+ item[data.prop] === val.selectedValues[0] && itemIndex !== index
|
|
|
+ );
|
|
|
if (selectList && selectList.length > 0) {
|
|
|
return showFailToast(proxy.t("contract.productRepeat"));
|
|
|
}
|
|
|
formData.data[propName][index][data.prop] = val.selectedValues[0];
|
|
|
- formData.data.contractShipmentList[index][data.prop] = val.selectedValues[0];
|
|
|
- let list = data.data.filter((item) => item[data.fieldNames.value] == val.selectedValues[0]);
|
|
|
+ formData.data.contractShipmentList[index][data.prop] =
|
|
|
+ val.selectedValues[0];
|
|
|
+ let list = data.data.filter(
|
|
|
+ (item) => item[data.fieldNames.value] == val.selectedValues[0]
|
|
|
+ );
|
|
|
if (list && list.length > 0) {
|
|
|
- formData.data[propName][index][data.prop + "Name"] = list[0][data.fieldNames.text];
|
|
|
+ formData.data[propName][index][data.prop + "Name"] =
|
|
|
+ list[0][data.fieldNames.text];
|
|
|
let name = list[0].name;
|
|
|
if (list[0].standardJson) {
|
|
|
let standardJson = JSON.parse(list[0].standardJson);
|
|
@@ -369,7 +457,10 @@ const formGoodsOption = reactive({
|
|
|
},
|
|
|
],
|
|
|
clickFn: () => {
|
|
|
- if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
|
|
|
+ if (
|
|
|
+ formData.data.contractProductList &&
|
|
|
+ formData.data.contractProductList.length > 0
|
|
|
+ ) {
|
|
|
formData.data.contractProductList.push({
|
|
|
productId: null,
|
|
|
productName: null,
|
|
@@ -473,7 +564,10 @@ const formProjectOption = reactive({
|
|
|
},
|
|
|
],
|
|
|
clickFn: () => {
|
|
|
- if (formData.data.contractProjectList && formData.data.contractProjectList.length > 0) {
|
|
|
+ if (
|
|
|
+ formData.data.contractProjectList &&
|
|
|
+ formData.data.contractProjectList.length > 0
|
|
|
+ ) {
|
|
|
formData.data.contractProjectList.push({
|
|
|
payName: null,
|
|
|
amount: null,
|
|
@@ -652,22 +746,42 @@ const formShipmentOption = reactive({
|
|
|
},
|
|
|
});
|
|
|
const rules = {
|
|
|
- contractType: [{ required: true, message: proxy.t("contract.contractTypeMsg") }],
|
|
|
- contractTemplateId: [{ required: true, message: proxy.t("contract.contractTemplateIdMsg") }],
|
|
|
- sellCorporationId: [{ required: true, message: proxy.t("contract.sellCorporationIdMsg") }],
|
|
|
- buyCorporationId: [{ required: true, message: proxy.t("contract.buyCorporationIdMsg") }],
|
|
|
+ contractType: [
|
|
|
+ { required: true, message: proxy.t("contract.contractTypeMsg") },
|
|
|
+ ],
|
|
|
+ contractTemplateId: [
|
|
|
+ { required: true, message: proxy.t("contract.contractTemplateIdMsg") },
|
|
|
+ ],
|
|
|
+ sellCorporationId: [
|
|
|
+ { required: true, message: proxy.t("contract.sellCorporationIdMsg") },
|
|
|
+ ],
|
|
|
+ buyCorporationId: [
|
|
|
+ { required: true, message: proxy.t("contract.buyCorporationIdMsg") },
|
|
|
+ ],
|
|
|
sellCity: [{ required: true, message: proxy.t("contract.cityMsg") }],
|
|
|
countryCity: [{ required: true, message: proxy.t("contract.cityMsg") }],
|
|
|
sellAddress: [{ required: true, message: proxy.t("contract.addressMsg") }],
|
|
|
buyAddress: [{ required: true, message: proxy.t("contract.addressMsg") }],
|
|
|
- sellContactName: [{ required: true, message: proxy.t("contract.contactNameMsg") }],
|
|
|
- sellContactNumber: [{ required: true, message: proxy.t("contract.contactNumberMsg") }],
|
|
|
+ sellContactName: [
|
|
|
+ { required: true, message: proxy.t("contract.contactNameMsg") },
|
|
|
+ ],
|
|
|
+ sellContactNumber: [
|
|
|
+ { required: true, message: proxy.t("contract.contactNumberMsg") },
|
|
|
+ ],
|
|
|
// buyPostalCode: [{ required: true, message: proxy.t("contract.postalCodeMsg") }],
|
|
|
- buyContactName: [{ required: true, message: proxy.t("contract.contactNameMsg") }],
|
|
|
- buyContactNumber: [{ required: true, message: proxy.t("contract.contactNumberMsg") }],
|
|
|
+ buyContactName: [
|
|
|
+ { required: true, message: proxy.t("contract.contactNameMsg") },
|
|
|
+ ],
|
|
|
+ buyContactNumber: [
|
|
|
+ { required: true, message: proxy.t("contract.contactNumberMsg") },
|
|
|
+ ],
|
|
|
productId: [{ required: true, message: proxy.t("contract.productIdMsg") }],
|
|
|
- productName: [{ required: true, message: proxy.t("contract.productNameMsg") }],
|
|
|
- productModel: [{ required: true, message: proxy.t("contract.productModelMsg") }],
|
|
|
+ productName: [
|
|
|
+ { required: true, message: proxy.t("contract.productNameMsg") },
|
|
|
+ ],
|
|
|
+ productModel: [
|
|
|
+ { required: true, message: proxy.t("contract.productModelMsg") },
|
|
|
+ ],
|
|
|
quantity: [{ required: true, message: proxy.t("contract.quantityMsg") }],
|
|
|
price: [{ required: true, message: proxy.t("contract.priceMsg") }],
|
|
|
payName: [{ required: true, message: proxy.t("contract.chargeItemMsg") }],
|
|
@@ -675,12 +789,24 @@ const rules = {
|
|
|
};
|
|
|
const rulesTwo = {
|
|
|
currency: [{ required: true, message: proxy.t("contract.currencyMsg") }],
|
|
|
- paymentMethod: [{ required: true, message: proxy.t("contract.paymentMethodMsg") }],
|
|
|
- advanceRatio: [{ required: true, message: proxy.t("contract.advanceRatioMsg") }],
|
|
|
- shroffAccountId: [{ required: true, message: proxy.t("contract.shroffAccountIdMsg") }],
|
|
|
- tradeMethods: [{ required: true, message: proxy.t("contract.tradeMethodsMsg") }],
|
|
|
- transportMethod: [{ required: true, message: proxy.t("contract.transportMethodMsg") }],
|
|
|
- transportRemark: [{ required: true, message: proxy.t("contract.transportRemarkMsg") }],
|
|
|
+ paymentMethod: [
|
|
|
+ { required: true, message: proxy.t("contract.paymentMethodMsg") },
|
|
|
+ ],
|
|
|
+ advanceRatio: [
|
|
|
+ { required: true, message: proxy.t("contract.advanceRatioMsg") },
|
|
|
+ ],
|
|
|
+ shroffAccountId: [
|
|
|
+ { required: true, message: proxy.t("contract.shroffAccountIdMsg") },
|
|
|
+ ],
|
|
|
+ tradeMethods: [
|
|
|
+ { required: true, message: proxy.t("contract.tradeMethodsMsg") },
|
|
|
+ ],
|
|
|
+ transportMethod: [
|
|
|
+ { required: true, message: proxy.t("contract.transportMethodMsg") },
|
|
|
+ ],
|
|
|
+ transportRemark: [
|
|
|
+ { required: true, message: proxy.t("contract.transportRemarkMsg") },
|
|
|
+ ],
|
|
|
remark: [{ required: true, message: proxy.t("contract.remarksMsg") }],
|
|
|
};
|
|
|
const getDict = () => {
|
|
@@ -689,27 +815,31 @@ const getDict = () => {
|
|
|
pageSize: 999,
|
|
|
tenantId: getUserInfo().tenantId,
|
|
|
};
|
|
|
- proxy.post("/dictTenantData/page", { ...query, dictCode: "contract_type" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formConfig[0].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.dictValue,
|
|
|
- value: item.dictKey,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/contractTemplate/page", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formConfig[1].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- label: item.templateName,
|
|
|
- value: item.id,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ proxy
|
|
|
+ .post("/dictTenantData/page", { ...query, dictCode: "contract_type" })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formConfig[0].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dictValue,
|
|
|
+ value: item.dictKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ proxy
|
|
|
+ .post("/contractTemplate/page", { pageNum: 1, pageSize: 999 })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formConfig[1].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.templateName,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
proxy.post("/corporation/page", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
if (res.data.rows && res.data.rows.length > 0) {
|
|
|
formConfig[3].data = res.data.rows.map((item) => {
|
|
@@ -721,82 +851,94 @@ const getDict = () => {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- proxy.post("/productInfo/page", { pageNum: 1, pageSize: 9999, definition: "1" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formGoodsOption.btnConfig.listConfig[0].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- label: item.name,
|
|
|
- value: item.id,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/dictTenantData/page", { ...query, dictCode: "account_currency" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formDeliveryConfig[1].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.dictValue,
|
|
|
- value: item.dictKey,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/dictTenantData/page", { ...query, dictCode: "funds_payment_method" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formDeliveryConfig[3].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.dictValue,
|
|
|
- value: item.dictKey,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/accountManagement/page", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formDeliveryConfig[5].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- label: item.alias,
|
|
|
- value: item.id,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/dictTenantData/page", { ...query, dictCode: "trade_mode" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formDeliveryConfig[7].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.dictValue,
|
|
|
- value: item.dictKey,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- proxy.post("/dictTenantData/page", { ...query, dictCode: "shipping_method" }).then((res) => {
|
|
|
- if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formDeliveryConfig[8].data = res.data.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.dictValue,
|
|
|
- value: item.dictKey,
|
|
|
- };
|
|
|
+ if (!["10", "20"].includes(route.query.processType)) {
|
|
|
+ proxy
|
|
|
+ .post("/productInfo/page", {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 9999,
|
|
|
+ definition: "1",
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formGoodsOption.btnConfig.listConfig[0].data = res.data.rows.map(
|
|
|
+ (item) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
});
|
|
|
- }
|
|
|
- });
|
|
|
- if (["10", "20"].includes(route.query.processType)) {
|
|
|
- proxy.post("/customer/page", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
+ }
|
|
|
+
|
|
|
+ proxy
|
|
|
+ .post("/dictTenantData/page", { ...query, dictCode: "account_currency" })
|
|
|
+ .then((res) => {
|
|
|
if (res.data.rows && res.data.rows.length > 0) {
|
|
|
- formConfig[9].data = res.data.rows.map((item) => {
|
|
|
+ formDeliveryConfig[1].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dictValue,
|
|
|
+ value: item.dictKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ proxy
|
|
|
+ .post("/dictTenantData/page", {
|
|
|
+ ...query,
|
|
|
+ dictCode: "funds_payment_method",
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formDeliveryConfig[3].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dictValue,
|
|
|
+ value: item.dictKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ proxy
|
|
|
+ .post("/accountManagement/page", { pageNum: 1, pageSize: 999 })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formDeliveryConfig[5].data = res.data.rows.map((item) => {
|
|
|
return {
|
|
|
...item,
|
|
|
- label: item.name,
|
|
|
+ label: item.alias,
|
|
|
value: item.id,
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- } else {
|
|
|
- proxy.post("/customer/privateSeaPage", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
+ proxy
|
|
|
+ .post("/dictTenantData/page", { ...query, dictCode: "trade_mode" })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formDeliveryConfig[7].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dictValue,
|
|
|
+ value: item.dictKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ proxy
|
|
|
+ .post("/dictTenantData/page", { ...query, dictCode: "shipping_method" })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formDeliveryConfig[8].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dictValue,
|
|
|
+ value: item.dictKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (["10", "20"].includes(route.query.processType)) {
|
|
|
+ proxy.post("/customer/page", { pageNum: 1, pageSize: 999 }).then((res) => {
|
|
|
if (res.data.rows && res.data.rows.length > 0) {
|
|
|
formConfig[9].data = res.data.rows.map((item) => {
|
|
|
return {
|
|
@@ -807,15 +949,41 @@ const getDict = () => {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+ } else {
|
|
|
+ proxy
|
|
|
+ .post("/customer/privateSeaPage", { pageNum: 1, pageSize: 999 })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.rows && res.data.rows.length > 0) {
|
|
|
+ formConfig[9].data = res.data.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
};
|
|
|
getDict();
|
|
|
const calculatedAmount = () => {
|
|
|
- if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
|
|
|
+ if (
|
|
|
+ formData.data.contractProductList &&
|
|
|
+ formData.data.contractProductList.length > 0
|
|
|
+ ) {
|
|
|
for (let i = 0; i < formData.data.contractProductList.length; i++) {
|
|
|
let money = 0;
|
|
|
- if (formData.data.contractProductList[i].quantity && formData.data.contractProductList[i].price) {
|
|
|
- money = Number(Math.round(Number(formData.data.contractProductList[i].quantity) * Number(formData.data.contractProductList[i].price) * 10000) / 10000);
|
|
|
+ if (
|
|
|
+ formData.data.contractProductList[i].quantity &&
|
|
|
+ formData.data.contractProductList[i].price
|
|
|
+ ) {
|
|
|
+ money = Number(
|
|
|
+ Math.round(
|
|
|
+ Number(formData.data.contractProductList[i].quantity) *
|
|
|
+ Number(formData.data.contractProductList[i].price) *
|
|
|
+ 10000
|
|
|
+ ) / 10000
|
|
|
+ );
|
|
|
}
|
|
|
formData.data.contractProductList[i].amount = money;
|
|
|
}
|
|
@@ -826,19 +994,49 @@ const handleChangeAmount = () => {
|
|
|
let money = 0;
|
|
|
let amountProduct = 0;
|
|
|
let amountProject = 0;
|
|
|
- if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
|
|
|
+ if (
|
|
|
+ formData.data.contractProductList &&
|
|
|
+ formData.data.contractProductList.length > 0
|
|
|
+ ) {
|
|
|
for (let i = 0; i < formData.data.contractProductList.length; i++) {
|
|
|
if (formData.data.contractProductList[i].amount) {
|
|
|
- money = Number(Math.round((Number(money) + Number(formData.data.contractProductList[i].amount)) * 10000) / 10000);
|
|
|
- amountProduct = Number(Math.round((Number(amountProduct) + Number(formData.data.contractProductList[i].amount)) * 10000) / 10000);
|
|
|
+ money = Number(
|
|
|
+ Math.round(
|
|
|
+ (Number(money) +
|
|
|
+ Number(formData.data.contractProductList[i].amount)) *
|
|
|
+ 10000
|
|
|
+ ) / 10000
|
|
|
+ );
|
|
|
+ amountProduct = Number(
|
|
|
+ Math.round(
|
|
|
+ (Number(amountProduct) +
|
|
|
+ Number(formData.data.contractProductList[i].amount)) *
|
|
|
+ 10000
|
|
|
+ ) / 10000
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (formData.data.contractProjectList && formData.data.contractProjectList.length > 0) {
|
|
|
+ if (
|
|
|
+ formData.data.contractProjectList &&
|
|
|
+ formData.data.contractProjectList.length > 0
|
|
|
+ ) {
|
|
|
for (let i = 0; i < formData.data.contractProjectList.length; i++) {
|
|
|
if (formData.data.contractProjectList[i].amount) {
|
|
|
- money = Number(Math.round((Number(money) + Number(formData.data.contractProjectList[i].amount)) * 10000) / 10000);
|
|
|
- amountProject = Number(Math.round((Number(amountProject) + Number(formData.data.contractProjectList[i].amount)) * 10000) / 10000);
|
|
|
+ money = Number(
|
|
|
+ Math.round(
|
|
|
+ (Number(money) +
|
|
|
+ Number(formData.data.contractProjectList[i].amount)) *
|
|
|
+ 10000
|
|
|
+ ) / 10000
|
|
|
+ );
|
|
|
+ amountProject = Number(
|
|
|
+ Math.round(
|
|
|
+ (Number(amountProject) +
|
|
|
+ Number(formData.data.contractProjectList[i].amount)) *
|
|
|
+ 10000
|
|
|
+ ) / 10000
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -852,7 +1050,12 @@ const handleSubmit = async () => {
|
|
|
active.value = 0;
|
|
|
return false;
|
|
|
} else {
|
|
|
- if (!(formData.data.contractProductList && formData.data.contractProductList.length > 0)) {
|
|
|
+ if (
|
|
|
+ !(
|
|
|
+ formData.data.contractProductList &&
|
|
|
+ formData.data.contractProductList.length > 0
|
|
|
+ )
|
|
|
+ ) {
|
|
|
active.value = 1;
|
|
|
showFailToast(proxy.t("contract.pleaseAddProduct"));
|
|
|
return false;
|
|
@@ -889,10 +1092,23 @@ let status = ref(true);
|
|
|
watch(
|
|
|
refProps.queryData,
|
|
|
() => {
|
|
|
- if (refProps.queryData.value && ["10", "20", "30"].includes(route.query.processType)) {
|
|
|
+ if (
|
|
|
+ refProps.queryData.value &&
|
|
|
+ ["10", "20", "30"].includes(route.query.processType)
|
|
|
+ ) {
|
|
|
for (const key in refProps.queryData.value) {
|
|
|
formData.data[key] = refProps.queryData.value[key];
|
|
|
}
|
|
|
+ if (["10", "20"].includes(route.query.processType)) {
|
|
|
+ formGoodsOption.btnConfig.listConfig[0].data =
|
|
|
+ formData.data.contractProductList.map((item) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.name,
|
|
|
+ value: item.productId,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
formDom1.value.formDataShowLabelOne();
|
|
|
formDom2.value.formDataListShowLabelOne();
|
|
|
formDom6.value.formDataShowLabelOne();
|
|
@@ -924,30 +1140,45 @@ watch(
|
|
|
let countryCityName = "";
|
|
|
formData.data.countryCity = formData.data.countryId;
|
|
|
proxy.post("/customizeArea/list", { parentId: "0" }).then((res) => {
|
|
|
- let list = res.data.filter((item) => item.id == formData.data.countryId);
|
|
|
+ let list = res.data.filter(
|
|
|
+ (item) => item.id == formData.data.countryId
|
|
|
+ );
|
|
|
if (list && list.length > 0) {
|
|
|
countryCityName = list[0].name;
|
|
|
formData.data.countryCityName = countryCityName;
|
|
|
}
|
|
|
if (formData.data.provinceId) {
|
|
|
formData.data.countryCity = formData.data.provinceId;
|
|
|
- proxy.post("/customizeArea/list", { parentId: formData.data.countryId }).then((res) => {
|
|
|
- let list = res.data.filter((item) => item.id == formData.data.provinceId);
|
|
|
- if (list && list.length > 0) {
|
|
|
- countryCityName = countryCityName + " " + list[0].name;
|
|
|
- formData.data.countryCityName = countryCityName;
|
|
|
- }
|
|
|
- if (formData.data.cityId) {
|
|
|
- formData.data.countryCity = formData.data.cityId;
|
|
|
- proxy.post("/customizeArea/list", { parentId: formData.data.provinceId }).then((res) => {
|
|
|
- let list = res.data.filter((item) => item.id == formData.data.cityId);
|
|
|
- if (list && list.length > 0) {
|
|
|
- countryCityName = countryCityName + " " + list[0].name;
|
|
|
- formData.data.countryCityName = countryCityName;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ proxy
|
|
|
+ .post("/customizeArea/list", {
|
|
|
+ parentId: formData.data.countryId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ let list = res.data.filter(
|
|
|
+ (item) => item.id == formData.data.provinceId
|
|
|
+ );
|
|
|
+ if (list && list.length > 0) {
|
|
|
+ countryCityName = countryCityName + " " + list[0].name;
|
|
|
+ formData.data.countryCityName = countryCityName;
|
|
|
+ }
|
|
|
+ if (formData.data.cityId) {
|
|
|
+ formData.data.countryCity = formData.data.cityId;
|
|
|
+ proxy
|
|
|
+ .post("/customizeArea/list", {
|
|
|
+ parentId: formData.data.provinceId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ let list = res.data.filter(
|
|
|
+ (item) => item.id == formData.data.cityId
|
|
|
+ );
|
|
|
+ if (list && list.length > 0) {
|
|
|
+ countryCityName =
|
|
|
+ countryCityName + " " + list[0].name;
|
|
|
+ formData.data.countryCityName = countryCityName;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
}
|