002201 1 éve
szülő
commit
2b7dfcd04f

+ 22 - 24
src/views/purchase/apply/add/columns.js

@@ -8,7 +8,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "supplierName", title: "供应商", require: true },
+      item: { key: "supplierName", title: "供应商", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -21,7 +21,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puOrgName", title: "采购组织", require: true },
+      item: { key: "puOrgName", title: "采购组织", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -30,7 +30,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "currencyName", title: "币种", require: true },
+      item: { key: "currencyName", title: "币种", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -43,11 +43,11 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "explainStr", title: "价格合理性说明", require: true },
+      item: { key: "explainStr", title: "价格合理性说明", required: true },
       attr: { is: "el-input" },
     },
     {
-      item: { key: "buyerName", title: "采购员", require: true },
+      item: { key: "buyerName", title: "采购员", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -56,7 +56,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puDeptName", title: "采购部门", require: true },
+      item: { key: "puDeptName", title: "采购部门", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -82,7 +82,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "file", title: "附件", require: true, span: 24 },
+      item: { key: "file", title: "附件", required: true, span: 24 },
       attr: { is: "el-file-upload" },
     },
     {
@@ -115,7 +115,7 @@ export default function useColumns() {
       },
       TableColumns: [
         {
-          item: { key: "materialName", title: "物料名称", require: true },
+          item: { key: "materialName", title: "物料名称", required: true },
           attr: {
             is: "el-popover-select-v2",
             checkbox: true,
@@ -136,7 +136,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "materialCode", title: "物料编码", require: true },
+          item: { key: "materialCode", title: "物料编码", required: true },
           attr: {},
         },
         { item: { key: "manufacturerName", title: "生产厂家" }, attr: {} },
@@ -165,7 +165,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "conversionRate", title: "采购换算率", require: true },
+          item: { key: "conversionRate", title: "采购换算率", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
@@ -174,7 +174,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "tax", title: "税率%", require: true },
+          item: { key: "tax", title: "税率%", required: true },
           attr: {
             is: "el-popover-select-v2",
             valueKey: "ntaxrate",
@@ -184,14 +184,14 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "taxPrice", title: "含税单价", require: true },
+          item: { key: "taxPrice", title: "含税单价", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
           },
         },
         {
-          item: { key: "price", title: "无税单价", require: true },
+          item: { key: "price", title: "无税单价", required: true },
           attr: {
             formatter: (prop) => {
               const { tax = 0, taxPrice = 0 } = prop;
@@ -216,7 +216,7 @@ export default function useColumns() {
           item: {
             key: "periodBegin",
             title: "价格有效期(起)",
-            require: true,
+            required: true,
           },
           attr: {
             is: "el-date-picker",
@@ -225,7 +225,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "periodEnd", title: "价格有效期(止)", require: true },
+          item: { key: "periodEnd", title: "价格有效期(止)", required: true },
           attr: {
             is: "el-date-picker",
             valueFormat: "yyyy-MM-dd",
@@ -275,7 +275,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "priceType", title: "价格类型", require: true },
+          item: { key: "priceType", title: "价格类型", required: true },
           attr: {
             is: "el-select",
             dictName: "sys_price_type",
@@ -283,7 +283,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "isDistributionPrice", title: "配送价", require: true },
+          item: { key: "isDistributionPrice", title: "配送价", required: true },
           attr: {
             is: "el-select",
             dictName: "is_effective",
@@ -312,9 +312,8 @@ export default function useColumns() {
           attr: {
             formatter: (prop) => {
               const { taxPrice = 0, recentlyPrice = 0 } = prop;
-              return (prop.priceDiffer = (
-                Number(taxPrice) - Number(recentlyPrice)
-              ));
+              return (prop.priceDiffer =
+                Number(taxPrice) - Number(recentlyPrice));
             },
           },
         },
@@ -338,7 +337,7 @@ export default function useColumns() {
           attr: {
             is: "el-computed-input-v2",
             formatter: (prop) => {
-              return prop == null ? 0 : (prop * 1);
+              return prop == null ? 0 : prop * 1;
             },
           },
         },
@@ -347,9 +346,8 @@ export default function useColumns() {
           attr: {
             formatter: (prop) => {
               const { priceDiffer = 0, yPurchaseQuantity = 0 } = prop;
-              return (prop.yAffectedAmount = (
-                Number(priceDiffer) * Number(yPurchaseQuantity)
-              ));
+              return (prop.yAffectedAmount =
+                Number(priceDiffer) * Number(yPurchaseQuantity));
             },
           },
         },

+ 18 - 19
src/views/purchase/apply/add/index.vue

@@ -136,24 +136,18 @@ export default {
     },
     //
     async onRowAdd(prop, pushParams = {}) {
-      const {
-        $notify,
-        TabColumns,
-        params: { puOrgName, supplierName },
-      } = this;
-      if (!supplierName) {
-        return $notify.info("请选择供应商");
-      }
-      if (!puOrgName) {
-        return $notify.info("请选择采购组织");
-      }
-      const { TableColumns } = TabColumns.find(
-        ({ item: { key } }) => key === prop
-      );
-      this.params[prop].push({
-        delFlag: "0",
-        ...this.$init.params(TableColumns),
-        ...pushParams,
+      this.$refs.superForm.validate(async (valid) => {
+        if (valid) {
+          const { TabColumns } = this;
+          const { TableColumns } = TabColumns.find(
+            ({ item: { key } }) => key === prop
+          );
+          this.params[prop].push({
+            delFlag: "0",
+            ...this.$init.params(TableColumns),
+            ...pushParams,
+          });
+        }
       });
     },
     //
@@ -257,12 +251,17 @@ export default {
               </template>
               <el-table-column fixed="right" label="操作" width="100">
                 <template slot="header" slot-scope="scope">
-                  <el-button :size="$attrs.size" @click="onRowAdd(tabName)">
+                  <el-button
+                    type="text"
+                    :size="$attrs.size"
+                    @click="onRowAdd(tabName)"
+                  >
                     新增
                   </el-button>
                 </template>
                 <template slot-scope="scope">
                   <el-button
+                    type="text"
                     :size="$attrs.size"
                     @click.native.prevent="onRowRemove(tabName, scope)"
                   >

+ 17 - 17
src/views/purchase/apply/copy/columns.js

@@ -8,7 +8,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "supplierName", title: "供应商", require: true },
+      item: { key: "supplierName", title: "供应商", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -21,7 +21,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puOrgName", title: "采购组织", require: true },
+      item: { key: "puOrgName", title: "采购组织", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -30,7 +30,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "currencyName", title: "币种", require: true },
+      item: { key: "currencyName", title: "币种", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -43,11 +43,11 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "explainStr", title: "价格合理性说明", require: true },
+      item: { key: "explainStr", title: "价格合理性说明", required: true },
       attr: { is: "el-input" },
     },
     {
-      item: { key: "buyerName", title: "采购员", require: true },
+      item: { key: "buyerName", title: "采购员", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -56,7 +56,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puDeptName", title: "采购部门", require: true },
+      item: { key: "puDeptName", title: "采购部门", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -82,7 +82,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "file", title: "附件", require: true, span: 24 },
+      item: { key: "file", title: "附件", required: true, span: 24 },
       attr: { is: "el-file-upload" },
     },
     {
@@ -115,7 +115,7 @@ export default function useColumns() {
       },
       TableColumns: [
         {
-          item: { key: "materialName", title: "物料名称", require: true },
+          item: { key: "materialName", title: "物料名称", required: true },
           attr: {
             is: "el-popover-select-v2",
             checkbox: true,
@@ -136,7 +136,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "materialCode", title: "物料编码", require: true },
+          item: { key: "materialCode", title: "物料编码", required: true },
           attr: {},
         },
         { item: { key: "manufacturerName", title: "生产厂家" }, attr: {} },
@@ -165,7 +165,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "conversionRate", title: "采购换算率", require: true },
+          item: { key: "conversionRate", title: "采购换算率", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
@@ -174,7 +174,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "tax", title: "税率%", require: true },
+          item: { key: "tax", title: "税率%", required: true },
           attr: {
             is: "el-popover-select-v2",
             valueKey: "ntaxrate",
@@ -184,14 +184,14 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "taxPrice", title: "含税单价", require: true },
+          item: { key: "taxPrice", title: "含税单价", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
           },
         },
         {
-          item: { key: "price", title: "无税单价", require: true },
+          item: { key: "price", title: "无税单价", required: true },
           attr: {
             formatter: (prop) => {
               const { tax = 0, taxPrice = 0 } = prop;
@@ -216,7 +216,7 @@ export default function useColumns() {
           item: {
             key: "periodBegin",
             title: "价格有效期(起)",
-            require: true,
+            required: true,
           },
           attr: {
             is: "el-date-picker",
@@ -225,7 +225,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "periodEnd", title: "价格有效期(止)", require: true },
+          item: { key: "periodEnd", title: "价格有效期(止)", required: true },
           attr: {
             is: "el-date-picker",
             valueFormat: "yyyy-MM-dd",
@@ -275,7 +275,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "priceType", title: "价格类型", require: true },
+          item: { key: "priceType", title: "价格类型", required: true },
           attr: {
             is: "el-select",
             dictName: "sys_price_type",
@@ -283,7 +283,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "isDistributionPrice", title: "配送价", require: true },
+          item: { key: "isDistributionPrice", title: "配送价", required: true },
           attr: {
             is: "el-select",
             dictName: "is_effective",

+ 12 - 18
src/views/purchase/apply/copy/index.vue

@@ -186,24 +186,18 @@ export default {
     },
     //
     async onRowAdd(prop, pushParams = {}) {
-      const {
-        $notify,
-        TabColumns,
-        params: { puOrgName, supplierName },
-      } = this;
-      if (!supplierName) {
-        return $notify.info("请选择供应商");
-      }
-      if (!puOrgName) {
-        return $notify.info("请选择采购组织");
-      }
-      const { TableColumns } = TabColumns.find(
-        ({ item: { key } }) => key === prop
-      );
-      this.params[prop].push({
-        delFlag: "0",
-        ...this.$init.params(TableColumns),
-        ...pushParams,
+      this.$refs.superForm.validate(async (valid) => {
+        if (valid) {
+          const { TabColumns } = this;
+          const { TableColumns } = TabColumns.find(
+            ({ item: { key } }) => key === prop
+          );
+          this.params[prop].push({
+            delFlag: "0",
+            ...this.$init.params(TableColumns),
+            ...pushParams,
+          });
+        }
       });
     },
     //

+ 17 - 17
src/views/purchase/apply/edit/columns.js

@@ -8,7 +8,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "supplierName", title: "供应商", require: true },
+      item: { key: "supplierName", title: "供应商", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -21,7 +21,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puOrgName", title: "采购组织", require: true },
+      item: { key: "puOrgName", title: "采购组织", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -30,7 +30,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "currencyName", title: "币种", require: true },
+      item: { key: "currencyName", title: "币种", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -43,11 +43,11 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "explainStr", title: "价格合理性说明", require: true },
+      item: { key: "explainStr", title: "价格合理性说明", required: true },
       attr: { is: "el-input" },
     },
     {
-      item: { key: "buyerName", title: "采购员", require: true },
+      item: { key: "buyerName", title: "采购员", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -56,7 +56,7 @@ export default function useColumns() {
       },
     },
     {
-      item: { key: "puDeptName", title: "采购部门", require: true },
+      item: { key: "puDeptName", title: "采购部门", required: true },
       attr: {
         is: "el-popover-select-v2",
         valueKey: "name",
@@ -82,7 +82,7 @@ export default function useColumns() {
       attr: { is: "el-input", disabled: true, readonly: true },
     },
     {
-      item: { key: "file", title: "附件", require: true, span: 24 },
+      item: { key: "file", title: "附件", required: true, span: 24 },
       attr: { is: "el-file-upload" },
     },
     {
@@ -115,7 +115,7 @@ export default function useColumns() {
       },
       TableColumns: [
         {
-          item: { key: "materialName", title: "物料名称", require: true },
+          item: { key: "materialName", title: "物料名称", required: true },
           attr: {
             is: "el-popover-select-v2",
             checkbox: true,
@@ -136,7 +136,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "materialCode", title: "物料编码", require: true },
+          item: { key: "materialCode", title: "物料编码", required: true },
           attr: {},
         },
         { item: { key: "manufacturerName", title: "生产厂家" }, attr: {} },
@@ -165,7 +165,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "conversionRate", title: "采购换算率", require: true },
+          item: { key: "conversionRate", title: "采购换算率", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
@@ -174,7 +174,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "tax", title: "税率%", require: true },
+          item: { key: "tax", title: "税率%", required: true },
           attr: {
             is: "el-popover-select-v2",
             valueKey: "ntaxrate",
@@ -184,14 +184,14 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "taxPrice", title: "含税单价", require: true },
+          item: { key: "taxPrice", title: "含税单价", required: true },
           attr: {
             is: "el-input-number",
             precision: CONFIG.precision,
           },
         },
         {
-          item: { key: "price", title: "无税单价", require: true },
+          item: { key: "price", title: "无税单价", required: true },
           attr: {
             formatter: (prop) => {
               const { tax = 0, taxPrice = 0 } = prop;
@@ -216,7 +216,7 @@ export default function useColumns() {
           item: {
             key: "periodBegin",
             title: "价格有效期(起)",
-            require: true,
+            required: true,
           },
           attr: {
             is: "el-date-picker",
@@ -225,7 +225,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "periodEnd", title: "价格有效期(止)", require: true },
+          item: { key: "periodEnd", title: "价格有效期(止)", required: true },
           attr: {
             is: "el-date-picker",
             valueFormat: "yyyy-MM-dd",
@@ -275,7 +275,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "priceType", title: "价格类型", require: true },
+          item: { key: "priceType", title: "价格类型", required: true },
           attr: {
             is: "el-select",
             dictName: "sys_price_type",
@@ -283,7 +283,7 @@ export default function useColumns() {
           },
         },
         {
-          item: { key: "isDistributionPrice", title: "配送价", require: true },
+          item: { key: "isDistributionPrice", title: "配送价", required: true },
           attr: {
             is: "el-select",
             dictName: "is_effective",

+ 12 - 18
src/views/purchase/apply/edit/index.vue

@@ -192,24 +192,18 @@ export default {
     },
     //
     async onRowAdd(prop, pushParams = {}) {
-      const {
-        $notify,
-        TabColumns,
-        params: { puOrgName, supplierName },
-      } = this;
-      if (!supplierName) {
-        return $notify.info("请选择供应商");
-      }
-      if (!puOrgName) {
-        return $notify.info("请选择采购组织");
-      }
-      const { TableColumns } = TabColumns.find(
-        ({ item: { key } }) => key === prop
-      );
-      this.params[prop].push({
-        delFlag: "0",
-        ...this.$init.params(TableColumns),
-        ...pushParams,
+      this.$refs.superForm.validate(async (valid) => {
+        if (valid) {
+          const { TabColumns } = this;
+          const { TableColumns } = TabColumns.find(
+            ({ item: { key } }) => key === prop
+          );
+          this.params[prop].push({
+            delFlag: "0",
+            ...this.$init.params(TableColumns),
+            ...pushParams,
+          });
+        }
       });
     },
     //

+ 2 - 6
src/views/purchase/catalogue/columns.js

@@ -129,15 +129,11 @@ export default function useColumns() {
       attr: { is: "el-input" },
     },
     {
-      item: { width: 100, key: "materialCode", title: "物料编码" },
+      item: { width: 100, key: "materialCodeList", title: "物料编码" },
       attr: {
-        is: "el-popover-select-v2",
+        is: "el-popover-multiple-select-v2",
         referName: "MATERIAL_PARAM",
         valueKey: "code",
-        dataMapping: {
-          material: "id",
-          materialCode: "code",
-        },
       },
     },
     {

+ 20 - 3
src/views/purchase/catalogue/export/index.vue

@@ -10,12 +10,22 @@ export default {
   data() {
     return {};
   },
-  computed: {},
+  computed: {
+    disabled: {
+      get() {
+        const { selectData } = this.$props;
+        if (selectData.length < 1) {
+          return true;
+        }
+      },
+      set() {},
+    },
+  },
   watch: {},
   methods: {
     //
     open() {
-      this.$confirm("是否确认导出所有数据项?", "提示", {
+      this.$confirm("是否确认导出选中数据项?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "info",
@@ -56,5 +66,12 @@ export default {
 };
 </script>
 <template>
-  <el-button v-bind="$attrs" v-on="$listeners" @click="open"> 导 出 </el-button>
+  <el-button
+    v-bind="$attrs"
+    v-on="$listeners"
+    :disabled="disabled"
+    @click="open"
+  >
+    导 出
+  </el-button>
 </template>

+ 1 - 1
src/views/purchase/contract/edit/index.vue

@@ -218,7 +218,7 @@ export default {
               params,
               params: { status },
             } = this;
-            const TASK = status === "2" ? EDIT : ALTERATION;
+            const TASK = status === "3" ? ALTERATION : EDIT;
             const { msg, code } = await TASK(params);
             if (code === 200) {
               this.hide();

+ 0 - 3
src/views/purchase/contract/index.vue

@@ -55,9 +55,6 @@ export default {
         if (selectData.length === 1 && status === "1") {
           return true;
         }
-        if (selectData.length === 1 && status === "3") {
-          return true;
-        }
       },
       set() {},
     },