dengrui hace 6 meses
padre
commit
fadf50a249

+ 4 - 0
src/views/base/craftManagement/route/components/configs.ts

@@ -371,4 +371,8 @@ export const comTypes: comType[] = [
   //   compentName: "数据采集",
   //   compentType: "screwdriver",
   // },
+  {
+    compentName: "工序文件",
+    compentType: "gongxuwenjian",
+  },
 ];

+ 2 - 1
src/views/base/craftManagement/route/components/processComponent.vue

@@ -182,7 +182,8 @@ const clickToolCom = (com, index) => {
     com.compentType === "tiaoshipipei" ||
     com.compentType === "jingu" ||
     com.compentType === "ceshishuju" ||
-    com.compentType === "screwdriver"
+    com.compentType === "screwdriver" ||
+    com.compentType === "gongxuwenjian"
   ) {
     isNoneedEdit.value = true;
   } else {

+ 113 - 0
src/views/pro/traceability/components/fileCom.vue

@@ -0,0 +1,113 @@
+<!-- 工序文件 -->
+<template>
+  <div class="mainContentBox">
+    <avue-crud
+      ref="crudRef2"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      @row-update="updateRow"
+      v-model:page="page"
+    >
+      <template #menu="{ size, row, index }">
+        <a v-if="row.filePath" :href="row.filePath"
+          ><el-button type="primary" text round size="small">下载</el-button>
+        </a>
+      </template>
+    </avue-crud>
+  </div>
+</template>
+<script setup>
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useUserStoreHook,
+} from "@/store";
+
+// 数据字典相关
+const { dicts } = useDictionaryStore();
+// 传入一个url,后面不带/
+const {
+  form,
+  data,
+  option,
+  search,
+  page,
+  toDeleteIds,
+  Methords,
+  Utils,
+  commonConfig,
+} = useCrud({
+  src: "/api/v1/process/web/traceability/testRecord",
+});
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const userStore = useUserStoreHook();
+const refreshTra = (row) => {
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
+  dataList();
+};
+defineExpose({ refreshTra });
+option.value = Object.assign(option.value, {
+  selection: false,
+  border: true,
+  index: false,
+  expandLevel: 3,
+  headerAlign: "center",
+  align: "center",
+  labelWidth: 100,
+  addBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  editBtn: false,
+
+  header: false,
+  rowKey: "operationId",
+  column: [
+    {
+      label: "工序Id",
+      prop: "operationId",
+      display: false,
+      hide: true,
+    },
+    {
+      label: "工序名称",
+      prop: "operationName",
+      display: false,
+    },
+
+    {
+      label: "文件名称",
+      prop: "fileName",
+      display: false,
+    },
+    {
+      label: "录入时间",
+      prop: "created",
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
+      type: "datetime",
+      search: false,
+      span: 24,
+      rules: [
+        {
+          required: true,
+          message: "请输入录入时间",
+          trigger: "blur",
+        },
+      ],
+    },
+  ],
+});
+</script>

+ 19 - 1
src/views/pro/traceability/index.vue

@@ -157,6 +157,7 @@
               </template>
               <media-com ref="mediaComRef"
             /></el-tab-pane>
+
             <el-tab-pane name="excelComRef" label="表格数据"
               ><template #label>
                 <span
@@ -183,6 +184,19 @@
               </template>
               <TestData ref="cssjComRef"
             /></el-tab-pane>
+            <el-tab-pane name="fileComRef" label="工序文件">
+              <template #label>
+                <span
+                  >工序文件
+                  <el-badge
+                    :value="tabCount.file"
+                    class="item"
+                    type="primary"
+                  />
+                </span>
+              </template>
+              <FileCom ref="fileComRef"
+            /></el-tab-pane>
           </el-tabs>
         </el-main>
       </el-container>
@@ -203,6 +217,7 @@ import FaultCom from "@/views/pro/traceability/components/faultCom.vue";
 import MediaCom from "./components/mediaCom.vue";
 import ExcelCom from "./components/excelCom.vue";
 import TestData from "./components/testData.vue";
+import FileCom from "./components/fileCom.vue";
 
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
@@ -226,6 +241,7 @@ const faultComRef = ref(null);
 const mediaComRef = ref(null);
 const excelComRef = ref(null);
 const cssjComRef = ref(null);
+const fileComRef = ref(null);
 let defaultTabName = ref("traceabilityComRef");
 //tab页组件
 const tabNameComRef = new Map([
@@ -238,11 +254,12 @@ const tabNameComRef = new Map([
   ["mediaComRef", mediaComRef],
   ["excelComRef", excelComRef],
   ["cssjComRef", cssjComRef],
+  ["fileComRef", fileComRef],
 ]);
 let temRow = ref({});
 const tabsEvent = (pane, ev) => {
   defaultTabName.value = pane.props.name;
-  //console.log(pane.props.name, temRow.value.seqNo);
+  console.log(temRow.value,'22')
   if (temRow.value.seqNo) {
     tabNameComRef.get(pane.props.name)?.value.refreshTra(temRow.value);
   }
@@ -282,6 +299,7 @@ let tabCount = reactive({
   medias: "",
   excel: "",
   testData: "",
+  file: "",
 });
 
 const handleCellClick = (row, column, event) => {