002201 před 1 rokem
rodič
revize
ddd51fe67b

+ 0 - 27
src/components/super-form/index.vue

@@ -55,23 +55,6 @@ export default {
         return prop.required;
       }
     },
-    //
-    getFormItemDisabled(prop, value) {
-      if (typeof prop.disabled === "function") {
-        return prop.disabled(value);
-      }
-      if (typeof prop.disabled === "boolean") {
-        return prop.disabled;
-      }
-    },
-    //
-    getPickerOptions(prop, value) {
-      if (typeof prop.disabled === "function") {
-        return prop.pickerOptions(value);
-      } else {
-        return prop.pickerOptions;
-      }
-    },
     // 继承el-table的Method
     extendMethod() {
       const refMethod = Object.entries(this.$refs["superForm"]);
@@ -159,19 +142,9 @@ export default {
             >
             </component>
             <component
-              v-else-if="attr.is === 'el-date-picker'"
-              v-bind="attr"
-              v-model="innerValue[item.key]"
-              :disabled="getFormItemDisabled(attr, innerValue)"
-              :pickerOptions="getPickerOptions(attr, innerValue)"
-              style="width: 100%"
-            >
-            </component>
-            <component
               v-else
               v-bind="attr"
               v-model="innerValue[item.key]"
-              :disabled="getFormItemDisabled(attr, innerValue)"
               style="width: 100%"
             >
             </component>

+ 0 - 8
src/views/purchase/contract/add/columns.js

@@ -202,14 +202,6 @@ export default function useColumns() {
       attr: {
         is: "el-date-picker",
         valueFormat: "yyyy-MM-dd",
-        disabled: (prop) => !prop.effectiveDate,
-        pickerOptions: (prop) => {
-          return {
-            disabledDate(time) {
-              return time.getTime() < Date.now(prop.effectiveDate);
-            },
-          };
-        },
       },
     },
     {

+ 23 - 0
src/views/purchase/contract/add/index.vue

@@ -71,6 +71,29 @@ export default {
       },
       immediate: true,
     },
+    "params.effectiveDate": {
+      handler: function (newValue) {
+        console.log(newValue);
+        this.rules.endDate = [
+          {
+            validator: (rule, value, callback) => {
+              if (newValue === undefined || newValue === null) {
+                callback(new Error("请选择合同生效日期"));
+              } else if (
+                new Date(value).getTime() <
+                new Date(newValue).getTime() + 24 * 1000 * 3600
+              ) {
+                callback(new Error("合同失效日期必须大于合同生效日期!"));
+              } else {
+                callback();
+              }
+            },
+            trigger: "change",
+          },
+        ];
+      },
+      immediate: true,
+    },
   },
   methods: {
     //