lxf 1 yıl önce
ebeveyn
işleme
5cd3c5b4b3

+ 65 - 0
src/lang/cnLXF.js

@@ -243,6 +243,71 @@ export function cnLXF() {
       buyCorporation: "客户名称",
       amount: "报价金额",
       status: "审批状态",
+      transactionInformation: "交易信息",
+      quotationDetails: "报价明细",
+      commodityInformation: "商品信息",
+      otherCharges: "其他收费",
+      otherInformation: "其他信息",
+      contractTemplateId: "合同模板",
+      contractTemplateIdMsg: "请选择合同模板",
+      sellerInformation: "卖方信息",
+      buyerInformation: "买方信息",
+      sellCorporationId: "卖方公司",
+      sellCorporationIdMsg: "请选择卖方公司",
+      buyCorporationId: "买方公司",
+      buyCorporationIdMsg: "请选择买方公司",
+      cityText: "所在城市",
+      cityMsg: "请选择所在城市",
+      address: "详细地址",
+      addressMsg: "请输入详细地址",
+      contactName: "联系人",
+      contactNameMsg: "请输入联系人",
+      contactNumber: "联系电话",
+      contactNumberMsg: "请输入联系电话",
+      postalCode: "邮编",
+      postalCodeMsg: "请输入邮编",
+      productId: "商品名称",
+      productIdMsg: "请选择商品",
+      productName: "商品英文名",
+      productNameMsg: "请输入商品英文名",
+      productModel: "规格型号",
+      productModelMsg: "请输入规格型号",
+      quantity: "数量",
+      quantityMsg: "请输入数量",
+      price: "单价",
+      priceMsg: "请输入单价",
+      chargeItem: "收费项目",
+      chargeItemMsg: "请输入收费项目",
+      amount: "金额",
+      amountMsg: "请输入金额",
+      remark: "备注",
+      productRepeat: "商品选择重复",
+      pleaseAddProduct: "请添加商品",
+      amountProduct: "合计金额",
+      amountProductPlaceholder: "根据报价明细自动统计",
+      amountProject: "合计金额",
+      amountProjectPlaceholder: "根据收费项目自动统计",
+      quotedAmount: "报价金额",
+      currency: "币种",
+      currencyMsg: "请选择币种",
+      amountAll: "报价总金额",
+      amountAllPlaceholder: "根据报价明细、收费项目自动统计",
+      effective: "报价有效期 (天)",
+      effectiveMsg: "请输入报价有效期",
+      paymentMethod: "付款方式",
+      paymentMethodMsg: "请选择付款方式",
+      advanceRatio: "预付款比例 (%)",
+      advanceRatioMsg: "请输入预付款比例",
+      deliveryInformation: "交付信息",
+      tradeMethods: "贸易方式",
+      tradeMethodsMsg: "请选择贸易方式",
+      transportMethod: "运输方式",
+      transportMethodMsg: "请选择运输方式",
+      transportRemark: "运输说明",
+      transportRemarkMsg: "请输入运输说明",
+      remarks: "付款条件",
+      remarksMsg: "请输入付款条件",
+      warranty: "质保期 (天)",
     },
   };
   return cnLXF;

+ 1 - 1
src/views/processApproval/components/Contract.vue

@@ -37,7 +37,7 @@ import { ref, getCurrentInstance, onMounted, defineProps, defineExpose, watch, r
 import { useRoute } from "vue-router";
 import testForm from "@/components/testForm/index.vue";
 import { getUserInfo } from "@/utils/auth";
-import { showSuccessToast, showFailToast } from "vant";
+import { showFailToast } from "vant";
 
 // 接收父组件的传值
 const props = defineProps({

+ 117 - 232
src/views/processApproval/components/PriceSheet.vue

@@ -1,33 +1,28 @@
 <template>
   <div class="form">
     <van-tabs v-model:active="active">
-      <van-tab :title="proxy.t('contract.transactionInformation')" />
-      <van-tab :title="proxy.t('contract.commodityInformation')" />
-      <van-tab :title="proxy.t('contract.otherCharges')" />
-      <van-tab :title="proxy.t('contract.deliveryInformation')" />
-      <van-tab :title="proxy.t('contract.shipmentPlan')" />
+      <van-tab :title="proxy.t('priceSheet.transactionInformation')" />
+      <van-tab :title="proxy.t('priceSheet.quotationDetails')" />
+      <van-tab :title="proxy.t('priceSheet.otherCharges')" />
+      <van-tab :title="proxy.t('priceSheet.otherInformation')" />
       <div class="common-process-card" v-show="active == 0">
-        <div class="common-title">{{ proxy.t("contract.transactionInformation") }}</div>
+        <div class="common-title">{{ proxy.t("priceSheet.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>
+        <div class="common-title">{{ proxy.t("priceSheet.quotationDetails") }}</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>
+        <div class="common-title">{{ proxy.t("priceSheet.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>
       </div>
       <div class="common-process-card" v-show="active == 3">
-        <div class="common-title">{{ proxy.t("contract.deliveryInformation") }}</div>
+        <div class="common-title">{{ proxy.t("priceSheet.otherInformation") }}</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>
-      </div>
     </van-tabs>
   </div>
 </template>
@@ -37,7 +32,7 @@ import { ref, getCurrentInstance, onMounted, defineProps, defineExpose, watch, r
 import { useRoute } from "vue-router";
 import testForm from "@/components/testForm/index.vue";
 import { getUserInfo } from "@/utils/auth";
-import { showSuccessToast, showFailToast } from "vant";
+import { showFailToast } from "vant";
 
 // 接收父组件的传值
 const props = defineProps({
@@ -48,10 +43,8 @@ const route = useRoute();
 const active = ref(0);
 const formData = reactive({
   data: {
-    contractType: "1",
-    contractProductList: [],
-    contractProjectList: [],
-    contractShipmentList: [],
+    quotationProductList: [],
+    quotationPayList: [],
   },
 });
 const formDom1 = ref(null);
@@ -60,7 +53,6 @@ const formDom3 = ref(null);
 const formDom4 = ref(null);
 const formDom5 = ref(null);
 const formDom6 = ref(null);
-const formDom7 = ref(null);
 const formOption = reactive({
   readonly: false,
   disabled: false,
@@ -72,19 +64,7 @@ const formOption = reactive({
 const formConfig = reactive([
   {
     type: "picker",
-    label: proxy.t("contract.contractType"),
-    prop: "contractType",
-    itemType: "onePicker",
-    showPicker: false,
-    fieldNames: {
-      text: "label",
-      value: "value",
-    },
-    data: [],
-  },
-  {
-    type: "picker",
-    label: proxy.t("contract.contractTemplateId"),
+    label: proxy.t("priceSheet.contractTemplateId"),
     prop: "contractTemplateId",
     itemType: "onePicker",
     showPicker: false,
@@ -137,11 +117,11 @@ const formConfig = reactive([
   },
   {
     type: "title",
-    title: proxy.t("contract.sellerInformation"),
+    title: proxy.t("priceSheet.sellerInformation"),
   },
   {
     type: "picker",
-    label: proxy.t("contract.sellCorporationId"),
+    label: proxy.t("priceSheet.sellCorporationId"),
     prop: "sellCorporationId",
     itemType: "onePicker",
     showPicker: false,
@@ -154,36 +134,36 @@ const formConfig = reactive([
   },
   {
     type: "input",
-    label: proxy.t("contract.cityText"),
+    label: proxy.t("priceSheet.cityText"),
     prop: "sellCity",
     itemType: "text",
     readonly: true,
   },
   {
     type: "input",
-    label: proxy.t("contract.address"),
+    label: proxy.t("priceSheet.address"),
     prop: "sellAddress",
     itemType: "textarea",
   },
   {
     type: "input",
-    label: proxy.t("contract.contactName"),
+    label: proxy.t("priceSheet.contactName"),
     prop: "sellContactName",
     itemType: "text",
   },
   {
     type: "input",
-    label: proxy.t("contract.contactNumber"),
+    label: proxy.t("priceSheet.contactNumber"),
     prop: "sellContactNumber",
     itemType: "text",
   },
   {
     type: "title",
-    title: proxy.t("contract.buyerInformation"),
+    title: proxy.t("priceSheet.buyerInformation"),
   },
   {
     type: "picker",
-    label: proxy.t("contract.buyCorporationId"),
+    label: proxy.t("priceSheet.buyCorporationId"),
     prop: "buyCorporationId",
     itemType: "onePicker",
     showPicker: false,
@@ -245,32 +225,32 @@ const formConfig = reactive([
   },
   {
     type: "cascader",
-    label: proxy.t("contract.cityText"),
+    label: proxy.t("priceSheet.cityText"),
     prop: "city",
     itemType: "city",
     showPicker: false,
   },
   {
     type: "input",
-    label: proxy.t("contract.address"),
+    label: proxy.t("priceSheet.address"),
     prop: "buyAddress",
     itemType: "textarea",
   },
   {
     type: "input",
-    label: proxy.t("contract.postalCode"),
+    label: proxy.t("priceSheet.postalCode"),
     prop: "buyPostalCode",
     itemType: "text",
   },
   {
     type: "input",
-    label: proxy.t("contract.contactName"),
+    label: proxy.t("priceSheet.contactName"),
     prop: "buyContactName",
     itemType: "text",
   },
   {
     type: "input",
-    label: proxy.t("contract.contactNumber"),
+    label: proxy.t("priceSheet.contactNumber"),
     prop: "buyContactNumber",
     itemType: "text",
   },
@@ -284,13 +264,13 @@ const formGoodsOption = reactive({
   hiddenSubmitBtn: true,
   btnConfig: {
     isNeed: true,
-    prop: "contractProductList",
+    prop: "quotationProductList",
     plain: true,
-    listTitle: proxy.t("contract.commodityInformation"),
+    listTitle: proxy.t("priceSheet.commodityInformation"),
     listConfig: [
       {
         type: "picker",
-        label: proxy.t("contract.productId"),
+        label: proxy.t("priceSheet.productId"),
         prop: "productId",
         itemType: "onePicker",
         showPicker: false,
@@ -303,10 +283,9 @@ const formGoodsOption = reactive({
         changeFn: (val, data, index, indexTwo, propName) => {
           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"));
+            return showFailToast(proxy.t("priceSheet.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]);
           if (list && list.length > 0) {
             formData.data[propName][index][data.prop + "Name"] = list[0][data.fieldNames.text];
@@ -319,7 +298,6 @@ const formGoodsOption = reactive({
             }
             formData.data[propName][index].productName = name;
             formData.data[propName][index].productModel = list[0].spec;
-            formData.data.contractShipmentList[index].productName = name;
           } else {
             formData.data[propName][index][data.prop + "Name"] = "";
           }
@@ -327,27 +305,24 @@ const formGoodsOption = reactive({
           formData.data[propName][index].price = null;
           formData.data[propName][index].amount = null;
           formData.data[propName][index].remark = null;
-          formData.data.contractShipmentList[index].shipmentTime = null;
-          formData.data.contractShipmentList[index].quantity = null;
-          formData.data.contractShipmentList[index].remark = null;
           data.showPicker = false;
         },
       },
       {
         type: "input",
-        label: proxy.t("contract.productName"),
+        label: proxy.t("priceSheet.productName"),
         prop: "productName",
         itemType: "text",
       },
       {
         type: "input",
-        label: proxy.t("contract.productModel"),
+        label: proxy.t("priceSheet.productModel"),
         prop: "productModel",
         itemType: "text",
       },
       {
         type: "input",
-        label: proxy.t("contract.quantity"),
+        label: proxy.t("priceSheet.quantity"),
         prop: "quantity",
         itemType: "number",
         changeFn: () => {
@@ -356,7 +331,7 @@ const formGoodsOption = reactive({
       },
       {
         type: "input",
-        label: proxy.t("contract.price"),
+        label: proxy.t("priceSheet.price"),
         prop: "price",
         itemType: "number",
         changeFn: () => {
@@ -365,8 +340,8 @@ const formGoodsOption = reactive({
       },
     ],
     clickFn: () => {
-      if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
-        formData.data.contractProductList.push({
+      if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
+        formData.data.quotationProductList.push({
           productId: null,
           productName: null,
           productModel: null,
@@ -375,15 +350,8 @@ const formGoodsOption = reactive({
           amount: null,
           remark: null,
         });
-        formData.data.contractShipmentList.push({
-          productId: null,
-          productName: null,
-          shipmentTime: null,
-          quantity: null,
-          remark: null,
-        });
       } else {
-        formData.data.contractProductList = [
+        formData.data.quotationProductList = [
           {
             productId: null,
             productName: null,
@@ -394,20 +362,10 @@ const formGoodsOption = reactive({
             remark: null,
           },
         ];
-        formData.data.contractShipmentList = [
-          {
-            productId: null,
-            productName: null,
-            shipmentTime: null,
-            quantity: null,
-            remark: null,
-          },
-        ];
       }
     },
     deleteFn: (index) => {
-      formData.data.contractProductList.splice(index, 1);
-      formData.data.contractShipmentList.splice(index, 1);
+      formData.data.quotationProductList.splice(index, 1);
       handleChangeAmount();
     },
   },
@@ -416,21 +374,21 @@ const formEmptyConfig = reactive([]);
 const formAmountProductConfig = reactive([
   {
     type: "input",
-    label: proxy.t("contract.amountProduct"),
+    label: proxy.t("priceSheet.amountProduct"),
     prop: "amountProduct",
     itemType: "text",
     readonly: true,
-    placeholder: proxy.t("contract.amountProductPlaceholder"),
+    placeholder: proxy.t("priceSheet.amountProductPlaceholder"),
   },
 ]);
 const formAmountProjectConfig = reactive([
   {
     type: "input",
-    label: proxy.t("contract.amountProject"),
+    label: proxy.t("priceSheet.amountProject"),
     prop: "amountProject",
     itemType: "text",
     readonly: true,
-    placeholder: proxy.t("contract.amountProjectPlaceholder"),
+    placeholder: proxy.t("priceSheet.amountProjectPlaceholder"),
   },
 ]);
 const formProjectOption = reactive({
@@ -442,19 +400,19 @@ const formProjectOption = reactive({
   hiddenSubmitBtn: true,
   btnConfig: {
     isNeed: true,
-    prop: "contractProjectList",
+    prop: "quotationPayList",
     plain: true,
-    listTitle: proxy.t("contract.chargeItem"),
+    listTitle: proxy.t("priceSheet.chargeItem"),
     listConfig: [
       {
         type: "input",
-        label: proxy.t("contract.chargeItem"),
+        label: proxy.t("priceSheet.chargeItem"),
         prop: "payName",
         itemType: "text",
       },
       {
         type: "input",
-        label: proxy.t("contract.amount"),
+        label: proxy.t("priceSheet.amount"),
         prop: "amount",
         itemType: "number",
         changeFn: () => {
@@ -463,20 +421,20 @@ const formProjectOption = reactive({
       },
       {
         type: "input",
-        label: proxy.t("contract.remark"),
+        label: proxy.t("priceSheet.remark"),
         prop: "remark",
         itemType: "textarea",
       },
     ],
     clickFn: () => {
-      if (formData.data.contractProjectList && formData.data.contractProjectList.length > 0) {
-        formData.data.contractProjectList.push({
+      if (formData.data.quotationPayList && formData.data.quotationPayList.length > 0) {
+        formData.data.quotationPayList.push({
           payName: null,
           amount: null,
           remark: null,
         });
       } else {
-        formData.data.contractProjectList = [
+        formData.data.quotationPayList = [
           {
             payName: null,
             amount: null,
@@ -486,7 +444,7 @@ const formProjectOption = reactive({
       }
     },
     deleteFn: (index) => {
-      formData.data.contractProjectList.splice(index, 1);
+      formData.data.quotationPayList.splice(index, 1);
       handleChangeAmount();
     },
   },
@@ -494,11 +452,11 @@ const formProjectOption = reactive({
 const formDeliveryConfig = reactive([
   {
     type: "title",
-    title: proxy.t("contract.collectionInformation"),
+    title: proxy.t("priceSheet.quotedAmount"),
   },
   {
     type: "picker",
-    label: proxy.t("contract.currency"),
+    label: proxy.t("priceSheet.currency"),
     prop: "currency",
     itemType: "onePicker",
     showPicker: false,
@@ -510,15 +468,21 @@ const formDeliveryConfig = reactive([
   },
   {
     type: "input",
-    label: proxy.t("contract.amountAll"),
+    label: proxy.t("priceSheet.amountAll"),
     prop: "amount",
     itemType: "text",
     readonly: true,
-    placeholder: proxy.t("contract.amountAllPlaceholder"),
+    placeholder: proxy.t("priceSheet.amountAllPlaceholder"),
+  },
+  {
+    type: "input",
+    label: proxy.t("priceSheet.effective"),
+    prop: "effective",
+    itemType: "digit",
   },
   {
     type: "picker",
-    label: proxy.t("contract.paymentMethod"),
+    label: proxy.t("priceSheet.paymentMethod"),
     prop: "paymentMethod",
     itemType: "onePicker",
     showPicker: false,
@@ -530,7 +494,7 @@ const formDeliveryConfig = reactive([
   },
   {
     type: "input",
-    label: proxy.t("contract.advanceRatio"),
+    label: proxy.t("priceSheet.advanceRatio"),
     prop: "advanceRatio",
     itemType: "number",
     inputFn: (val) => {
@@ -544,24 +508,12 @@ const formDeliveryConfig = reactive([
     },
   },
   {
-    type: "picker",
-    label: proxy.t("contract.shroffAccountId"),
-    prop: "shroffAccountId",
-    itemType: "onePicker",
-    showPicker: false,
-    fieldNames: {
-      text: "label",
-      value: "value",
-    },
-    data: [],
-  },
-  {
     type: "title",
-    title: proxy.t("contract.deliveryInformation"),
+    title: proxy.t("priceSheet.deliveryInformation"),
   },
   {
     type: "picker",
-    label: proxy.t("contract.tradeMethods"),
+    label: proxy.t("priceSheet.tradeMethods"),
     prop: "tradeMethods",
     itemType: "onePicker",
     showPicker: false,
@@ -573,7 +525,7 @@ const formDeliveryConfig = reactive([
   },
   {
     type: "picker",
-    label: proxy.t("contract.transportMethod"),
+    label: proxy.t("priceSheet.transportMethod"),
     prop: "transportMethod",
     itemType: "onePicker",
     showPicker: false,
@@ -585,99 +537,53 @@ const formDeliveryConfig = reactive([
   },
   {
     type: "input",
-    label: proxy.t("contract.transportRemark"),
+    label: proxy.t("priceSheet.transportRemark"),
     prop: "transportRemark",
     itemType: "text",
   },
   {
     type: "input",
-    label: proxy.t("contract.remarks"),
+    label: proxy.t("priceSheet.remarks"),
     prop: "remark",
     itemType: "textarea",
   },
   {
     type: "input",
-    label: proxy.t("contract.warranty"),
+    label: proxy.t("priceSheet.warranty"),
     prop: "warranty",
     itemType: "digit",
   },
-  {
-    type: "input",
-    label: proxy.t("contract.deliveryTime"),
-    prop: "deliveryTime",
-    itemType: "digit",
-  },
 ]);
-const formShipmentOption = reactive({
-  readonly: false,
-  disabled: false,
-  labelAlign: "top",
-  scroll: true,
-  labelWidth: "62pk",
-  hiddenSubmitBtn: true,
-  btnConfig: {
-    isNeed: false,
-    prop: "contractShipmentList",
-    plain: true,
-    listTitle: proxy.t("contract.commodity"),
-    listConfig: [
-      {
-        type: "input",
-        label: proxy.t("contract.productName"),
-        prop: "productName",
-        itemType: "text",
-        readonly: true,
-        placeholder: proxy.t("contract.productNamePlaceholder"),
-      },
-      {
-        type: "picker",
-        label: proxy.t("contract.shipmentTime"),
-        prop: "shipmentTime",
-        itemType: "datePicker",
-        showPicker: false,
-        split: "-",
-        columnsType: ["year", "month", "day"],
-      },
-      {
-        type: "input",
-        label: proxy.t("contract.quantityShipment"),
-        prop: "quantity",
-        itemType: "number",
-      },
-    ],
-  },
-});
 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") }],
-  sellCity: [{ required: true, message: proxy.t("contract.cityMsg") }],
-  city: [{ 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") }],
-  buyPostalCode: [{ required: true, message: proxy.t("contract.postalCodeMsg") }],
-  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") }],
-  quantity: [{ required: true, message: proxy.t("contract.quantityMsg") }],
-  price: [{ required: true, message: proxy.t("contract.priceMsg") }],
-  payName: [{ required: true, message: proxy.t("contract.chargeItemMsg") }],
-  amount: [{ required: true, message: proxy.t("contract.amountMsg") }],
+  contractTemplateId: [{ required: true, message: proxy.t("priceSheet.contractTemplateIdMsg") }],
+  sellCorporationId: [{ required: true, message: proxy.t("priceSheet.sellCorporationIdMsg") }],
+  buyCorporationId: [{ required: true, message: proxy.t("priceSheet.buyCorporationIdMsg") }],
+  sellCity: [{ required: true, message: proxy.t("priceSheet.cityMsg") }],
+  city: [{ required: true, message: proxy.t("priceSheet.cityMsg") }],
+  sellAddress: [{ required: true, message: proxy.t("priceSheet.addressMsg") }],
+  buyAddress: [{ required: true, message: proxy.t("priceSheet.addressMsg") }],
+  sellContactName: [{ required: true, message: proxy.t("priceSheet.contactNameMsg") }],
+  sellContactNumber: [{ required: true, message: proxy.t("priceSheet.contactNumberMsg") }],
+  buyPostalCode: [{ required: true, message: proxy.t("priceSheet.postalCodeMsg") }],
+  buyContactName: [{ required: true, message: proxy.t("priceSheet.contactNameMsg") }],
+  buyContactNumber: [{ required: true, message: proxy.t("priceSheet.contactNumberMsg") }],
+  productId: [{ required: true, message: proxy.t("priceSheet.productIdMsg") }],
+  productName: [{ required: true, message: proxy.t("priceSheet.productNameMsg") }],
+  productModel: [{ required: true, message: proxy.t("priceSheet.productModelMsg") }],
+  quantity: [{ required: true, message: proxy.t("priceSheet.quantityMsg") }],
+  price: [{ required: true, message: proxy.t("priceSheet.priceMsg") }],
+  payName: [{ required: true, message: proxy.t("priceSheet.chargeItemMsg") }],
+  amount: [{ required: true, message: proxy.t("priceSheet.amountMsg") }],
 };
 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") }],
-  remark: [{ required: true, message: proxy.t("contract.remarksMsg") }],
+  currency: [{ required: true, message: proxy.t("priceSheet.currencyMsg") }],
+  effective: [{ required: true, message: proxy.t("priceSheet.effectiveMsg") }],
+  paymentMethod: [{ required: true, message: proxy.t("priceSheet.paymentMethodMsg") }],
+  advanceRatio: [{ required: true, message: proxy.t("priceSheet.advanceRatioMsg") }],
+  tradeMethods: [{ required: true, message: proxy.t("priceSheet.tradeMethodsMsg") }],
+  transportMethod: [{ required: true, message: proxy.t("priceSheet.transportMethodMsg") }],
+  transportRemark: [{ required: true, message: proxy.t("priceSheet.transportRemarkMsg") }],
+  remark: [{ required: true, message: proxy.t("priceSheet.remarksMsg") }],
 };
 const getDict = () => {
   let query = {
@@ -685,19 +591,9 @@ 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) => {
+      formConfig[0].data = res.data.rows.map((item) => {
         return {
           ...item,
           label: item.templateName,
@@ -708,7 +604,7 @@ const getDict = () => {
   });
   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) => {
+      formConfig[2].data = res.data.rows.map((item) => {
         return {
           ...item,
           label: item.name,
@@ -719,7 +615,7 @@ const getDict = () => {
   });
   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) => {
+      formConfig[8].data = res.data.rows.map((item) => {
         return {
           ...item,
           label: item.name,
@@ -751,7 +647,7 @@ const getDict = () => {
   });
   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) => {
+      formDeliveryConfig[4].data = res.data.rows.map((item) => {
         return {
           label: item.dictValue,
           value: item.dictKey,
@@ -759,17 +655,6 @@ const getDict = () => {
       });
     }
   });
-  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) => {
@@ -793,13 +678,13 @@ const getDict = () => {
 };
 getDict();
 const calculatedAmount = () => {
-  if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
-    for (let i = 0; i < formData.data.contractProductList.length; i++) {
+  if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
+    for (let i = 0; i < formData.data.quotationProductList.length; i++) {
       let money = 0;
-      if (formData.data.contractProductList[i].quantity && formData.data.contractProductList[i].price) {
-        money = parseFloat(Number(formData.data.contractProductList[i].quantity) * Number(formData.data.contractProductList[i].price)).toFixed(2);
+      if (formData.data.quotationProductList[i].quantity && formData.data.quotationProductList[i].price) {
+        money = parseFloat(Number(formData.data.quotationProductList[i].quantity) * Number(formData.data.quotationProductList[i].price)).toFixed(2);
       }
-      formData.data.contractProductList[i].amount = money;
+      formData.data.quotationProductList[i].amount = money;
     }
   }
   handleChangeAmount();
@@ -808,19 +693,19 @@ const handleChangeAmount = () => {
   let money = 0;
   let amountProduct = 0;
   let amountProject = 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 = parseFloat(Number(money) + Number(formData.data.contractProductList[i].amount)).toFixed(2);
-        amountProduct = parseFloat(Number(amountProduct) + Number(formData.data.contractProductList[i].amount)).toFixed(2);
+  if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
+    for (let i = 0; i < formData.data.quotationProductList.length; i++) {
+      if (formData.data.quotationProductList[i].amount) {
+        money = parseFloat(Number(money) + Number(formData.data.quotationProductList[i].amount)).toFixed(2);
+        amountProduct = parseFloat(Number(amountProduct) + Number(formData.data.quotationProductList[i].amount)).toFixed(2);
       }
     }
   }
-  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 = parseFloat(Number(money) + Number(formData.data.contractProjectList[i].amount)).toFixed(2);
-        amountProject = parseFloat(Number(amountProject) + Number(formData.data.contractProjectList[i].amount)).toFixed(2);
+  if (formData.data.quotationPayList && formData.data.quotationPayList.length > 0) {
+    for (let i = 0; i < formData.data.quotationPayList.length; i++) {
+      if (formData.data.quotationPayList[i].amount) {
+        money = parseFloat(Number(money) + Number(formData.data.quotationPayList[i].amount)).toFixed(2);
+        amountProject = parseFloat(Number(amountProject) + Number(formData.data.quotationPayList[i].amount)).toFixed(2);
       }
     }
   }
@@ -831,12 +716,12 @@ const handleChangeAmount = () => {
 const handleSubmit = async () => {
   const flag = await formDom1.value.validateForm().then((status) => {
     if (status) {
-      active.value = 0;
+      active.value = 3;
       return false;
     } else {
-      if (!(formData.data.contractProductList && formData.data.contractProductList.length > 0)) {
+      if (!(formData.data.quotationProductList && formData.data.quotationProductList.length > 0)) {
         active.value = 1;
-        showFailToast(proxy.t("contract.pleaseAddProduct"));
+        showFailToast(proxy.t("priceSheet.pleaseAddProduct"));
         return false;
       }
       return formDom2.value.validateForm().then((status1) => {