瀏覽代碼

1.物料管理导入column修改。

jiaxiaoqiang 1 年之前
父節點
當前提交
601dcc9468
共有 2 個文件被更改,包括 182 次插入110 次删除
  1. 153 76
      src/views/base/materials/columns.ts
  2. 29 34
      src/views/base/materials/index.vue

+ 153 - 76
src/views/base/materials/columns.ts

@@ -1,49 +1,81 @@
 import { useDictionaryStoreHook } from "@/store";
 const { dicts } = useDictionaryStoreHook();
+
 export const columns = [
-  { label: "物料编码", prop: "materialCode", width: 130,overHidden: true,search: true ,rules: [{
-      required: true,
-      editDisabled:false,
-      message: "请填写物料编码",
-      trigger: "blur"
-    }],},
-  { label: "物料名称", prop: "materialName", width: 140,overHidden: true,search: true ,rules: [{
-      required: true,
-      message: "请填写物料名称",
-      trigger: "blur"
-    }],},
+  {
+    label: "物料编码",
+    prop: "materialCode",
+    width: 130,
+    overHidden: true,
+    search: true,
+    rules: [
+      {
+        required: true,
+        editDisabled: false,
+        message: "请填写物料编码",
+        trigger: "blur",
+      },
+    ],
+  },
+  {
+    label: "物料名称",
+    prop: "materialName",
+    width: 140,
+    overHidden: true,
+    search: true,
+    rules: [
+      {
+        required: true,
+        message: "请填写物料名称",
+        trigger: "blur",
+      },
+    ],
+  },
   {
     label: "物料属性",
     prop: "attributeDictValue",
     search: true,
     filterable: true,
-    type: 'select',
-    width: 100,overHidden: true,
-    dicData:dicts.material_properties,
+    type: "select",
+    width: 100,
+    overHidden: true,
+    dicData: dicts.material_properties,
     props: { label: "dictLabel", value: "dictValue" },
-    rules: [{
-      required: true,
-      message: "请选择物料属性",
-      trigger: "blur"
-    }],
-  },
-  { label: "物料规格", prop: "spec", width: 100,overHidden: true,rules: [{
-      required: true,
-      message: "请填写物料规格",
-      trigger: "blur"
-    }], },
+    rules: [
+      {
+        required: true,
+        message: "请选择物料属性",
+        trigger: "blur",
+      },
+    ],
+  },
+  {
+    label: "物料规格",
+    prop: "spec",
+    width: 100,
+    overHidden: true,
+    rules: [
+      {
+        required: true,
+        message: "请填写物料规格",
+        trigger: "blur",
+      },
+    ],
+  },
   {
     label: "单位",
     prop: "unitDictValue",
     filterable: true,
     type: "select",
-    dicData:dicts.danwei_type,
+    dicData: dicts.danwei_type,
     props: { label: "dictLabel", value: "dictValue" },
-    rules: [{
-      required: true,
-      message: "请选择单位",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请选择单位",
+        trigger: "blur",
+      },
+    ],
   },
   {
     label: "物料级别",
@@ -51,28 +83,40 @@ export const columns = [
     search: true,
     filterable: true,
     type: "select",
-    width: 100,overHidden: true,
-    dicData:dicts.material_level,
+    width: 100,
+    overHidden: true,
+    dicData: dicts.material_level,
     props: { label: "dictLabel", value: "dictValue" },
-    rules: [{
-      required: true,
-      message: "请选择物料级别",
-      trigger: "blur"
-    }],
-  },
-  { label: "生产厂家", prop: "manufacturer",width: 100,overHidden: true ,rules: [{
-      required: true,
-      message: "请填写生产厂家",
-      trigger: "blur"
-    }],},
+    rules: [
+      {
+        required: true,
+        message: "请选择物料级别",
+        trigger: "blur",
+      },
+    ],
+  },
+  {
+    label: "生产厂家",
+    prop: "manufacturer",
+    width: 100,
+    overHidden: true,
+    rules: [
+      {
+        required: true,
+        message: "请填写生产厂家",
+        trigger: "blur",
+      },
+    ],
+  },
   {
     label: "质检方案",
     prop: "inspectDictValue",
     search: true,
     filterable: true,
     type: "select",
-    width: 100,overHidden: true,
-    dicData:dicts.quality_testing_plan,
+    width: 100,
+    overHidden: true,
+    dicData: dicts.quality_testing_plan,
     props: { label: "dictLabel", value: "dictValue" },
   },
   {
@@ -81,37 +125,45 @@ export const columns = [
     search: true,
     filterable: true,
     type: "select",
-    width: 100,overHidden: true,
-    dicData:dicts.applicable_platforms,
+    width: 100,
+    overHidden: true,
+    dicData: dicts.applicable_platforms,
     props: { label: "dictLabel", value: "dictValue" },
-    rules: [{
-     required: true, message: "请选择适用平台",
-     trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请选择适用平台",
+        trigger: "blur",
+      },
+    ],
   },
   {
     label: "质量等级",
     prop: "qualityLevelDictValue",
     search: true,
-    width: 100,overHidden: true,
+    width: 100,
+    overHidden: true,
     filterable: true,
     type: "select",
-    dicData:dicts.quality_grade,
+    dicData: dicts.quality_grade,
     props: { label: "dictLabel", value: "dictValue" },
-    rules: [{
-      required: true,
-      message: "请选择质量等级",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请选择质量等级",
+        trigger: "blur",
+      },
+    ],
   },
   {
     label: "选用类型",
     prop: "selectionDictValue",
     search: true,
     filterable: true,
-    width: 100,overHidden: true,
+    width: 100,
+    overHidden: true,
     type: "select",
-    dicData:dicts.selection_type,
+    dicData: dicts.selection_type,
     props: { label: "dictLabel", value: "dictValue" },
   },
   {
@@ -119,21 +171,30 @@ export const columns = [
     prop: "stageDictValue",
     search: true,
     filterable: true,
-    width: 100,overHidden: true,
+    width: 100,
+    overHidden: true,
     type: "select",
-    dicData:dicts.stage,
+    dicData: dicts.stage,
     props: { label: "dictLabel", value: "dictValue" },
   },
-  { label: "客户型号", prop: "customerModel",width: 100,overHidden: true,  },
-  { label: "保质期(天)", prop: "qualityGuaranteePeriod",width: 100,overHidden: true,type:"number" ,min:0 },
+  { label: "客户型号", prop: "customerModel", width: 100, overHidden: true },
+  {
+    label: "保质期(天)",
+    prop: "qualityGuaranteePeriod",
+    width: 100,
+    overHidden: true,
+    type: "number",
+    min: 0,
+  },
   {
     label: "封装方法",
     prop: "packageDictValue",
     search: true,
-    width: 100,overHidden: true,
+    width: 100,
+    overHidden: true,
     filterable: true,
     type: "select",
-    dicData:dicts.packaging_method,
+    dicData: dicts.packaging_method,
     props: { label: "dictLabel", value: "dictLabel" },
   },
 
@@ -141,7 +202,8 @@ export const columns = [
     label: "是否工装",
     prop: "frock",
     search: true,
-    width: 90,overHidden: true,
+    width: 90,
+    overHidden: true,
     filterable: true,
     type: "radio", //类型为单选框
     dicData: [
@@ -153,16 +215,31 @@ export const columns = [
         label: "否",
         value: "0",
       },
-
     ],
     value: 1,
-    rules: [{
-      required: true,
-      message: "是否工装",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "是否工装",
+        trigger: "blur",
+      },
+    ],
+  },
+  {
+    label: "筛选规范",
+    prop: "selectionSpec",
+    width: 150,
+    overHidden: true,
+    type: "textarea",
+    span: 18,
   },
-  { label: "筛选规范", prop: "selectionSpec",width: 150,overHidden: true,  type: "textarea",span:18},
 
-  { label: "备注", prop: "remark", width: 150,overHidden: true,type: "textarea", span:18 },
+  {
+    label: "备注",
+    prop: "remark",
+    width: 150,
+    overHidden: true,
+    type: "textarea",
+    span: 18,
+  },
 ];

+ 29 - 34
src/views/base/materials/index.vue

@@ -24,19 +24,16 @@
           :size="size"
           @click="multipleDelete"
           >删除</el-button
-        ></template>
-        <template #menu="{row,index,type}">
-          <el-button @click="binding(row)"
-                     icon="el-icon-link"
-                     text
-                     type="primary"
-          >BOM</el-button>
-          <el-button @click="drawing(row)"
-                     icon="el-icon-link"
-                     text
-                     type="primary"
-          >图纸</el-button>
-        </template>
+        ></template
+      >
+      <template #menu="{ row, index, type }">
+        <el-button @click="binding(row)" icon="el-icon-link" text type="primary"
+          >BOM</el-button
+        >
+        <el-button @click="drawing(row)" icon="el-icon-link" text type="primary"
+          >图纸</el-button
+        >
+      </template>
 
       <template #menu-right="{}">
         <el-dropdown split-button
@@ -63,14 +60,18 @@
       </template>
     </avue-crud>
 
-      <el-dialog
+    <el-dialog
       v-model="dialog.visible"
       :title="dialog.title"
       width="900px"
       @close="dialog.visible = false"
       :destroy-on-close="true"
     >
-      <drawing-page  :materialCode="drawingDetail.materialCode" :materialName="drawingDetail.materialName" :dialog="dialog"/>
+      <drawing-page
+        :materialCode="drawingDetail.materialCode"
+        :materialName="drawingDetail.materialName"
+        :dialog="dialog"
+      />
     </el-dialog>
     <ExcelUpload ref="uploadRef" @finished="uploadFinished" />
   </div>
@@ -79,7 +80,6 @@
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
-import { columns } from "./columns";
 import { useCommonStoreHook, useDictionaryStoreHook } from "@/store";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 // 数据字典相关
@@ -93,11 +93,11 @@ const dialog = reactive({
   title: "图纸",
   visible: false,
 });
-const drawingDetail=ref(null);
-const drawing=(row)=>{
-   drawingDetail.value=row;
-   dialog.visible=true;
-}
+const drawingDetail = ref(null);
+const drawing = (row) => {
+  drawingDetail.value = row;
+  dialog.visible = true;
+};
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
@@ -118,16 +118,19 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const router = useRouter();
 const binding = (row) => {
-
   router.push(`/base/bom/${row.materialCode}`);
 };
 onMounted(() => {
-  // console.log("crudRef", crudRef)
-  dataList();
+  // 设置表格列或者其他自定义的option
+  import("./columns").then((res) => {
+    option.value = Object.assign(option.value, {
+      selection: true,
+      column: res.columns,
+    });
+    dataList();
+  });
 });
 
-
-
 /**
  * 上传excel相关
  */
@@ -142,12 +145,4 @@ const importExcelData = () => {
     uploadRef.value.show("/api/v1/plan/order/import");
   }
 };
-
-// 设置表格列或者其他自定义的option
-option.value = Object.assign(option.value, {
-  selection: true,
-  column: columns,
-});
-
-
 </script>