Parcourir la source

ehsd流程办理

lxf il y a 1 an
Parent
commit
50b051f1d0

+ 14 - 6
src/components/process/Contract.vue

@@ -475,6 +475,7 @@ import { ElMessage } from "element-plus";
 import Editor from "@/components/Editor/index.vue";
 import selectCity from "@/components/selectCity/index.vue";
 import { useRouter, useRoute } from "vue-router";
+
 const route = useRoute();
 // 接收父组件的传值
 const props = defineProps({
@@ -520,7 +521,7 @@ const formOption = reactive({
   labelWidth: 100,
   itemWidth: 100,
   rules: [],
-  disabled: judgeStatus(),
+  disabled: false,
 });
 const formConfig = computed(() => {
   return [
@@ -1112,13 +1113,20 @@ const changeShroffAccount = (val) => {
     }
   }
 };
-
 watch(
-  () => props.queryData,
-  (val, oldVal) => {
+  props.queryData,
+  () => {
+    formOption.disabled = judgeStatus();
     if (props.queryData && (route.query.processType == 10 || route.query.processType == 20)) {
-      formOption.disabled = true;
-      formData.data = val;
+      for (var text in props.queryData) {
+        formData.data[text] = props.queryData[text];
+      }
+      if (formData.data.countryId) {
+        getCityData(formData.data.countryId, "20");
+      }
+      if (formData.data.provinceId) {
+        getCityData(formData.data.provinceId, "30");
+      }
     }
   },
   {

+ 35 - 1
src/components/process/EHSD/Contract.vue

@@ -489,7 +489,9 @@ import CompanyProduct from "@/views/EHSD/productLibrary/companyProduct/index";
 import CustomerProduct from "@/views/EHSD/productLibrary/customerProduct/index";
 import { ElMessage } from "element-plus";
 import selectCity from "@/components/selectCity/index.vue";
+import { useRoute } from "vue-router";
 
+const route = useRoute();
 const { proxy } = getCurrentInstance();
 const innerMethod = ref([]);
 const outsideMethod = ref([]);
@@ -534,7 +536,7 @@ const formOption = reactive({
   labelWidth: 100,
   itemWidth: 100,
   rules: [],
-  disabled: judgeStatus()
+  disabled: false,
 });
 const uploadData = ref({});
 const indicationUploadData = ref({});
@@ -1109,6 +1111,38 @@ const clickSplit = (item) => {
 const clickDelete = (index) => {
   formData.data.contractShipmentList.splice(index, 1);
 };
+watch(
+  props.queryData,
+  () => {
+    formOption.disabled = judgeStatus();
+    if (props.queryData && (route.query.processType == 10 || route.query.processType == 20)) {
+      for (var text in props.queryData) {
+        if (text === "fileList" || text === "packageFileList") {
+          if (props.queryData[text] && props.queryData[text].length > 0) {
+            formData.data[text] = props.queryData[text].map((item) => {
+              return {
+                raw: item,
+                name: item.fileName,
+                url: item.fileUrl,
+              };
+            });
+          }
+        } else {
+          formData.data[text] = props.queryData[text];
+        }
+      }
+      if (formData.data.countryId) {
+        getCityData(formData.data.countryId, "20");
+      }
+      if (formData.data.provinceId) {
+        getCityData(formData.data.provinceId, "30");
+      }
+    }
+  },
+  {
+    deep: true,
+  }
+);
 </script>
 
 <style lang="scss" scoped>

+ 23 - 1
src/components/process/EHSD/PriceSheet.vue

@@ -370,7 +370,9 @@ import CompanyProduct from "@/views/EHSD/productLibrary/companyProduct/index";
 import CustomerProduct from "@/views/EHSD/productLibrary/customerProduct/index";
 import { ElMessage } from "element-plus";
 import selectCity from "@/components/selectCity/index.vue";
+import { useRoute } from "vue-router";
 
+const route = useRoute();
 const { proxy } = getCurrentInstance();
 const innerMethod = ref([]);
 const outsideMethod = ref([]);
@@ -410,7 +412,7 @@ const formOption = reactive({
   labelWidth: 100,
   itemWidth: 100,
   rules: [],
-  disabled: judgeStatus()
+  disabled: false
 });
 const formConfig = computed(() => {
   return [
@@ -849,6 +851,26 @@ const handleSubmit = async () => {
 const props = defineProps({
   queryData: Object,
 });
+watch(
+  props.queryData,
+  () => {
+    formOption.disabled = judgeStatus();
+    if (props.queryData && (route.query.processType == 10 || route.query.processType == 20)) {
+      for (var text in props.queryData) {
+        formData.data[text] = props.queryData[text];
+      }
+      if (formData.data.countryId) {
+        getCityData(formData.data.countryId, "20");
+      }
+      if (formData.data.provinceId) {
+        getCityData(formData.data.provinceId, "30");
+      }
+    }
+  },
+  {
+    deep: true,
+  }
+);
 onMounted(() => {
   if (props.queryData.priceSheetId) {
     proxy.post("/saleQuotation/detail", { id: props.queryData.priceSheetId }).then((res) => {

+ 23 - 1
src/components/process/EHSD/Purchase.vue

@@ -451,7 +451,9 @@ import ProductMaterial from "@/views/product/material/index";
 import { ElMessage } from "element-plus";
 import selectCity from "@/components/selectCity/index.vue";
 import Editor from "@/components/Editor/index.vue";
+import { useRoute } from "vue-router";
 
+const route = useRoute();
 const { proxy } = getCurrentInstance();
 const invoiceType = ref([]);
 const fundsPaymentMethod = ref([]);
@@ -511,7 +513,7 @@ const formOption = reactive({
   labelWidth: 100,
   itemWidth: 100,
   rules: [],
-  disabled: judgeStatus(),
+  disabled: false,
 });
 const formConfig = computed(() => {
   return [
@@ -935,6 +937,26 @@ const handleSubmit = async () => {
 const props = defineProps({
   queryData: Object,
 });
+watch(
+  props.queryData,
+  () => {
+    formOption.disabled = judgeStatus();
+    if (props.queryData && (route.query.processType == 10 || route.query.processType == 20)) {
+      for (var text in props.queryData) {
+        formData.data[text] = props.queryData[text];
+      }
+      if (formData.data.countryId) {
+        getCityData(formData.data.countryId, "20");
+      }
+      if (formData.data.provinceId) {
+        getCityData(formData.data.provinceId, "30");
+      }
+    }
+  },
+  {
+    deep: true,
+  }
+);
 const getFormData = () => {
   return formData.data;
 };

+ 35 - 1
src/components/process/EHSD/Sample.vue

@@ -485,7 +485,9 @@ import CompanyProduct from "@/views/EHSD/productLibrary/companyProduct/index";
 import CustomerProduct from "@/views/EHSD/productLibrary/customerProduct/index";
 import { ElMessage } from "element-plus";
 import selectCity from "@/components/selectCity/index.vue";
+import { useRoute } from "vue-router";
 
+const route = useRoute();
 const { proxy } = getCurrentInstance();
 const innerMethod = ref([]);
 const outsideMethod = ref([]);
@@ -532,7 +534,7 @@ const formOption = reactive({
   labelWidth: 100,
   itemWidth: 100,
   rules: [],
-  disabled: judgeStatus()
+  disabled: false
 });
 const uploadData = ref({});
 const indicationUploadData = ref({});
@@ -1049,6 +1051,38 @@ const handleSubmit = async () => {
 const props = defineProps({
   queryData: Object,
 });
+watch(
+  props.queryData,
+  () => {
+    formOption.disabled = judgeStatus();
+    if (props.queryData && (route.query.processType == 10 || route.query.processType == 20)) {
+      for (var text in props.queryData) {
+        if (text === "fileList" || text === "packageFileList") {
+          if (props.queryData[text] && props.queryData[text].length > 0) {
+            formData.data[text] = props.queryData[text].map((item) => {
+              return {
+                raw: item,
+                name: item.fileName,
+                url: item.fileUrl,
+              };
+            });
+          }
+        } else {
+          formData.data[text] = props.queryData[text];
+        }
+      }
+      if (formData.data.countryId) {
+        getCityData(formData.data.countryId, "20");
+      }
+      if (formData.data.provinceId) {
+        getCityData(formData.data.provinceId, "30");
+      }
+    }
+  },
+  {
+    deep: true,
+  }
+);
 const clickCustomerProduct = () => {
   if (!formData.data.buyCorporationId) {
     return ElMessage("请先选择客户");