Explorar o código

批量报工设置为是。全局添加回车搜索。

jiaxiaoqiang hai 5 meses
pai
achega
26be43bdf2
Modificáronse 100 ficheiros con 2430 adicións e 2010 borrados
  1. 1 1
      public/version.json
  2. 2 0
      src/components/CommonTable/index.vue
  3. 1 0
      src/views/base/accessories/index.vue
  4. 1 0
      src/views/base/apply/index.vue
  5. 103 113
      src/views/base/bom/components/version-drawing.vue
  6. 1 0
      src/views/base/bom/components/version-page.vue
  7. 37 31
      src/views/base/bom/index.vue
  8. 1 0
      src/views/base/check/index.vue
  9. 2 1
      src/views/base/craftManagement/process/index.vue
  10. 2 0
      src/views/base/craftManagement/route/components/bottomTable.vue
  11. 1 0
      src/views/base/craftManagement/route/components/setExcel/index.vue
  12. 1 0
      src/views/base/craftManagement/route/index.vue
  13. 1 0
      src/views/base/craftManagement/routeCommon/index.vue
  14. 1 0
      src/views/base/defectCheck/index.vue
  15. 1 0
      src/views/base/defectMana/index.vue
  16. 1 0
      src/views/base/document/index.vue
  17. 1 0
      src/views/base/excel/result/index.vue
  18. 1 0
      src/views/base/excel/template/index.vue
  19. 84 49
      src/views/base/frock/components/choice-item-page.vue
  20. 1 0
      src/views/base/frock/components/drawing-page.vue
  21. 1 0
      src/views/base/frock/index.vue
  22. 1 0
      src/views/base/information/index.vue
  23. 87 52
      src/views/base/materials/components/choice-item-page.vue
  24. 1 0
      src/views/base/materials/components/drawing-page.vue
  25. 1 0
      src/views/base/materials/index.vue
  26. 1 0
      src/views/base/modeling/factory/index.vue
  27. 1 0
      src/views/base/modeling/production-line/components/capacity-page.vue
  28. 1 0
      src/views/base/modeling/production-line/index.vue
  29. 1 0
      src/views/base/modeling/station/components/station-page.vue
  30. 1 0
      src/views/base/modeling/station/index.vue
  31. 1 0
      src/views/base/modeling/work-shop/index.vue
  32. 1 0
      src/views/base/reworkinfo/index.vue
  33. 1 0
      src/views/base/signature/index.vue
  34. 1 0
      src/views/base/skill/components/edit-skill.vue
  35. 1 0
      src/views/base/skill/components/user-skill.vue
  36. 1 0
      src/views/base/skill/index.vue
  37. 1 0
      src/views/demo/hooksDemo.vue
  38. 1 0
      src/views/demo/traceabilityComDemo.vue
  39. 34 34
      src/views/device/alias/index.vue
  40. 1 0
      src/views/device/allocate/index.vue
  41. 74 69
      src/views/device/data/index.vue
  42. 1 0
      src/views/device/disable/index.vue
  43. 1 0
      src/views/device/instance/components/device-page.vue
  44. 1 0
      src/views/device/instance/index.vue
  45. 24 18
      src/views/device/log/index.vue
  46. 46 36
      src/views/device/maintenance/components/record-page.vue
  47. 1 0
      src/views/device/maintenance/index.vue
  48. 38 32
      src/views/device/metering/components/metering-record.vue
  49. 1 0
      src/views/device/metering/index.vue
  50. 41 39
      src/views/device/pac/index.vue
  51. 42 42
      src/views/device/protocol/components/model-page.vue
  52. 59 56
      src/views/device/protocol/index.vue
  53. 1 0
      src/views/device/repair/index.vue
  54. 1 0
      src/views/device/scrap/index.vue
  55. 1 0
      src/views/plan/finishProduct/components/detail-stock.vue
  56. 1 0
      src/views/plan/finishProduct/components/in-stock.vue
  57. 50 57
      src/views/plan/finishProduct/index.vue
  58. 25 23
      src/views/plan/order/components/order-page.vue
  59. 1 0
      src/views/plan/prepare/index.vue
  60. 474 288
      src/views/plan/requisition/index.vue
  61. 1 0
      src/views/plan/schedule/index.vue
  62. 1 0
      src/views/plan/track/index.vue
  63. 1 0
      src/views/plan/workOrder/components/check-task.vue
  64. 1 0
      src/views/plan/workOrder/components/choice-line-page.vue
  65. 36 34
      src/views/plan/workOrder/components/choice-route-page.vue
  66. 1 0
      src/views/plan/workOrder/components/choice-workshop-page.vue
  67. 1 0
      src/views/plan/workOrder/components/work-order-page.vue
  68. 1 0
      src/views/plan/workOrder/components/work-order-seq.vue
  69. 1 0
      src/views/plan/workOrder/components/work-order-seqNos-page.vue
  70. 1 0
      src/views/plan/workOrder/index.vue
  71. 1 0
      src/views/pro/baseoperation/index.vue
  72. 21 16
      src/views/pro/traceability/components/checkCom.vue
  73. 33 28
      src/views/pro/traceability/components/equitCom.vue
  74. 1 0
      src/views/pro/traceability/components/excelCom.vue
  75. 5 1
      src/views/pro/traceability/components/faultCom.vue
  76. 1 0
      src/views/pro/traceability/components/fileCom.vue
  77. 1 0
      src/views/pro/traceability/components/materialsCom.vue
  78. 5 1
      src/views/pro/traceability/components/mediaCom.vue
  79. 5 1
      src/views/pro/traceability/components/recordCom.vue
  80. 1 0
      src/views/pro/traceability/components/testData.vue
  81. 1 0
      src/views/pro/traceability/components/traceabilityCom.vue
  82. 1 0
      src/views/pro/traceability/index.vue
  83. 195 189
      src/views/quality/faultHandle/components/fault-detail.vue
  84. 187 175
      src/views/quality/faultHandle/components/fault-examine.vue
  85. 218 210
      src/views/quality/faultHandle/components/fault-handle.vue
  86. 284 263
      src/views/quality/faultHandle/components/fault-page.vue
  87. 1 0
      src/views/quality/faultHandle/index.vue
  88. 1 0
      src/views/quality/feedback/index.vue
  89. 1 0
      src/views/quality/outsource/index.vue
  90. 1 0
      src/views/quality/reject/index.vue
  91. 1 0
      src/views/quality/replace/components/replace-material.vue
  92. 1 0
      src/views/quality/reverseTraceability/index.vue
  93. 1 0
      src/views/quality/rework/components/rework-detail.vue
  94. 1 0
      src/views/quality/rework/index.vue
  95. 58 51
      src/views/quality/tdm/boms.vue
  96. 1 0
      src/views/quality/tdm/index.vue
  97. 90 100
      src/views/quality/unqualified/index.vue
  98. 1 0
      src/views/report/environment/equipment/index.vue
  99. 1 0
      src/views/report/environment/temperature/tables.vue
  100. 0 0
      src/views/storage/alarm/index.vue

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "version": "4.0"
+  "version": "4.1"
 }

+ 2 - 0
src/components/CommonTable/index.vue

@@ -137,6 +137,7 @@ const calculateColumnWidth = (column) => {
 onMounted(() => {
   url.value = tableConfig[props.tableType].url;
   option.value = Object.assign(option.value, {
+    searchEnter: true,
     menu: false,
     highlightCurrentRow: true,
     selection: props.multiple,
@@ -160,6 +161,7 @@ watch(
   () => {
     url.value = tableConfig[props.tableType].url;
     option.value = Object.assign(option.value, {
+      searchEnter: true,
       menu: false,
       highlightCurrentRow: true,
       selection: props.multiple,

+ 1 - 0
src/views/base/accessories/index.vue

@@ -100,6 +100,7 @@ const switchOp = [
   },
 ];
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 110,
   searchLabelWidth: 110,

+ 1 - 0
src/views/base/apply/index.vue

@@ -103,6 +103,7 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 103 - 113
src/views/base/bom/components/version-drawing.vue

@@ -1,6 +1,4 @@
 <template>
-
-
   <div class="mainContentBox">
     <avue-crud
       ref="crudRef"
@@ -19,129 +17,121 @@
       @current-change="dataList"
       search-option="false"
     >
-
-
     </avue-crud>
     <div class="detail-footer">
       <el-button type="primary" @click="onSelected"> 确定 </el-button>
       <el-button @click="cancelWindow">取消</el-button>
-
     </div>
   </div>
-
-
-
 </template>
 
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook } from "@/store";
-
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import { useDictionaryStore } from "@/store";
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/base/bomVersion",
-    });
-  const commonTableEmits = defineEmits(["selectedSure"]);
-  const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-  function rowSave(form2,done) {
-    form.value.materialCode=props.materialCode;
-    createRow(form,done,done);
-
-  }
-
-
-
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-
-  onMounted(() => {
-    console.log(props)
-    search.value.materialCode=props.materialCode;
-    dataList();
-  });
-
-
-  const uploadFinished = () => {
-    // 上传完成后的刷新操作
-    page.currentPage = 1;
-    dataList();
-  };
-
-
-
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    highlightCurrentRow: true,
-    align:'center',
-    menuAlign:'center',
-    editBtn:false,
-    menu:false,
-    column: [
-      {
-        label: "版本号",
-        prop: "bomVersion",
-        type:"number",
-        controlsPosition: '',
-        min:1.0,
-        precision: 1,
-      },
-      { label: "物料编码", prop: "materialCode", width: 130,overHidden: true,display:false,hide:true},
-
-
-
-      ],
-    viewBtn: false,
-    addBtn:false,
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook } from "@/store";
+
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { useDictionaryStore } from "@/store";
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/base/bomVersion",
   });
-  const props = defineProps({
-    materialCode: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+const commonTableEmits = defineEmits(["selectedSure"]);
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+function rowSave(form2, done) {
+  form.value.materialCode = props.materialCode;
+  createRow(form, done, done);
+}
+
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+
+onMounted(() => {
+  console.log(props);
+  search.value.materialCode = props.materialCode;
+  dataList();
+});
+
+const uploadFinished = () => {
+  // 上传完成后的刷新操作
+  page.currentPage = 1;
+  dataList();
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  highlightCurrentRow: true,
+  align: "center",
+  menuAlign: "center",
+  editBtn: false,
+  menu: false,
+  column: [
+    {
+      label: "版本号",
+      prop: "bomVersion",
+      type: "number",
+      controlsPosition: "",
+      min: 1.0,
+      precision: 1,
+    },
+    {
+      label: "物料编码",
+      prop: "materialCode",
+      width: 130,
+      overHidden: true,
+      display: false,
+      hide: true,
+    },
+  ],
+  viewBtn: false,
+  addBtn: false,
+});
+const props = defineProps({
+  materialCode: {
+    type: String,
+    default: () => {
+      return 0;
+    },
+  },
+  dialog: {
+    type: Object,
+    default: () => {
+      return {};
     },
-    dialog:{
-      type:Object,
-      default:()=>{
-        return {};
-      }
-    }
-  })
-  const selectRowValue = ref({});
-  const rowClick = (row) => {
-    selectRowValue.value = row;
-  };
-  const onSelected = () => {
-    commonTableEmits("selectedSure", selectRowValue.value);
-    props.dialog.visible = false;
-  };
-  const cancelWindow=()=>{
-    props.dialog.visible = false;
-  }
+  },
+});
+const selectRowValue = ref({});
+const rowClick = (row) => {
+  selectRowValue.value = row;
+};
+const onSelected = () => {
+  commonTableEmits("selectedSure", selectRowValue.value);
+  props.dialog.visible = false;
+};
+const cancelWindow = () => {
+  props.dialog.visible = false;
+};
 </script>
 
 <style>
-  .detail-footer{
-    float: right;
-  }
+.detail-footer {
+  float: right;
+}
 </style>

+ 1 - 0
src/views/base/bom/components/version-page.vue

@@ -81,6 +81,7 @@ const uploadFinished = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   highlightCurrentRow: true,
   align: "center",
   menuAlign: "center",

+ 37 - 31
src/views/base/bom/index.vue

@@ -105,7 +105,6 @@
         @selected-sure="selectedFinish"
       />
     </el-dialog>
-
   </div>
 </template>
 <script setup>
@@ -173,12 +172,12 @@ const binding = (row) => {
     ctableRef.value.startSelect();
   }
 };
-const startCreat = () =>{
+const startCreat = () => {
   ctableRef.value?.mergeOption({
     selection: true,
-    reserveSelection : true,
+    reserveSelection: true,
   });
-}
+};
 const onSelected = () => {
   for (var i = 0; i < data.value.length; i++) {
     if (data.value[i].bomMaterialNumber <= 0) {
@@ -269,6 +268,7 @@ const importExcelData = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   viewBtn: false,
@@ -326,7 +326,12 @@ const routeBack = () => {
   router.back();
 };
 const onSelectedFinish = (selectedValueList) => {
-  if (Object.keys(selectedValueList).length === 0 || selectedValueList == undefined || selectedValueList == null || selectedValueList.length <= 0) {
+  if (
+    Object.keys(selectedValueList).length === 0 ||
+    selectedValueList == undefined ||
+    selectedValueList == null ||
+    selectedValueList.length <= 0
+  ) {
     ElMessage({
       message: "没有选择任何物料",
       type: "error",
@@ -335,36 +340,38 @@ const onSelectedFinish = (selectedValueList) => {
   }
   const flag = ref(true);
   selectedValueList?.forEach((selectedValue, index) => {
-      if (selectedValue.materialCode == dataDetail.value.materialCode) {
-        ElMessage({
-          message: selectedValue.materialCode + "自己不能添加自己为BOM",
-          type: "error",
-        });
-        flag.value=false;
-        return;
-      }
-      for (var i = 0; i < data.value.length; i++) {
-        if (data.value[i].bomMaterialCode === selectedValue.materialCode) {
-          ElMessage({
-            message: selectedValue.materialCode + "的" + data.value[i].bomMaterialName + "已经添加过了",
-            type: "error",
-          });
-          flag.value=false;
-          return;
-        }
-      }
-      if (version.value.value === 0 || version.value.value === null) {
+    if (selectedValue.materialCode == dataDetail.value.materialCode) {
+      ElMessage({
+        message: selectedValue.materialCode + "自己不能添加自己为BOM",
+        type: "error",
+      });
+      flag.value = false;
+      return;
+    }
+    for (var i = 0; i < data.value.length; i++) {
+      if (data.value[i].bomMaterialCode === selectedValue.materialCode) {
         ElMessage({
-          message: "没有选择BOM版本",
+          message:
+            selectedValue.materialCode +
+            "的" +
+            data.value[i].bomMaterialName +
+            "已经添加过了",
           type: "error",
         });
-        flag.value=false;
+        flag.value = false;
         return;
       }
-
     }
-  );
-  if(!flag.value){
+    if (version.value.value === 0 || version.value.value === null) {
+      ElMessage({
+        message: "没有选择BOM版本",
+        type: "error",
+      });
+      flag.value = false;
+      return;
+    }
+  });
+  if (!flag.value) {
     return;
   }
   selectedValueList?.forEach((selectedValue, index) => {
@@ -379,7 +386,6 @@ const onSelectedFinish = (selectedValueList) => {
     });
     data.value.push(bom.value);
   });
-
 };
 const queryMaterialDetail = () => {
   getMaterialDetails(route.params.materialCode).then(({ data }) => {
@@ -456,7 +462,7 @@ const selectedFinish = (selectedValue) => {
   margin: 5px 20px 5px 0;
   float: left;
 }
-.title-text{
+.title-text {
   width: 100%;
   height: 30px;
   line-height: 50px;

+ 1 - 0
src/views/base/check/index.vue

@@ -98,6 +98,7 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 2 - 1
src/views/base/craftManagement/process/index.vue

@@ -166,6 +166,7 @@ const beforeOpenDialog = (done, type, loading) => {
 };
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 120,
   column: [
@@ -421,7 +422,7 @@ option.value = Object.assign(option.value, {
       hide: true,
       type: "switch",
       dicData: switchOp,
-      value: 0,
+      value: 1,
     },
     //  {
     //    label: "是否工艺数量",

+ 2 - 0
src/views/base/craftManagement/route/components/bottomTable.vue

@@ -376,6 +376,7 @@ onMounted(() => {
   search.value.operationId = route.fullPath.split("/")[4];
   url.value = tableConfig[props.tableType].url;
   option.value = Object.assign(option.value, {
+    searchEnter: true,
     addBtn: false,
     searchShow: false,
     header: false,
@@ -392,6 +393,7 @@ watch(
     routeId.value = route.fullPath.split("/")[6];
     url.value = tableConfig[props.tableType].url;
     option.value = Object.assign(option.value, {
+      searchEnter: true,
       addBtn: false,
       searchShow: false,
       header: false,

+ 1 - 0
src/views/base/craftManagement/route/components/setExcel/index.vue

@@ -154,6 +154,7 @@ watch(
 );
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   menu: true,

+ 1 - 0
src/views/base/craftManagement/route/index.vue

@@ -317,6 +317,7 @@ const bindProcess = (row) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 150,
   menuWidth: 250,

+ 1 - 0
src/views/base/craftManagement/routeCommon/index.vue

@@ -216,6 +216,7 @@ const bindProcess = (row) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 130,
   searchLabelWidth: 110,

+ 1 - 0
src/views/base/defectCheck/index.vue

@@ -84,6 +84,7 @@ const switchOp = [
   },
 ];
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 110,
   searchLabelWidth: 110,

+ 1 - 0
src/views/base/defectMana/index.vue

@@ -114,6 +114,7 @@ const switchOp = [
   },
 ];
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/document/index.vue

@@ -165,6 +165,7 @@ const uploadFinished = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 1 - 0
src/views/base/excel/result/index.vue

@@ -146,6 +146,7 @@ const uploadFinished = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 1 - 0
src/views/base/excel/template/index.vue

@@ -372,6 +372,7 @@ const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 84 - 49
src/views/base/frock/components/choice-item-page.vue

@@ -1,23 +1,23 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-click="rowClick"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
+import { defineProps, ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import { useCommonStoreHook } from "@/store";
 import { useDictionaryStore } from "@/store";
@@ -31,26 +31,28 @@ const props = defineProps({
   materialCode: {
     type: String,
     default: () => {
-      return '';
-    }
-  }
-})
+      return "";
+    },
+  },
+});
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/base/material",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["materialInfo"])
-const rowClick = (row)=>{
-  emit("materialInfo", row)
-}
+const emit = defineEmits(["materialInfo"]);
+const rowClick = (row) => {
+  emit("materialInfo", row);
+};
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,
@@ -59,24 +61,36 @@ option.value = Object.assign(option.value, {
   viewBtn: false,
   menu: false,
   column: [
-    { label: "物料编码",width: 150,overHidden: true, prop: "materialCode", search: true },
-    { label: "物料名称",width: 150,overHidden: true, prop: "materialName", search: true },
+    {
+      label: "物料编码",
+      width: 150,
+      overHidden: true,
+      prop: "materialCode",
+      search: true,
+    },
+    {
+      label: "物料名称",
+      width: 150,
+      overHidden: true,
+      prop: "materialName",
+      search: true,
+    },
     {
       label: "物料属性",
       prop: "attributeDictValue",
       search: true,
       width: 120,
       overHidden: true,
-      type: 'select',
-      dicData:dicts.material_properties,
+      type: "select",
+      dicData: dicts.material_properties,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "物料规格",width: 120, prop: "spec", search: true},
+    { label: "物料规格", width: 120, prop: "spec", search: true },
     {
       label: "单位",
       prop: "unitDictValue",
       type: "select",
-      dicData:dicts.danwei_type,
+      dicData: dicts.danwei_type,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -85,17 +99,17 @@ option.value = Object.assign(option.value, {
       width: 100,
       overHidden: true,
       type: "select",
-      dicData:dicts.material_level,
+      dicData: dicts.material_level,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "维修厂家",width: 120, overHidden: true,prop: "manufacturer"},
+    { label: "维修厂家", width: 120, overHidden: true, prop: "manufacturer" },
     {
       label: "质检方案",
       prop: "inspectDictValue",
       width: 120,
       overHidden: true,
       type: "select",
-      dicData:dicts.quality_testing_plan,
+      dicData: dicts.quality_testing_plan,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -104,7 +118,7 @@ option.value = Object.assign(option.value, {
       width: 120,
       type: "select",
       overHidden: true,
-      dicData:dicts.applicable_platforms,
+      dicData: dicts.applicable_platforms,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -113,7 +127,7 @@ option.value = Object.assign(option.value, {
       width: 120,
       type: "select",
       overHidden: true,
-      dicData:dicts.quality_grade,
+      dicData: dicts.quality_grade,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -122,7 +136,7 @@ option.value = Object.assign(option.value, {
       width: 100,
       overHidden: true,
       type: "select",
-      dicData:dicts.selection_type,
+      dicData: dicts.selection_type,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -133,17 +147,23 @@ option.value = Object.assign(option.value, {
       width: 100,
       filterable: true,
       type: "select",
-      dicData:dicts.stage,
+      dicData: dicts.stage,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "客户型号",width: 100, overHidden: true,prop: "customerModel",  },
-    { label: "保质期(天)",width: 100, overHidden: true,prop: "qualityGuaranteePeriod", },
+    { label: "客户型号", width: 100, overHidden: true, prop: "customerModel" },
+    {
+      label: "保质期(天)",
+      width: 100,
+      overHidden: true,
+      prop: "qualityGuaranteePeriod",
+    },
     {
       label: "封装方法",
       prop: "packageDictValue",
-      width: 100,overHidden: true,
+      width: 100,
+      overHidden: true,
       type: "select",
-      dicData:dicts.packaging_method,
+      dicData: dicts.packaging_method,
       props: { label: "dictLabel", value: "dictLabel" },
     },
     {
@@ -160,23 +180,38 @@ option.value = Object.assign(option.value, {
           label: "否",
           value: 0,
         },
-
       ],
       value: 1,
-      rules: [{
-        required: true,
-        message: "是否工装",
-        trigger: "blur"
-      }],
-    },
-    { label: "筛选规范",width: 100,overHidden: true, prop: "selectionSpec", type: "textarea",span:18},
-    { label: "备注",width: 100,overHidden: true, prop: "remark", type: "textarea", span:18 },
+      rules: [
+        {
+          required: true,
+          message: "是否工装",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "筛选规范",
+      width: 100,
+      overHidden: true,
+      prop: "selectionSpec",
+      type: "textarea",
+      span: 18,
+    },
+    {
+      label: "备注",
+      width: 100,
+      overHidden: true,
+      prop: "remark",
+      type: "textarea",
+      span: 18,
+    },
   ],
 });
 
 onMounted(() => {
-  search.value.prodtCode = props.materialCode
-  search.value.enabled = "0"
+  search.value.prodtCode = props.materialCode;
+  search.value.enabled = "0";
   dataList();
 });
 </script>

+ 1 - 0
src/views/base/frock/components/drawing-page.vue

@@ -174,6 +174,7 @@ const ctableRef = ref(null);
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/frock/index.vue

@@ -136,6 +136,7 @@ const importExcelData = () => {
   }
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/information/index.vue

@@ -181,6 +181,7 @@ const uploadFinished = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   delBtn: false,

+ 87 - 52
src/views/base/materials/components/choice-item-page.vue

@@ -1,23 +1,23 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-click="rowClick"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
+import { defineProps, ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import { useCommonStoreHook } from "@/store";
 import { useDictionaryStore } from "@/store";
@@ -31,32 +31,34 @@ const props = defineProps({
   materialCode: {
     type: String,
     default: () => {
-      return '';
-    }
+      return "";
+    },
   },
   enabled: {
     type: String,
     default: () => {
-      return '0';
-    }
-  }
-})
+      return "0";
+    },
+  },
+});
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/base/material",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["materialInfo"])
-const rowClick = (row)=>{
-  emit("materialInfo", row)
-}
+const emit = defineEmits(["materialInfo"]);
+const rowClick = (row) => {
+  emit("materialInfo", row);
+};
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,
@@ -65,24 +67,36 @@ option.value = Object.assign(option.value, {
   viewBtn: false,
   menu: false,
   column: [
-    { label: "物料编码",width: 150,overHidden: true, prop: "materialCode", search: true },
-    { label: "物料名称",width: 150,overHidden: true, prop: "materialName", search: true },
+    {
+      label: "物料编码",
+      width: 150,
+      overHidden: true,
+      prop: "materialCode",
+      search: true,
+    },
+    {
+      label: "物料名称",
+      width: 150,
+      overHidden: true,
+      prop: "materialName",
+      search: true,
+    },
     {
       label: "物料属性",
       prop: "attributeDictValue",
       search: true,
       width: 120,
       overHidden: true,
-      type: 'select',
-      dicData:dicts.material_properties,
+      type: "select",
+      dicData: dicts.material_properties,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "物料规格",width: 120, prop: "spec", search: true},
+    { label: "物料规格", width: 120, prop: "spec", search: true },
     {
       label: "单位",
       prop: "unitDictValue",
       type: "select",
-      dicData:dicts.danwei_type,
+      dicData: dicts.danwei_type,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -91,17 +105,17 @@ option.value = Object.assign(option.value, {
       width: 100,
       overHidden: true,
       type: "select",
-      dicData:dicts.material_level,
+      dicData: dicts.material_level,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "生产厂家",width: 120, overHidden: true,prop: "manufacturer"},
+    { label: "生产厂家", width: 120, overHidden: true, prop: "manufacturer" },
     {
       label: "质检方案",
       prop: "inspectDictValue",
       width: 120,
       overHidden: true,
       type: "select",
-      dicData:dicts.quality_testing_plan,
+      dicData: dicts.quality_testing_plan,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -110,7 +124,7 @@ option.value = Object.assign(option.value, {
       width: 120,
       type: "select",
       overHidden: true,
-      dicData:dicts.applicable_platforms,
+      dicData: dicts.applicable_platforms,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -119,7 +133,7 @@ option.value = Object.assign(option.value, {
       width: 120,
       type: "select",
       overHidden: true,
-      dicData:dicts.quality_grade,
+      dicData: dicts.quality_grade,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -128,7 +142,7 @@ option.value = Object.assign(option.value, {
       width: 100,
       overHidden: true,
       type: "select",
-      dicData:dicts.selection_type,
+      dicData: dicts.selection_type,
       props: { label: "dictLabel", value: "dictValue" },
     },
     {
@@ -139,17 +153,23 @@ option.value = Object.assign(option.value, {
       width: 100,
       filterable: true,
       type: "select",
-      dicData:dicts.stage,
+      dicData: dicts.stage,
       props: { label: "dictLabel", value: "dictValue" },
     },
-    { label: "客户型号",width: 100, overHidden: true,prop: "customerModel",  },
-    { label: "保质期(天)",width: 100, overHidden: true,prop: "qualityGuaranteePeriod", },
+    { label: "客户型号", width: 100, overHidden: true, prop: "customerModel" },
+    {
+      label: "保质期(天)",
+      width: 100,
+      overHidden: true,
+      prop: "qualityGuaranteePeriod",
+    },
     {
       label: "封装方法",
       prop: "packageDictValue",
-      width: 100,overHidden: true,
+      width: 100,
+      overHidden: true,
       type: "select",
-      dicData:dicts.packaging_method,
+      dicData: dicts.packaging_method,
       props: { label: "dictLabel", value: "dictLabel" },
     },
     {
@@ -166,24 +186,39 @@ option.value = Object.assign(option.value, {
           label: "否",
           value: "0",
         },
-
       ],
       value: 1,
-      rules: [{
-        required: true,
-        message: "是否工装",
-        trigger: "blur"
-      }],
-    },
-    { label: "筛选规范",width: 100,overHidden: true, prop: "selectionSpec", type: "textarea",span:18},
-    { label: "备注",width: 100,overHidden: true, prop: "remark", type: "textarea", span:18 },
+      rules: [
+        {
+          required: true,
+          message: "是否工装",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "筛选规范",
+      width: 100,
+      overHidden: true,
+      prop: "selectionSpec",
+      type: "textarea",
+      span: 18,
+    },
+    {
+      label: "备注",
+      width: 100,
+      overHidden: true,
+      prop: "remark",
+      type: "textarea",
+      span: 18,
+    },
   ],
 });
 
 onMounted(() => {
-  search.value.prodtCode = props.materialCode
-  if(props.enabled != '-1'){
-    search.value.enabled = props.enabled
+  search.value.prodtCode = props.materialCode;
+  if (props.enabled != "-1") {
+    search.value.enabled = props.enabled;
   }
   dataList();
 });

+ 1 - 0
src/views/base/materials/components/drawing-page.vue

@@ -174,6 +174,7 @@ const ctableRef = ref(null);
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/materials/index.vue

@@ -153,6 +153,7 @@ const importExcelData = () => {
   }
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/modeling/factory/index.vue

@@ -183,6 +183,7 @@ const onUserSelectedFinish = (selectedValue) => {
 const formData = ref<any>({});
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   menuWidth: 320,
   border: true,

+ 1 - 0
src/views/base/modeling/production-line/components/capacity-page.vue

@@ -103,6 +103,7 @@ const deviceList = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 200,
   span: 20,

+ 1 - 0
src/views/base/modeling/production-line/index.vue

@@ -113,6 +113,7 @@ const onSelectedFinish = (selectedValue) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/modeling/station/components/station-page.vue

@@ -89,6 +89,7 @@ const deviceList = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: columns,
   saveBtn: false,

+ 1 - 0
src/views/base/modeling/station/index.vue

@@ -166,6 +166,7 @@ const changeItem = (row) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
 
   column: [

+ 1 - 0
src/views/base/modeling/work-shop/index.vue

@@ -91,6 +91,7 @@ const importExcelData = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/base/reworkinfo/index.vue

@@ -108,6 +108,7 @@ const onSelectedFinish = (selectedValue) => {
 };
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   labelWidth: 110,
   searchLabelWidth: 110,

+ 1 - 0
src/views/base/signature/index.vue

@@ -166,6 +166,7 @@ onMounted?.(() => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   viewBtn: false,
   editBtn: false,

+ 1 - 0
src/views/base/skill/components/edit-skill.vue

@@ -285,6 +285,7 @@ const postIdSkill = ref({});
 const focusedElement = ref(null);
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   viewBtn: false,

+ 1 - 0
src/views/base/skill/components/user-skill.vue

@@ -288,6 +288,7 @@ const props = defineProps({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   viewBtn: false,

+ 1 - 0
src/views/base/skill/index.vue

@@ -180,6 +180,7 @@ const viewSkills = (row) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   addBtn: false,
   viewBtn: false,

+ 1 - 0
src/views/demo/hooksDemo.vue

@@ -169,6 +169,7 @@ const importExcelData = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 1 - 0
src/views/demo/traceabilityComDemo.vue

@@ -47,6 +47,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   column: [
     {

+ 34 - 34
src/views/device/alias/index.vue

@@ -1,20 +1,20 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #menu-left="{ size }">
         <el-button
@@ -36,7 +36,7 @@ import ButtonPermKeys from "@/common/configs/buttonPermission";
 
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
-import  {queryTypeDataList} from "@/api/device"
+import { queryTypeDataList } from "@/api/device";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const test = () => {
   isShowTable.value = true;
@@ -48,7 +48,8 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/fieldAlias",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
@@ -60,10 +61,11 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 // });
 
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const typeDataList = ref([])
-const typeDataValues = ref({})
+const typeDataList = ref([]);
+const typeDataValues = ref({});
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   column: [
@@ -73,19 +75,17 @@ option.value = Object.assign(option.value, {
       type: "select",
       editDisplay: false,
       search: true,
-      dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.TYPE_CODE.device_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
       },
-      change:({value,index})=>{
-        if(value){
-          form.value.originalField = ''
-          typeDataList.value = typeDataValues.value[value]
-          if(typeDataList.value === undefined){
-            typeDataList.value = []
+      change: ({ value, index }) => {
+        if (value) {
+          form.value.originalField = "";
+          typeDataList.value = typeDataValues.value[value];
+          if (typeDataList.value === undefined) {
+            typeDataList.value = [];
           }
         }
       },
@@ -116,8 +116,8 @@ option.value = Object.assign(option.value, {
       prop: "fieldType",
       type: "select",
       dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.EXPAND_FIELD_TABLE.expand_field_type,
+        dictDataUtil.request_url +
+        dictDataUtil.EXPAND_FIELD_TABLE.expand_field_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -143,19 +143,19 @@ option.value = Object.assign(option.value, {
     },
     {
       label: "字段解释",
-      prop: "filedExplain"
+      prop: "filedExplain",
     },
     {
       label: "字段排序",
-      prop: "sort"
-    }
+      prop: "sort",
+    },
   ],
 });
 onMounted(() => {
   // console.log("crudRef", crudRef)
   dataList();
-  queryTypeDataList().then((data)=>{
-    typeDataValues.value = data.data
+  queryTypeDataList().then((data) => {
+    typeDataValues.value = data.data;
   });
 });
 </script>

+ 1 - 0
src/views/device/allocate/index.vue

@@ -805,6 +805,7 @@ const rules = reactive({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   labelWidth: 150,

+ 74 - 69
src/views/device/data/index.vue

@@ -1,21 +1,21 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        :table-loading="loading"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchPage"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      :table-loading="loading"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchPage"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
     </avue-crud>
   </div>
@@ -24,7 +24,7 @@
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import buttonPermission from "@/common/configs/buttonPermission";
-import {queryDeviceList,queryTypeAliasList} from "@/api/device";
+import { queryDeviceList, queryTypeAliasList } from "@/api/device";
 import { useCommonStoreHook } from "@/store";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const loading = ref(false);
@@ -37,28 +37,30 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/data",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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 deviceList = ref([])
-const searchPage = (params, done) =>{
-  if(!search.value.deviceNo){
+const deviceList = ref([]);
+const searchPage = (params, done) => {
+  if (!search.value.deviceNo) {
     ElMessage.warning("请先选择设备进行查询");
-    done()
+    done();
     return;
   }
-  queryTypeAliasList({deviceNo: search.value.deviceNo}).then((data)=>{
-    if(data.data){
-      option.value.column = [{
-        label: "设备编号",
-        prop: "deviceNo",
-        search: true,
-        hide: true,
-        type: "select",
-        dicData: deviceList,
-        props: { label: "deviceNo", value: "deviceNo", },
-      },
+  queryTypeAliasList({ deviceNo: search.value.deviceNo }).then((data) => {
+    if (data.data) {
+      option.value.column = [
+        {
+          label: "设备编号",
+          prop: "deviceNo",
+          search: true,
+          hide: true,
+          type: "select",
+          dicData: deviceList,
+          props: { label: "deviceNo", value: "deviceNo" },
+        },
         {
           label: "任务信息",
           prop: "taskNo",
@@ -76,36 +78,37 @@ const searchPage = (params, done) =>{
           prop: "ts",
           search: true,
           hide: true,
-          type: 'datetimerange',
-          format: 'YYYY-MM-DD HH:mm:ss',
-          valueFormat: 'YYYY-MM-DD HH:mm:ss',
+          type: "datetimerange",
+          format: "YYYY-MM-DD HH:mm:ss",
+          valueFormat: "YYYY-MM-DD HH:mm:ss",
           searchRange: true,
-          startPlaceholder: '开始范围',
-          endPlaceholder: '结束范围',
-        }, {
+          startPlaceholder: "开始范围",
+          endPlaceholder: "结束范围",
+        },
+        {
           label: "采集时间",
           prop: "ts",
         },
-      ]
-      data.data.forEach(item=>{
+      ];
+      data.data.forEach((item) => {
         option.value.column.push({
           label: item.filedLabel,
           prop: item.alias,
           overHidden: true,
-        })
-      })
+        });
+      });
     }
-  })
-  if(search.value.ts){
-    search.value.startTime = search.value.ts[0]
-    search.value.endTime = search.value.ts[1]
+  });
+  if (search.value.ts) {
+    search.value.startTime = search.value.ts[0];
+    search.value.endTime = search.value.ts[1];
   }
-  dataList()
-  done()
-
-}
+  dataList();
+  done();
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   index: false,
@@ -113,22 +116,23 @@ option.value = Object.assign(option.value, {
   viewBtn: false,
   editBtn: false,
   menu: false,
-  column: [{
-    label: "设备编号",
-    prop: "deviceNo",
-    search: true,
-    hide: true,
-    type: "select",
-    dicData: deviceList,
-    props: { label: "deviceNo", value: "deviceNo", },
-  },
+  column: [
+    {
+      label: "设备编号",
+      prop: "deviceNo",
+      search: true,
+      hide: true,
+      type: "select",
+      dicData: deviceList,
+      props: { label: "deviceNo", value: "deviceNo" },
+    },
     {
       label: "任务信息",
       prop: "taskNo",
       search: true,
       hide: true,
     },
-   /* {
+    /* {
       label: "序列号",
       prop: "seqNo",
       search: true,
@@ -139,17 +143,18 @@ option.value = Object.assign(option.value, {
       prop: "ts",
       search: true,
       hide: true,
-      type: 'datetimerange',
-      format: 'YYYY-MM-DD HH:mm:ss',
-      valueFormat: 'YYYY-MM-DD HH:mm:ss',
+      type: "datetimerange",
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
       searchRange: true,
-      startPlaceholder: '开始范围',
-      endPlaceholder: '结束范围',
-    }],
+      startPlaceholder: "开始范围",
+      endPlaceholder: "结束范围",
+    },
+  ],
 });
 onMounted(() => {
-  queryDeviceList({protocol: 1}).then((data)=>{
-    deviceList.value = data.data
-  })
+  queryDeviceList({ protocol: 1 }).then((data) => {
+    deviceList.value = data.data;
+  });
 });
 </script>

+ 1 - 0
src/views/device/disable/index.vue

@@ -471,6 +471,7 @@ const maintenanceSubmit2 = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   delBtn: false,
   editBtn: false,

+ 1 - 0
src/views/device/instance/components/device-page.vue

@@ -58,6 +58,7 @@ const rowClick = (row) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,

+ 1 - 0
src/views/device/instance/index.vue

@@ -224,6 +224,7 @@ const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   labelWidth: 120,

+ 24 - 18
src/views/device/log/index.vue

@@ -1,20 +1,20 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #menu-left="{ size }">
         <el-button
@@ -44,13 +44,15 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/log",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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对象
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   editBtn: false,
   selection: true,
@@ -65,8 +67,12 @@ option.value = Object.assign(option.value, {
       label: "日志类型",
       prop: "logType",
       search: true,
-      type: 'select',
-      dicData: [{label: "通知",value:"1"},{label: "预警",value:"2"},{label: "错误",value:"3"}],
+      type: "select",
+      dicData: [
+        { label: "通知", value: "1" },
+        { label: "预警", value: "2" },
+        { label: "错误", value: "3" },
+      ],
       html: true,
       formatter: (val) => {
         if (val.logType === "1") {
@@ -82,7 +88,7 @@ option.value = Object.assign(option.value, {
       label: "日志内容",
       prop: "logContent",
       width: 550,
-      overHidden: true
+      overHidden: true,
     },
     {
       label: "创建时间",

+ 46 - 36
src/views/device/maintenance/components/record-page.vue

@@ -1,22 +1,22 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import { ref,defineProps } from "vue";
+import { ref, defineProps } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 
 import { useCommonStoreHook } from "@/store";
@@ -31,32 +31,34 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/maintenanceRecord",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
-const mType = ref("-1")
+const mType = ref("-1");
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const props = defineProps({
   maintenance: {
     type: Object,
     default: () => {
       return {};
-    }
-  }
-})
+    },
+  },
+});
 
 watch?.(
-    () => props.maintenance,
-    (newVal) => {
-      search.value.maintenanceId = newVal.id
-      mType.value = newVal.type
-      handleOption()
-      dataList()
-    }
+  () => props.maintenance,
+  (newVal) => {
+    search.value.maintenanceId = newVal.id;
+    mType.value = newVal.type;
+    handleOption();
+    dataList();
+  }
 );
-const handleOption =()=>{
+const handleOption = () => {
   // 设置表格列或者其他自定义的option
   option.value = Object.assign(option.value, {
+    searchEnter: true,
     delBtn: false,
     selection: false,
     search: false,
@@ -92,9 +94,9 @@ const handleOption =()=>{
       },*/
       {
         label: mType.value === "1" ? "保养日期" : "点检时间",
-        width: '180',
-        format: 'YYYY-MM-DD',
-        valueFormat: 'YYYY-MM-DD',
+        width: "180",
+        format: "YYYY-MM-DD",
+        valueFormat: "YYYY-MM-DD",
         prop: "maintenanceTime",
       },
       {
@@ -102,7 +104,7 @@ const handleOption =()=>{
         prop: "maintenanceContent",
         minRows: 2, //最小行/最小值
         maxlength: 512, //最大输入长度
-        overHidden: true
+        overHidden: true,
       },
       {
         label: mType.value === "1" ? "维护人" : "点检人员",
@@ -115,7 +117,7 @@ const handleOption =()=>{
       {
         label: "设备编号",
         prop: "deviceNo",
-        width: '120',
+        width: "120",
         rules: [
           {
             required: true,
@@ -127,7 +129,7 @@ const handleOption =()=>{
       {
         label: "设备名称",
         prop: "deviceName",
-        width: '120',
+        width: "120",
         rules: [
           {
             required: true,
@@ -142,15 +144,23 @@ const handleOption =()=>{
         search: true,
         type: "select",
         editDisplay: false,
-        dicData: mType.value === "1" ? [{label: '正常',value:"0"},{label: '报故',value:"1"}] : [{label: '合格',value:"0"},{label: '不合格',value:"1"}]
+        dicData:
+          mType.value === "1"
+            ? [
+                { label: "正常", value: "0" },
+                { label: "报故", value: "1" },
+              ]
+            : [
+                { label: "合格", value: "0" },
+                { label: "不合格", value: "1" },
+              ],
       },
-
     ],
-  })
-}
+  });
+};
 onMounted?.(() => {
-  search.value.maintenanceId = props.maintenance.id
-  handleOption()
+  search.value.maintenanceId = props.maintenance.id;
+  handleOption();
   dataList();
 });
 </script>

+ 1 - 0
src/views/device/maintenance/index.vue

@@ -354,6 +354,7 @@ const rules = reactive({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   labelWidth: 150,

+ 38 - 32
src/views/device/metering/components/metering-record.vue

@@ -1,22 +1,22 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import { ref,defineProps } from "vue";
+import { ref, defineProps } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 
 import { useCommonStoreHook } from "@/store";
@@ -31,7 +31,8 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/maintenanceRecord",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 
@@ -41,21 +42,22 @@ const props = defineProps({
     type: Number,
     default: () => {
       return 0;
-    }
-  }
-})
+    },
+  },
+});
 
 watch?.(
-    () => props.maintenanceId,
-    (newVal) => {
-      alert(newVal)
-      search.value.maintenanceId = newVal
-      dataList()
-    }
+  () => props.maintenanceId,
+  (newVal) => {
+    alert(newVal);
+    search.value.maintenanceId = newVal;
+    dataList();
+  }
 );
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,
@@ -67,7 +69,7 @@ option.value = Object.assign(option.value, {
     {
       label: "设备编号",
       prop: "deviceNo",
-      width: '120',
+      width: "120",
       rules: [
         {
           required: true,
@@ -79,7 +81,7 @@ option.value = Object.assign(option.value, {
     {
       label: "设备名称",
       prop: "deviceName",
-      width: '120',
+      width: "120",
       rules: [
         {
           required: true,
@@ -92,10 +94,8 @@ option.value = Object.assign(option.value, {
       label: "设备类型",
       prop: "deviceType",
       type: "select",
-      width: '100',
-      dicUrl:
-        dictDataUtil.request_url +
-        dictDataUtil.TYPE_CODE.device_type,
+      width: "100",
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -103,7 +103,7 @@ option.value = Object.assign(option.value, {
     },
     {
       label: "设备位置",
-      width: '150',
+      width: "150",
       prop: "devicePosition",
     },
     {
@@ -111,7 +111,10 @@ option.value = Object.assign(option.value, {
       prop: "type",
       type: "select",
       editDisplay: false,
-      dicData: [{label: '点检',value:0},{label: '保养',value:1}]
+      dicData: [
+        { label: "点检", value: 0 },
+        { label: "保养", value: 1 },
+      ],
     },
     {
       label: "维护人",
@@ -123,18 +126,21 @@ option.value = Object.assign(option.value, {
       search: true,
       type: "select",
       editDisplay: false,
-      dicData: [{label: '正常',value:0},{label: '报故',value:1}]
+      dicData: [
+        { label: "正常", value: 0 },
+        { label: "报故", value: 1 },
+      ],
     },
     {
       label: "维护时间",
-      width: '180',
+      width: "180",
       prop: "maintenanceTime",
     },
   ],
 });
 
 onMounted?.(() => {
-  search.value.maintenanceId = props.maintenanceId
+  search.value.maintenanceId = props.maintenanceId;
   dataList();
 });
 </script>

+ 1 - 0
src/views/device/metering/index.vue

@@ -464,6 +464,7 @@ const rules = reactive({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   labelWidth: 150,

+ 41 - 39
src/views/device/pac/index.vue

@@ -1,32 +1,32 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #collect="scope">
         <el-switch
-            active-value="1"
-            inactive-value="0"
-            inline-prompt
-            active-text="是"
-            inactive-text="否"
-            v-model="scope.row.collect"
-            @click="changeItem($event,scope.row)"
-            class="ml-2"
-            style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
+          active-value="1"
+          inactive-value="0"
+          inline-prompt
+          active-text="是"
+          inactive-text="否"
+          v-model="scope.row.collect"
+          @click="changeItem($event, scope.row)"
+          class="ml-2"
+          style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
         />
       </template>
       <template #menu-left="{ size }">
@@ -45,7 +45,7 @@
 <script setup>
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
-import {configSave,configList,deviceUpdateCollect} from "@/api/device";
+import { configSave, configList, deviceUpdateCollect } from "@/api/device";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
@@ -67,22 +67,28 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/pac",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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 changeItem =(obj,row) => {
-  deviceUpdateCollect({id: row.id,collect: row.collect,deviceNo: row.deviceNo}).then((data)=>{
-    if(data.code === '200'){
+const changeItem = (obj, row) => {
+  deviceUpdateCollect({
+    id: row.id,
+    collect: row.collect,
+    deviceNo: row.deviceNo,
+  }).then((data) => {
+    if (data.code === "200") {
       ElMessage.success(data.msg);
-    }else{
-      row.collect = row.collect === '0' ? '1' : '0'
+    } else {
+      row.collect = row.collect === "0" ? "1" : "0";
       ElMessage.error(data.msg);
     }
-  })
-}
+  });
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   column: [
@@ -121,9 +127,7 @@ option.value = Object.assign(option.value, {
       width: 130,
       editDisabled: true,
       overHidden: true,
-      dicUrl:
-        dictDataUtil.request_url +
-        dictDataUtil.TYPE_CODE.device_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -143,9 +147,7 @@ option.value = Object.assign(option.value, {
       width: 160,
       overHidden: true,
       search: true,
-      dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.TYPE_CODE.device_status,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_status,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -209,7 +211,7 @@ option.value = Object.assign(option.value, {
       props: {
         label: "deptName",
         value: "id",
-      }
+      },
     },
     {
       label: "设备位置",

+ 42 - 42
src/views/device/protocol/components/model-page.vue

@@ -1,28 +1,28 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #menu-left="{ size }">
         <el-button
-            type="primary"
-            icon="el-icon-plus"
-            :size="size"
-            @click="addItem"
-        >新增</el-button
+          type="primary"
+          icon="el-icon-plus"
+          :size="size"
+          @click="addItem"
+          >新增</el-button
         >
         <el-button
           :disabled="toDeleteIds.length < 1"
@@ -37,10 +37,10 @@
   </div>
 </template>
 <script setup>
-import {ref, getCurrentInstance, defineProps} from "vue";
+import { ref, getCurrentInstance, defineProps } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import buttonPermission from "@/common/configs/buttonPermission";
-import {configList} from "@/api/device";
+import { configList } from "@/api/device";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
@@ -58,34 +58,36 @@ const props = defineProps({
   deviceType: {
     type: String,
     default: () => {
-      return '';
-    }
+      return "";
+    },
   },
-})
+});
 watch(
-    () => props.deviceType,
-    () => {
-      search.value.deviceType = props.deviceType
-      form.value.deviceType = props.deviceType
-      dataList();
-    },
+  () => props.deviceType,
+  () => {
+    search.value.deviceType = props.deviceType;
+    form.value.deviceType = props.deviceType;
+    dataList();
+  }
 );
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/model",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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 addItem =()=>{
-  form.value.deviceType = props.deviceType
+const addItem = () => {
+  form.value.deviceType = props.deviceType;
   crudRef.value && crudRef.value.rowAdd();
-}
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   addBtn: false,
@@ -98,9 +100,7 @@ option.value = Object.assign(option.value, {
       width: 130,
       disabled: true,
       overHidden: true,
-      dicUrl:
-        dictDataUtil.request_url +
-        dictDataUtil.TYPE_CODE.device_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -140,8 +140,8 @@ option.value = Object.assign(option.value, {
       prop: "paramType",
       type: "select",
       dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.EXPAND_FIELD_TABLE.expand_field_type,
+        dictDataUtil.request_url +
+        dictDataUtil.EXPAND_FIELD_TABLE.expand_field_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -158,7 +158,7 @@ option.value = Object.assign(option.value, {
       label: "创建人",
       prop: "creator",
       width: 160,
-      display: false
+      display: false,
     },
     {
       label: "创建时间",
@@ -170,8 +170,8 @@ option.value = Object.assign(option.value, {
 });
 
 onMounted(() => {
-  form.value.deviceType = props.deviceType
-  search.value.deviceType = props.deviceType
+  form.value.deviceType = props.deviceType;
+  search.value.deviceType = props.deviceType;
   dataList();
 });
 </script>

+ 59 - 56
src/views/device/protocol/index.vue

@@ -1,49 +1,51 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
-      <template #menu="{row}">
+      <template #menu="{ row }">
         <el-button
-            icon="el-icon-setting"
-            text
-            @click="openDialog(row.deviceType)"
-            type="primary"
-            size="small">模型</el-button>
+          icon="el-icon-setting"
+          text
+          @click="openDialog(row.deviceType)"
+          type="primary"
+          size="small"
+          >模型</el-button
+        >
       </template>
-      <template #protocolState="{row}">
+      <template #protocolState="{ row }">
         <el-switch
-            active-value= '1'
-            inactive-value= '0'
-            width="60"
-            inline-prompt
-            active-text="启用"
-            inactive-text="禁用"
-            v-model="row.protocolState"
-            @click="changeItem(row)"
-            class="ml-2"
-            style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
+          active-value="1"
+          inactive-value="0"
+          width="60"
+          inline-prompt
+          active-text="启用"
+          inactive-text="禁用"
+          v-model="row.protocolState"
+          @click="changeItem(row)"
+          class="ml-2"
+          style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
         />
       </template>
     </avue-crud>
     <el-dialog
-        v-model="dialog.visible"
-        :title="dialog.title"
-        width="60%"
-        @close="dialog.visible = false"
+      v-model="dialog.visible"
+      :title="dialog.title"
+      width="60%"
+      @close="dialog.visible = false"
     >
       <model-page :deviceType="choiceDeviceType"></model-page>
     </el-dialog>
@@ -52,7 +54,7 @@
 <script setup>
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
-import {updateProtocol} from "@/api/device";
+import { updateProtocol } from "@/api/device";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import ModelPage from "./components/model-page.vue";
@@ -67,31 +69,35 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     dataListUrl: "/api/v1/device/protocolPage",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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 changeItem =(row) => {
-  updateProtocol({state: row.protocolState,deviceType: row.deviceType}).then((data)=>{
-    if(data.code === '200'){
-      ElMessage.success(data.msg);
-      dataList()
-    }else{
-      ElMessage.error(data.msg);
+const changeItem = (row) => {
+  updateProtocol({ state: row.protocolState, deviceType: row.deviceType }).then(
+    (data) => {
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+        dataList();
+      } else {
+        ElMessage.error(data.msg);
+      }
     }
-  })
-}
-const choiceDeviceType = ref(null)
+  );
+};
+const choiceDeviceType = ref(null);
 const dialog = reactive({
   title: "模型",
   visible: false,
 });
-const openDialog = (type) =>{
-  dialog.visible = true
-  choiceDeviceType.value = type
-}
+const openDialog = (type) => {
+  dialog.visible = true;
+  choiceDeviceType.value = type;
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   addBtn: false,
@@ -105,9 +111,7 @@ option.value = Object.assign(option.value, {
       prop: "deviceType",
       type: "select",
       overHidden: true,
-      dicUrl:
-        dictDataUtil.request_url +
-        dictDataUtil.TYPE_CODE.device_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -139,9 +143,8 @@ option.value = Object.assign(option.value, {
 });
 
 onMounted(() => {
-  search.value.protocol = "1"
+  search.value.protocol = "1";
   // console.log("crudRef", crudRef)
   dataList();
-
 });
 </script>

+ 1 - 0
src/views/device/repair/index.vue

@@ -753,6 +753,7 @@ const rules3 = reactive({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   labelWidth: 150,

+ 1 - 0
src/views/device/scrap/index.vue

@@ -471,6 +471,7 @@ const maintenanceSubmit2 = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   delBtn: false,
   editBtn: false,

+ 1 - 0
src/views/plan/finishProduct/components/detail-stock.vue

@@ -76,6 +76,7 @@ onMounted(() => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   addBtn: false,
   editBtn: false,

+ 1 - 0
src/views/plan/finishProduct/components/in-stock.vue

@@ -148,6 +148,7 @@ const onSelectedFinish = (selectedValue) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   addBtn: false,
   editBtn: false,

+ 50 - 57
src/views/plan/finishProduct/index.vue

@@ -15,21 +15,18 @@
       @current-change="dataList"
       @selection-change="selectionChange"
     >
-
-
-        <template #menu="{row,index,type}">
-          <el-button @click="inStock(row)"
-                     icon="el-icon-van"
-                     text
-                     type="primary"
-          >入库</el-button>
-          <el-button @click="viewStock(row)"
-                     icon="el-icon-view"
-                     text
-                     type="primary"
-          >查看</el-button>
-        </template>
-
+      <template #menu="{ row, index, type }">
+        <el-button @click="inStock(row)" icon="el-icon-van" text type="primary"
+          >入库</el-button
+        >
+        <el-button
+          @click="viewStock(row)"
+          icon="el-icon-view"
+          text
+          type="primary"
+          >查看</el-button
+        >
+      </template>
     </avue-crud>
     <el-dialog
       v-model="dialog.visible"
@@ -38,7 +35,7 @@
       :destroy-on-close="true"
       @close="dialog.visible = false"
     >
-      <detailStock   :dialog="dialog" :workOrderCode="stockInfo.workOrderCode"/>
+      <detailStock :dialog="dialog" :workOrderCode="stockInfo.workOrderCode" />
     </el-dialog>
 
     <el-dialog
@@ -48,7 +45,10 @@
       :destroy-on-close="true"
       @close="stockClose"
     >
-      <inStocks   :stockDialog="stockDialog" :workOrderCode="stockDetail.workOrderCode"/>
+      <inStocks
+        :stockDialog="stockDialog"
+        :workOrderCode="stockDetail.workOrderCode"
+      />
     </el-dialog>
   </div>
 </template>
@@ -58,12 +58,12 @@ import { useCrud } from "@/hooks/userCrud";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
 import { useCommonStoreHook, useDictionaryStore } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
-import inStocks from "@/views/plan/finishProduct/components/in-stock.vue"
-import detailStocks from "@/views/plan/finishProduct/components/detail-stock.vue"
+import inStocks from "@/views/plan/finishProduct/components/in-stock.vue";
+import detailStocks from "@/views/plan/finishProduct/components/detail-stock.vue";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 // 数据字典相关
 const { dicts } = useDictionaryStore();
-const stockDetail=ref({});
+const stockDetail = ref({});
 const test = () => {
   isShowTable.value = true;
   tableType.value = tableType.value == 1 ? 2 : 1;
@@ -77,15 +77,15 @@ const stockDialog = reactive({
   title: "入库",
   visible: false,
 });
-const stockClose=()=>{
+const stockClose = () => {
   stockDialog.visible = false;
   dataList();
-}
-const stockInfo=ref({});
-const viewStock=(row)=>{
-  stockInfo.value=row;
+};
+const stockInfo = ref({});
+const viewStock = (row) => {
+  stockInfo.value = row;
   dialog.visible = true;
-}
+};
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
@@ -103,45 +103,35 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 //   menu: true,
 // });
 
-
-
 onMounted(() => {
   // console.log("crudRef", crudRef)
   dataList();
 });
 
-
-
-
-
-const inStock=(row)=>{
-  stockDialog.visible=true;
-  stockDetail.value=row;
-
-}
+const inStock = (row) => {
+  stockDialog.visible = true;
+  stockDetail.value = row;
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
-  addBtn:false,
-  viewBtn:false,
+  addBtn: false,
+  viewBtn: false,
   columnBtn: false,
   gridBtn: false,
-  refreshBtn:false,
-  editBtn:false,
-  delBtn:false,
+  refreshBtn: false,
+  editBtn: false,
+  delBtn: false,
   column: [
-
-    { label: "工单号", prop: "workOrderCode",
-      search: true,
-      overHidden: true
-
-    },
-    { label: "产品名称", prop: "materialName",
-      search: true,
+    { label: "工单号", prop: "workOrderCode", search: true, overHidden: true },
+    { label: "产品名称", prop: "materialName", search: true, overHidden: true },
+    {
+      label: "产品编码",
+      prop: "materialCode",
+      width: 140,
       overHidden: true,
-
-    },
-    { label: "产品编码", prop: "materialCode", width: 140,overHidden: true,search: true
+      search: true,
     },
     {
       label: "订单编码",
@@ -149,8 +139,13 @@ option.value = Object.assign(option.value, {
       search: true,
     },
 
-    { label: "完工时间", prop: "updated", overHidden: true,
-      disabled:true, hide:true},
+    {
+      label: "完工时间",
+      prop: "updated",
+      overHidden: true,
+      disabled: true,
+      hide: true,
+    },
     {
       label: "物料数量",
       prop: "completeNum",
@@ -161,6 +156,4 @@ option.value = Object.assign(option.value, {
     },
   ],
 });
-
-
 </script>

+ 25 - 23
src/views/plan/order/components/order-page.vue

@@ -1,23 +1,23 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-click="rowClick"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
+import { defineProps, ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 
 import { useCommonStoreHook } from "@/store";
@@ -32,25 +32,27 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/plan/order",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["orderInfo"])
-const rowClick = (row)=>{
-  emit("orderInfo", row)
-}
+const emit = defineEmits(["orderInfo"]);
+const rowClick = (row) => {
+  emit("orderInfo", row);
+};
 const props = defineProps({
   queryType: {
     type: String,
     default: () => {
       return "0";
-    }
-  }
-})
+    },
+  },
+});
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,
@@ -129,7 +131,7 @@ option.value = Object.assign(option.value, {
       width: "100",
       type: "select", //类型为下拉选择框
       dicUrl:
-          dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_state,
+        dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_state,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -156,7 +158,7 @@ option.value = Object.assign(option.value, {
       width: "100",
       type: "select", //类型为下拉选择框
       dicUrl:
-          dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_priority,
+        dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_priority,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -234,7 +236,7 @@ option.value = Object.assign(option.value, {
 });
 
 onMounted(() => {
-  search.value.queryType = props.queryType
+  search.value.queryType = props.queryType;
   dataList();
 });
 </script>

+ 1 - 0
src/views/plan/prepare/index.vue

@@ -206,6 +206,7 @@ const orderInfo = (value) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   editBtn: false,

+ 474 - 288
src/views/plan/requisition/index.vue

@@ -1,28 +1,29 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #menu-left="{ size }">
         <el-button
-            type="primary"
-            icon="el-icon-plus"
-            :size="size"
-            @click="openDialog(0,null)"
-        >新增</el-button>
+          type="primary"
+          icon="el-icon-plus"
+          :size="size"
+          @click="openDialog(0, null)"
+          >新增</el-button
+        >
 
         <el-button
           :disabled="toDeleteIds.length < 1"
@@ -33,122 +34,171 @@
           >删除</el-button
         >
       </template>
-      <template #menu="{size,row,index}">
-        <el-button
-            type="info"
-            link
-            size="small"
-            @click="openDialog(1,row)"
-        ><i-ep-edit />查看</el-button>
-        <el-button
-            type="primary"
-            link
-            size="small"
-            @click="openDialog(2,row)"
-        ><i-ep-edit />{{row.state === '0' ? '编辑' : '流程'}}</el-button>
+      <template #menu="{ size, row, index }">
+        <el-button type="info" link size="small" @click="openDialog(1, row)"
+          ><i-ep-edit />查看</el-button
+        >
+        <el-button type="primary" link size="small" @click="openDialog(2, row)"
+          ><i-ep-edit />{{ row.state === "0" ? "编辑" : "流程" }}</el-button
+        >
       </template>
     </avue-crud>
     <el-dialog
-        v-model="dialog.visible"
-        :title="dialog.title"
-        width="75%"
-        @close="dialog.visible = false"
+      v-model="dialog.visible"
+      :title="dialog.title"
+      width="75%"
+      @close="dialog.visible = false"
     >
       <template #header="{ close, titleId, titleClass }">
-        <el-button v-if="dialogType === 1"  type="primary" @click="printPage" size="small">打印</el-button>
+        <el-button
+          v-if="dialogType === 1"
+          type="primary"
+          @click="printPage"
+          size="small"
+          >打印</el-button
+        >
       </template>
-      <div class="card-container" >
+      <div class="card-container">
         <el-card style="width: 70%" shadow="always">
           <div ref="toPrintRef">
-            <el-row style="text-align: center;">
-              <el-col :span="24"><el-text tag="b">零、部(组)件领用单</el-text></el-col>
+            <el-row style="text-align: center">
+              <el-col :span="24"
+                ><el-text tag="b">零、部(组)件领用单</el-text></el-col
+              >
             </el-row>
-          <el-row>
-            <el-col :span="14" ></el-col>
-            <el-col :span="5" ><el-text tag="p" v-if="form.applyCode">{{form.applyCode}}</el-text></el-col>
-            <el-col :span="5"></el-col>
-          </el-row>
-          <el-row style="width: 100%;height: 30px;"></el-row>
-          <el-row>
-            <el-col :span="2" ><el-text tag="p">领用单位:</el-text></el-col>
-            <el-col :span="6" >
-              <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{form.applyOrg}}</el-text>
-              <el-input v-else size="small" style="width:150px;padding-bottom: 5px;" v-model="form.applyOrg"/>
-            </el-col>
-            <el-col :span="2" ><el-text tag="p">发件单位: </el-text></el-col>
-            <el-col :span="6" >
-              <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{form.sendOrg}} </el-text>
-              <el-input v-else size="small" style="width:150px;padding-bottom: 5px;" v-model="form.sendOrg"/>
-            </el-col>
-            <el-col :span="2" ><el-text tag="p">工单编号:</el-text></el-col>
-            <el-col :span="6">
-              <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{form.workOrderCode}}</el-text>
-              <el-select
+            <el-row>
+              <el-col :span="14"></el-col>
+              <el-col :span="5"
+                ><el-text tag="p" v-if="form.applyCode">{{
+                  form.applyCode
+                }}</el-text></el-col
+              >
+              <el-col :span="5"></el-col>
+            </el-row>
+            <el-row style="width: 100%; height: 30px"></el-row>
+            <el-row>
+              <el-col :span="2"><el-text tag="p">领用单位:</el-text></el-col>
+              <el-col :span="6">
+                <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{
+                  form.applyOrg
+                }}</el-text>
+                <el-input
+                  v-else
+                  size="small"
+                  style="width: 150px; padding-bottom: 5px"
+                  v-model="form.applyOrg"
+                />
+              </el-col>
+              <el-col :span="2"><el-text tag="p">发件单位: </el-text></el-col>
+              <el-col :span="6">
+                <el-text tag="p" v-if="dialogType === 1 || form.state > 0"
+                  >{{ form.sendOrg }}
+                </el-text>
+                <el-input
+                  v-else
+                  size="small"
+                  style="width: 150px; padding-bottom: 5px"
+                  v-model="form.sendOrg"
+                />
+              </el-col>
+              <el-col :span="2"><el-text tag="p">工单编号:</el-text></el-col>
+              <el-col :span="6">
+                <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{
+                  form.workOrderCode
+                }}</el-text>
+                <el-select
                   v-else
                   size="small"
                   v-model="form.workOrderCode"
                   placeholder="请选择工单号"
                   clearable
-                  style="width:150px;padding-bottom: 5px;"
+                  style="width: 150px; padding-bottom: 5px"
                   filterable
                   @change="changeOrder"
-              >
-                <el-option
+                >
+                  <el-option
                     v-for="option in orderList"
                     :key="option.workOrderCode"
                     :label="option.workOrderCode"
                     :value="option.workOrderCode"
-                />
-              </el-select>
-            </el-col>
-          </el-row>
-          <el-table class="print-table"
+                  />
+                </el-select>
+              </el-col>
+            </el-row>
+            <el-table
+              class="print-table"
               v-loading="loading"
               :data="tableDataList"
               border
-          >
-            <el-table-column label="序号" type="index" width="60"/>
-            <el-table-column label="工作令号" prop="workCode">
-              <template v-slot="{row}">
-                <el-text v-if="dialogType === 1 || form.state > 0">{{row.workCode}}</el-text>
-                <el-input v-else v-model="row.workCode"/>
-              </template>
-            </el-table-column>
-            <el-table-column label="零、部(组)件图号" prop="materialCode" />
-            <el-table-column label="名称" prop="materialName" />
-            <el-table-column label="数量" align="num">
-              <template v-slot="{row}">
-                <el-text v-if="dialogType === 1 || form.state > 0">{{row.num}}</el-text>
-                <el-input v-else v-model="row.num" type="number"/>
-              </template>
-            </el-table-column>
-            <el-table-column label="实际接收" align="receiveNum" v-if="form.state === '6' || form.state === '8'">
-              <template v-slot="{row}">
-                <el-text>{{row.receiveNum}}</el-text>
-              </template>
-            </el-table-column>
-            <el-table-column label="备注" align="remark">
-              <template v-slot="{row}">
-                <el-text v-if="dialogType === 1 || form.state > 0">{{row.remark}}</el-text>
-                <el-input v-else v-model="row.remark"/>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" align="remark" v-if="dialogType !== 1 && form.state === '0'">
-              <template v-slot="{row,index}">
-                <el-button type="danger" @click="minusItem(row)" icon="el-icon-minus" style="margin-left:15px;width:25px;height:25px;" circle />
-              </template>
-            </el-table-column>
-          </el-table>
-          <el-row>
-            <el-col :span="2" ><el-text tag="p">领用人:</el-text></el-col>
-            <el-col :span="4" ><el-text tag="p" >{{form.applyUser}}</el-text></el-col>
-            <el-col :span="2" ><el-text tag="p">审核: </el-text></el-col>
-            <el-col :span="4" ><el-text tag="p" >{{form.auditUser}} </el-text></el-col>
-<!--            <el-col :span="2" ><el-text tag="p">会签:</el-text></el-col>
+            >
+              <el-table-column label="序号" type="index" width="60" />
+              <el-table-column label="工作令号" prop="workCode">
+                <template v-slot="{ row }">
+                  <el-text v-if="dialogType === 1 || form.state > 0">{{
+                    row.workCode
+                  }}</el-text>
+                  <el-input v-else v-model="row.workCode" />
+                </template>
+              </el-table-column>
+              <el-table-column label="零、部(组)件图号" prop="materialCode" />
+              <el-table-column label="名称" prop="materialName" />
+              <el-table-column label="数量" align="num">
+                <template v-slot="{ row }">
+                  <el-text v-if="dialogType === 1 || form.state > 0">{{
+                    row.num
+                  }}</el-text>
+                  <el-input v-else v-model="row.num" type="number" />
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="实际接收"
+                align="receiveNum"
+                v-if="form.state === '6' || form.state === '8'"
+              >
+                <template v-slot="{ row }">
+                  <el-text>{{ row.receiveNum }}</el-text>
+                </template>
+              </el-table-column>
+              <el-table-column label="备注" align="remark">
+                <template v-slot="{ row }">
+                  <el-text v-if="dialogType === 1 || form.state > 0">{{
+                    row.remark
+                  }}</el-text>
+                  <el-input v-else v-model="row.remark" />
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="操作"
+                align="remark"
+                v-if="dialogType !== 1 && form.state === '0'"
+              >
+                <template v-slot="{ row, index }">
+                  <el-button
+                    type="danger"
+                    @click="minusItem(row)"
+                    icon="el-icon-minus"
+                    style="margin-left: 15px; width: 25px; height: 25px"
+                    circle
+                  />
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-row>
+              <el-col :span="2"><el-text tag="p">领用人:</el-text></el-col>
+              <el-col :span="4"
+                ><el-text tag="p">{{ form.applyUser }}</el-text></el-col
+              >
+              <el-col :span="2"><el-text tag="p">审核: </el-text></el-col>
+              <el-col :span="4"
+                ><el-text tag="p">{{ form.auditUser }} </el-text></el-col
+              >
+              <!--            <el-col :span="2" ><el-text tag="p">会签:</el-text></el-col>
             <el-col :span="4" ><el-text tag="p" >{{form.countersignUser}}</el-text></el-col>-->
-            <el-col :span="2" ><el-text tag="p">批准:</el-text></el-col>
-            <el-col :span="4" ><el-text tag="p" >{{form.approveUser}}</el-text></el-col>
-          </el-row>
+              <el-col :span="2"><el-text tag="p">批准:</el-text></el-col>
+              <el-col :span="4"
+                ><el-text tag="p">{{ form.approveUser }}</el-text></el-col
+              >
+            </el-row>
           </div>
         </el-card>
 
@@ -157,92 +207,174 @@
             <div class="card-header">
               <span>领用流程</span>
             </div>
-            <el-timeline style="max-width: 500px;">
+            <el-timeline style="max-width: 500px">
               <el-timeline-item center type="success" placement="top">
                 <el-card>
                   <h4>申请</h4>
-                  <el-form ref="maintenanceInfoForm2" size="small" :model="form" label-width="auto" style="max-width: 400px">
+                  <el-form
+                    ref="maintenanceInfoForm2"
+                    size="small"
+                    :model="form"
+                    label-width="auto"
+                    style="max-width: 400px"
+                  >
                     <el-form-item label="领用人员" prop="auditUser">
-                      <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{form.applyUser}}</el-text>
+                      <el-text
+                        tag="p"
+                        v-if="dialogType === 1 || form.state > 0"
+                        >{{ form.applyUser }}</el-text
+                      >
                       <el-select
-                          v-else
-                          size="small"
-                          filterable
-                          v-model="form.applyUser"
-                          placeholder="请选择领用人员"
-                          clearable>
+                        v-else
+                        size="small"
+                        filterable
+                        v-model="form.applyUser"
+                        placeholder="请选择领用人员"
+                        clearable
+                      >
                         <el-option
-                            v-for="option in userList"
-                            :key="option.userName"
-                            :label="option.nickName"
-                            :value="option.userName" />
+                          v-for="option in userList"
+                          :key="option.userName"
+                          :label="option.nickName"
+                          :value="option.userName"
+                        />
                       </el-select>
                     </el-form-item>
                     <el-form-item label="审核人员" v-if="form.state === '0'">
-                      <el-text tag="p" v-if="dialogType === 1 || form.state > 0">{{form.auditUser}}</el-text>
+                      <el-text
+                        tag="p"
+                        v-if="dialogType === 1 || form.state > 0"
+                        >{{ form.auditUser }}</el-text
+                      >
                       <el-select
-                          v-else
-                          size="small"
-                          filterable
-                          v-model="form.auditUser"
-                          placeholder="请选择审核人员"
-                          clearable>
+                        v-else
+                        size="small"
+                        filterable
+                        v-model="form.auditUser"
+                        placeholder="请选择审核人员"
+                        clearable
+                      >
                         <el-option
-                            v-for="option in userList"
-                            :key="option.userName"
-                            :label="option.nickName"
-                            :value="option.userName" />
+                          v-for="option in userList"
+                          :key="option.userName"
+                          :label="option.nickName"
+                          :value="option.userName"
+                        />
                       </el-select>
                     </el-form-item>
-                    <el-form-item label="申请时间"  v-if="form.state > 0">
-                      <el-text tag="p">{{form.created}}</el-text>
+                    <el-form-item label="申请时间" v-if="form.state > 0">
+                      <el-text tag="p">{{ form.created }}</el-text>
                     </el-form-item>
-                    <el-form-item style="margin-left: 28%" v-if="dialogType !==1">
-                      <el-button type="primary" @click="saveForm(1)" v-if="form.state === '0'">申 请</el-button>
-                      <el-button type="success" @click="saveForm(0)" v-if="form.state === '0'">保 存</el-button>
+                    <el-form-item
+                      style="margin-left: 28%"
+                      v-if="dialogType !== 1"
+                    >
+                      <el-button
+                        type="primary"
+                        @click="saveForm(1)"
+                        v-if="form.state === '0'"
+                        >申 请</el-button
+                      >
+                      <el-button
+                        type="success"
+                        @click="saveForm(0)"
+                        v-if="form.state === '0'"
+                        >保 存</el-button
+                      >
                     </el-form-item>
                   </el-form>
                 </el-card>
               </el-timeline-item>
-              <el-timeline-item center placement="top"  :type="form.state > 1 ? 'success' : 'primary'">
+              <el-timeline-item
+                center
+                placement="top"
+                :type="form.state > 1 ? 'success' : 'primary'"
+              >
                 <el-card>
                   <h4>审核</h4>
-                  <el-form v-if="form.state >= 1"  size="small" :model="form" label-width="auto" style="max-width: 400px">
+                  <el-form
+                    v-if="form.state >= 1"
+                    size="small"
+                    :model="form"
+                    label-width="auto"
+                    style="max-width: 400px"
+                  >
                     <el-form-item label="审核人员" prop="auditUser">
-                      <el-text tag="p">{{form.auditUser}}</el-text>
+                      <el-text tag="p">{{ form.auditUser }}</el-text>
                     </el-form-item>
                     <el-form-item label="处理结果">
-                      <el-text tag="p" v-if="dialogType === 1 || form.state !== '1'">{{form.state === '1' ? '待审核' : form.auditState === 0 ? "通过" : "未通过"}}</el-text>
-                      <el-text tag="p" v-else-if="form.auditUser !== username">{{form.auditState ? form.auditState === 0 ? "通过" : "未通过" : "待审核"}}</el-text>
+                      <el-text
+                        tag="p"
+                        v-if="dialogType === 1 || form.state !== '1'"
+                        >{{
+                          form.state === "1"
+                            ? "待审核"
+                            : form.auditState === 0
+                              ? "通过"
+                              : "未通过"
+                        }}</el-text
+                      >
+                      <el-text
+                        tag="p"
+                        v-else-if="form.auditUser !== username"
+                        >{{
+                          form.auditState
+                            ? form.auditState === 0
+                              ? "通过"
+                              : "未通过"
+                            : "待审核"
+                        }}</el-text
+                      >
                       <el-radio-group v-else v-model="form.auditState">
-                        <el-radio :value=0>通过</el-radio>
-                        <el-radio :value=1>不通过</el-radio>
+                        <el-radio :value="0">通过</el-radio>
+                        <el-radio :value="1">不通过</el-radio>
                       </el-radio-group>
                     </el-form-item>
-                    <el-form-item label="审批人员" v-if="dialogType !== 1 && form.state === '1' && form.auditUser === username">
+                    <el-form-item
+                      label="审批人员"
+                      v-if="
+                        dialogType !== 1 &&
+                        form.state === '1' &&
+                        form.auditUser === username
+                      "
+                    >
                       <el-select
-                          size="small"
-                          filterable
-                          v-model="form.approveUser"
-                          placeholder="请选择审批人员"
-                          clearable>
+                        size="small"
+                        filterable
+                        v-model="form.approveUser"
+                        placeholder="请选择审批人员"
+                        clearable
+                      >
                         <el-option
-                            v-for="option in userList"
-                            :key="option.userName"
-                            :label="option.nickName"
-                            :value="option.userName" />
+                          v-for="option in userList"
+                          :key="option.userName"
+                          :label="option.nickName"
+                          :value="option.userName"
+                        />
                       </el-select>
                     </el-form-item>
-                    <el-form-item label="审核时间" v-if="form.audit && form.audit.time">
-                      <el-text tag="p" >{{form.audit.time}}</el-text>
+                    <el-form-item
+                      label="审核时间"
+                      v-if="form.audit && form.audit.time"
+                    >
+                      <el-text tag="p">{{ form.audit.time }}</el-text>
                     </el-form-item>
                     <el-form-item style="margin-left: 35%">
-                      <el-button type="primary" @click="saveForm(2)"  v-if="dialogType !== 1 && form.state === '1' && form.auditUser === username">审 核</el-button>
+                      <el-button
+                        type="primary"
+                        @click="saveForm(2)"
+                        v-if="
+                          dialogType !== 1 &&
+                          form.state === '1' &&
+                          form.auditUser === username
+                        "
+                        >审 核</el-button
+                      >
                     </el-form-item>
                   </el-form>
                 </el-card>
               </el-timeline-item>
-<!--              <el-timeline-item center placement="top" :type="form.state > 3 ? 'success' : 'primary'">
+              <!--              <el-timeline-item center placement="top" :type="form.state > 3 ? 'success' : 'primary'">
                 <el-card>
                   <h4>会签</h4>
                   <el-form v-if="form.state >= 3"  size="small" :model="form" label-width="auto" style="max-width: 400px">
@@ -277,26 +409,61 @@
                   </el-form>
                 </el-card>
               </el-timeline-item>-->
-              <el-timeline-item center placement="top" :type="form.state > 5 ? 'success' : 'primary'">
+              <el-timeline-item
+                center
+                placement="top"
+                :type="form.state > 5 ? 'success' : 'primary'"
+              >
                 <el-card>
                   <h4>批准</h4>
-                  <el-form v-if="form.state >= 5" size="small" :model="form" label-width="auto" style="max-width: 400px">
+                  <el-form
+                    v-if="form.state >= 5"
+                    size="small"
+                    :model="form"
+                    label-width="auto"
+                    style="max-width: 400px"
+                  >
                     <el-form-item label="审批人" v-if="form.state > 5">
-                      <el-text tag="p">{{form.approve.user}}</el-text>
+                      <el-text tag="p">{{ form.approve.user }}</el-text>
                     </el-form-item>
                     <el-form-item label="审批结果">
-                      <el-text tag="p" v-if="dialogType === 1 || form.state === '6' || form.state === '7'">{{form.state === '5' ?  '待审批' : form.state === '6' ? '通过' : '未通过'}}</el-text>
-                      <el-text tag="p" v-else-if="form.approveUser !== username">待审批</el-text>
+                      <el-text
+                        tag="p"
+                        v-if="
+                          dialogType === 1 ||
+                          form.state === '6' ||
+                          form.state === '7'
+                        "
+                        >{{
+                          form.state === "5"
+                            ? "待审批"
+                            : form.state === "6"
+                              ? "通过"
+                              : "未通过"
+                        }}</el-text
+                      >
+                      <el-text tag="p" v-else-if="form.approveUser !== username"
+                        >待审批</el-text
+                      >
                       <el-radio-group v-else v-model="form.approveState">
-                        <el-radio :value=0>通过</el-radio>
-                        <el-radio :value=1>不通过</el-radio>
+                        <el-radio :value="0">通过</el-radio>
+                        <el-radio :value="1">不通过</el-radio>
                       </el-radio-group>
                     </el-form-item>
                     <el-form-item label="审批时间" v-if="form.state > 5">
-                      <el-text tag="p">{{form.approve.time}}</el-text>
+                      <el-text tag="p">{{ form.approve.time }}</el-text>
                     </el-form-item>
                     <el-form-item style="margin-left: 35%">
-                      <el-button type="primary" @click="saveForm(4)" v-if="dialogType !== 1 && form.state === '5' && form.approveUser === username">审 核</el-button>
+                      <el-button
+                        type="primary"
+                        @click="saveForm(4)"
+                        v-if="
+                          dialogType !== 1 &&
+                          form.state === '5' &&
+                          form.approveUser === username
+                        "
+                        >审 核</el-button
+                      >
                     </el-form-item>
                   </el-form>
                 </el-card>
@@ -315,8 +482,13 @@ import { ref, getCurrentInstance } from "vue";
 import { html2CanvasPrint } from "@/utils/common";
 import { useCrud } from "@/hooks/userCrud";
 import dictDataUtil from "@/common/configs/dictDataUtil";
-import {queryApplyInfoDetails,queryWorkOrderList,saveApplyInfoDetails,auditApplyInfoDetails} from "@/api/order"
-import {getUserList} from "@/api/system/user"
+import {
+  queryApplyInfoDetails,
+  queryWorkOrderList,
+  saveApplyInfoDetails,
+  auditApplyInfoDetails,
+} from "@/api/order";
+import { getUserList } from "@/api/system/user";
 import { useCommonStoreHook } from "@/store";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const test = () => {
@@ -331,72 +503,79 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/plan/requisition",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 const { username } = useUserStoreHook().user;
-const minusItem =(row)=>{
-  tableDataList.value = tableDataList.value.filter(item=>item.id !== row.id)
-}
-const changeOrder =(val)=>{
-  queryApplyInfoDetails({workOrderCode: val}).then((data)=>{
-    tableDataList.value = data.data
-  })
-}
-const saveForm = (type) =>{
+const minusItem = (row) => {
+  tableDataList.value = tableDataList.value.filter(
+    (item) => item.id !== row.id
+  );
+};
+const changeOrder = (val) => {
+  queryApplyInfoDetails({ workOrderCode: val }).then((data) => {
+    tableDataList.value = data.data;
+  });
+};
+const saveForm = (type) => {
   let state = type;
   let step = null;
-  let nextUsers = ""
-  if(type === 1 || type === 0){
-    if(tableDataList.value.length === 0){
-      ElMessage.error("当前没有申请的物料信息")
+  let nextUsers = "";
+  if (type === 1 || type === 0) {
+    if (tableDataList.value.length === 0) {
+      ElMessage.error("当前没有申请的物料信息");
       return;
     }
-    for(let item of tableDataList.value){
-      if(!item.workCode){
-        ElMessage.error("工作令号不能为空")
+    for (let item of tableDataList.value) {
+      if (!item.workCode) {
+        ElMessage.error("工作令号不能为空");
         return;
       }
-      if(!item.num || item.num <=0){
-        ElMessage.error("物料数量不正确")
+      if (!item.num || item.num <= 0) {
+        ElMessage.error("物料数量不正确");
         return;
       }
     }
-    if(!form.value.applyUser){
-      ElMessage.error("领用人员不能为空")
+    if (!form.value.applyUser) {
+      ElMessage.error("领用人员不能为空");
       return;
     }
-    if(!form.value.auditUser){
-      ElMessage.error("审核人员不能为空")
+    if (!form.value.auditUser) {
+      ElMessage.error("审核人员不能为空");
       return;
     }
-    const params = {...form.value,'state': state,details: tableDataList.value}
-    saveApplyInfoDetails(params).then((data)=>{
-      if(data.code === '200'){
-        ElMessage.success(data.msg)
-        dialog.visible = false
-        dataList()
-      }else{
-        ElMessage.error(data.msg)
+    const params = {
+      ...form.value,
+      state: state,
+      details: tableDataList.value,
+    };
+    saveApplyInfoDetails(params).then((data) => {
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+        dialog.visible = false;
+        dataList();
+      } else {
+        ElMessage.error(data.msg);
       }
-    })
+    });
     return;
   }
   step = "audit";
-  if(type === 2){
-    if(form.value.auditState != undefined){
-      if(form.value.auditState === 0 && !form.value.approveUser){
-        ElMessage.error("审批人员不能为空")
+  if (type === 2) {
+    if (form.value.auditState != undefined) {
+      if (form.value.auditState === 0 && !form.value.approveUser) {
+        ElMessage.error("审批人员不能为空");
         return;
       }
-    }else{
-      if(!form.value.auditState){
-        ElMessage.error("请选择处理结果")
+    } else {
+      if (!form.value.auditState) {
+        ElMessage.error("请选择处理结果");
         return;
       }
     }
-    nextUsers = form.value.approveUser
-    state = form.value.auditState
+    nextUsers = form.value.approveUser;
+    state = form.value.auditState;
   }
   /*if(type === 3){
     step = "countersign";
@@ -411,90 +590,96 @@ const saveForm = (type) =>{
     nextUsers = form.value.approveUser
     state = form.value.countersignState
   }*/
-  if(type === 4){
+  if (type === 4) {
     step = "approve";
-    if(form.value.approveState === undefined){
-      ElMessage.error("请选择处理结果")
+    if (form.value.approveState === undefined) {
+      ElMessage.error("请选择处理结果");
       return;
     }
-    state = form.value.approveState
+    state = form.value.approveState;
   }
-  const params = {id: form.value.id,'state': state,currentStep: step,nextUser: nextUsers}
-  auditApplyInfoDetails(params).then((data)=>{
-    if(data.code === '200'){
-      ElMessage.success(data.msg)
-      dialog.visible = false
-      dataList()
-    }else{
-      ElMessage.error(data.msg)
+  const params = {
+    id: form.value.id,
+    state: state,
+    currentStep: step,
+    nextUser: nextUsers,
+  };
+  auditApplyInfoDetails(params).then((data) => {
+    if (data.code === "200") {
+      ElMessage.success(data.msg);
+      dialog.visible = false;
+      dataList();
+    } else {
+      ElMessage.error(data.msg);
     }
-  })
-}
-const loading = ref(false)
+  });
+};
+const loading = ref(false);
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const userList = ref([])
-const orderList = ref([])
-const dialogType = ref(false)
+const userList = ref([]);
+const orderList = ref([]);
+const dialogType = ref(false);
 const dialog = reactive({
   title: "领用单",
   visible: false,
 });
-const tableDataList = ref([])
-const openDialog = (type,row)=>{
-  dialogType.value = type
-  tableDataList.value = []
-  form.value = {}
+const tableDataList = ref([]);
+const openDialog = (type, row) => {
+  dialogType.value = type;
+  tableDataList.value = [];
+  form.value = {};
   form.value.sendOrg = "周转库";
-  form.value.applyOrg = "制造中心"
-  form.value.state = "0"
-  if(type !== 0){
-    queryApplyInfoDetails({applyCode: row.applyCode}).then((data)=>{
-      tableDataList.value = data.data
-    })
-    form.value = row
+  form.value.applyOrg = "制造中心";
+  form.value.state = "0";
+  if (type !== 0) {
+    queryApplyInfoDetails({ applyCode: row.applyCode }).then((data) => {
+      tableDataList.value = data.data;
+    });
+    form.value = row;
   }
-  form.value.countersign = []
-  if(row && row.flowInfo){
-    let json = JSON.parse(row.flowInfo)
-    let auditInfo = json.audit
-    if(auditInfo){
-      form.value.audit =auditInfo.info
-      form.value.auditState = form.value.audit.state
+  form.value.countersign = [];
+  if (row && row.flowInfo) {
+    let json = JSON.parse(row.flowInfo);
+    let auditInfo = json.audit;
+    if (auditInfo) {
+      form.value.audit = auditInfo.info;
+      form.value.auditState = form.value.audit.state;
     }
-    if(row.countersignUser){
-      form.value.countersignUsers = row.countersignUser.split(",")
+    if (row.countersignUser) {
+      form.value.countersignUsers = row.countersignUser.split(",");
     }
-    form.value.countersignBtn = false
-    if(json.countersign){
-      form.value.countersign = json.countersign.list
-      form.value.countersignInfo = json.countersign.info
+    form.value.countersignBtn = false;
+    if (json.countersign) {
+      form.value.countersign = json.countersign.list;
+      form.value.countersignInfo = json.countersign.info;
       //当断当前是否最后一个
-      let isOk = true
-      for(let obj of form.value.countersign){
-        if(obj.state === -1 && obj.user === username){
-          form.value.countersignBtn = true
+      let isOk = true;
+      for (let obj of form.value.countersign) {
+        if (obj.state === -1 && obj.user === username) {
+          form.value.countersignBtn = true;
         }
-        if(obj.user !== username && obj.state === -1){
-          isOk = false
+        if (obj.user !== username && obj.state === -1) {
+          isOk = false;
         }
       }
       form.value.countersignOk = isOk;
     }
-    if(json.approve){
-      form.value.approve = json.approve.info
+    if (json.approve) {
+      form.value.approve = json.approve.info;
     }
-    form.value.approveUser = row.approveUser
+    form.value.approveUser = row.approveUser;
   }
-  dialog.visible = true
-  getUserList({}).then((data)=>{
-    userList.value = data.data
-  })
-}
-const printPage = ()=>{
+  dialog.visible = true;
+  getUserList({}).then((data) => {
+    userList.value = data.data;
+  });
+};
+const printPage = () => {
   html2CanvasPrint(toPrintRef.value);
-}
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   addBtn: false,
   editBtn: false,
@@ -547,7 +732,7 @@ option.value = Object.assign(option.value, {
       width: 150,
       overHidden: true,
     },
-   /* {
+    /* {
       label: "会签人员",
       width: 150,
       overHidden: true,
@@ -563,40 +748,41 @@ option.value = Object.assign(option.value, {
       label: "状态",
       prop: "state",
       width: 150,
-      type: 'select',
-      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.requisition_state,
+      type: "select",
+      dicUrl:
+        dictDataUtil.request_url + dictDataUtil.TYPE_CODE.requisition_state,
       props: {
         label: "dictLabel", // 下拉菜单显示的字段
-        value: "dictValue" // 下拉菜单值的字
+        value: "dictValue", // 下拉菜单值的字
       },
     },
     {
       label: "创建时间",
       prop: "created",
       width: 160,
-      display: false
+      display: false,
     },
   ],
 });
 
 onMounted(() => {
-  let url = window.location.href
-  if(url.includes("workOrderCode")){
-    search.value.workOrderCode = url.substring(url.indexOf("workOrderCode")+ 14)
+  let url = window.location.href;
+  if (url.includes("workOrderCode")) {
+    search.value.workOrderCode = url.substring(
+      url.indexOf("workOrderCode") + 14
+    );
   }
-  queryWorkOrderList({}).then((data)=>{
-    if(!data.data){
-      ElMessage.warning("请维护物料BOM")
+  queryWorkOrderList({}).then((data) => {
+    if (!data.data) {
+      ElMessage.warning("请维护物料BOM");
     }
-    orderList.value = data.data
-  })
+    orderList.value = data.data;
+  });
   // console.log("crudRef", crudRef)
   dataList();
 });
 </script>
 
-
-
 <style scoped>
 :deep(.card-container .el-form-item) {
   display: flex;
@@ -605,7 +791,7 @@ onMounted(() => {
   height: 15px; /* 根据需要调整高度 */
 }
 
-:deep(.el-timeline-item){
+:deep(.el-timeline-item) {
   padding-bottom: 0px;
   position: relative;
 }

+ 1 - 0
src/views/plan/schedule/index.vue

@@ -245,6 +245,7 @@ const rules = reactive({
 });
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   reserveSelection: true,
   menu: true,

+ 1 - 0
src/views/plan/track/index.vue

@@ -50,6 +50,7 @@ onMounted(() => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   menu: false,
   menuWidth: 160,

+ 1 - 0
src/views/plan/workOrder/components/check-task.vue

@@ -238,6 +238,7 @@ const { dicts } = useDictionaryStore();
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,

+ 1 - 0
src/views/plan/workOrder/components/choice-line-page.vue

@@ -74,6 +74,7 @@ const rowClick = (row) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,

+ 36 - 34
src/views/plan/workOrder/components/choice-route-page.vue

@@ -1,23 +1,23 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-click="rowClick"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
     >
     </avue-crud>
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
+import { defineProps, ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
@@ -30,52 +30,54 @@ const props = defineProps({
   materialCode: {
     type: String,
     default: () => {
-      return '';
-    }
+      return "";
+    },
   },
   materialVersion: {
     type: String,
     default: () => {
-      return '';
-    }
+      return "";
+    },
   },
   processRouteType: {
     type: String,
     default: () => {
-      return '';
-    }
-  }
-})
+      return "";
+    },
+  },
+});
 watch(
   () => props.materialCode,
   () => {
-    search.value.prodtCode = props.materialCode
+    search.value.prodtCode = props.materialCode;
     dataList();
   }
 );
 watch(
-    () => props.processRouteType,
-    () => {
-      search.value.processRouteType = props.processRouteType
-      dataList();
-    }
+  () => props.processRouteType,
+  () => {
+    search.value.processRouteType = props.processRouteType;
+    dataList();
+  }
 );
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/op/route",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["routeInfo"])
-const rowClick = (row)=>{
-  emit("routeInfo", row)
-}
+const emit = defineEmits(["routeInfo"]);
+const rowClick = (row) => {
+  emit("routeInfo", row);
+};
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,
@@ -187,9 +189,9 @@ option.value = Object.assign(option.value, {
 });
 
 onMounted(() => {
-  search.value.prodtCode = props.materialCode
-  search.value.processRouteType =  props.processRouteType
-  search.value.enabled = "0"
+  search.value.prodtCode = props.materialCode;
+  search.value.processRouteType = props.processRouteType;
+  search.value.enabled = "0";
   dataList();
 });
 </script>

+ 1 - 0
src/views/plan/workOrder/components/choice-workshop-page.vue

@@ -44,6 +44,7 @@ const rowClick = (row) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: false,
   search: false,

+ 1 - 0
src/views/plan/workOrder/components/work-order-page.vue

@@ -103,6 +103,7 @@ const clickItem = (row) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: props.multipleKey ? true : false,
   search: false,

+ 1 - 0
src/views/plan/workOrder/components/work-order-seq.vue

@@ -217,6 +217,7 @@ const printCode = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   search: false,

+ 1 - 0
src/views/plan/workOrder/components/work-order-seqNos-page.vue

@@ -67,6 +67,7 @@ const handleSelectionChange = (selection) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   searchBtn: false,
   addBtn: false,

+ 1 - 0
src/views/plan/workOrder/index.vue

@@ -658,6 +658,7 @@ const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const groupStri = ref({});
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   delBtn: false,
   selection: true,
   viewBtn: false,

+ 1 - 0
src/views/pro/baseoperation/index.vue

@@ -50,6 +50,7 @@ const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   column: [
     {

+ 21 - 16
src/views/pro/traceability/components/checkCom.vue

@@ -12,14 +12,12 @@
     >
       <template #menu="{ size, row, index }">
         <el-button
-            v-if="
-            row.checkName!=undefined && row.checkName!=null
-          "
-            type="primary"
-            link
-            size="small"
-            @click="doEdit(row,index)"
-        ><i-ep-edit />编辑
+          v-if="row.checkName != undefined && row.checkName != null"
+          type="primary"
+          link
+          size="small"
+          @click="doEdit(row, index)"
+          ><i-ep-edit />编辑
         </el-button>
       </template>
     </avue-crud>
@@ -30,7 +28,11 @@ 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";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useUserStoreHook,
+} from "@/store";
 
 // 数据字典相关
 const { dicts } = useDictionaryStore();
@@ -57,21 +59,24 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef2 = ref(null); //crudRef.value 获取avue-crud对象
 
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
   dataList();
 };
 defineExpose({ refreshTra });
 const userStore = useUserStoreHook();
 onMounted(() => {
-  if(userStore.user.userId===10000){
-    option.value.menu=true;
-
+  if (userStore.user.userId === 10000) {
+    option.value.menu = true;
   }
 });
 const doEdit = (row, index) => {
   crudRef2.value && crudRef2.value.rowEdit(row, index);
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,
@@ -81,7 +86,7 @@ option.value = Object.assign(option.value, {
   labelWidth: 100,
   addBtn: false,
   menu: false,
-  editBtn : false,
+  editBtn: false,
   viewBtn: false,
   delBtn: false,
   header: false,
@@ -169,8 +174,8 @@ option.value = Object.assign(option.value, {
       label: "录入时间",
       prop: "created",
       search: false,
-      format: 'YYYY-MM-DD HH:mm:ss',
-      valueFormat: 'YYYY-MM-DD HH:mm:ss',
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
       type: "datetime",
     },
   ],

+ 33 - 28
src/views/pro/traceability/components/equitCom.vue

@@ -12,25 +12,26 @@
     >
       <template #menu="{ size, row, index }">
         <el-button
-            v-if="
-            row.equitCode!=undefined && row.equitCode!=null
-          "
-            type="primary"
-            link
-            size="small"
-            @click="doEdit(row,index)"
-        ><i-ep-edit />编辑
+          v-if="row.equitCode != undefined && row.equitCode != null"
+          type="primary"
+          link
+          size="small"
+          @click="doEdit(row, index)"
+          ><i-ep-edit />编辑
         </el-button>
       </template>
     </avue-crud>
     <el-dialog
-        v-model="dialog.visible"
-        :title="dialog.title"
-        width="850px"
-        @close="dialog.visible = false"
-        :destroy-on-close="true"
+      v-model="dialog.visible"
+      :title="dialog.title"
+      width="850px"
+      @close="dialog.visible = false"
+      :destroy-on-close="true"
     >
-      <device-page  @deviceInfo="deviceInfo" :deviceType="deviceDetail.equitType"/>
+      <device-page
+        @deviceInfo="deviceInfo"
+        :deviceType="deviceDetail.equitType"
+      />
     </el-dialog>
   </div>
 </template>
@@ -39,7 +40,11 @@ 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";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useUserStoreHook,
+} from "@/store";
 
 // 数据字典相关
 const { dicts } = useDictionaryStore();
@@ -70,7 +75,10 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef2 = ref(null); //crudRef.value 获取avue-crud对象
 const userStore = useUserStoreHook();
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
   dataList();
 };
 const deviceDetail = ref({});
@@ -81,23 +89,20 @@ const doEdit = (row, index) => {
 
 const deviceInfo = (value) => {
   form.value.equitCode = value.deviceNo;
-  form.value.equitName =value.deviceName;
+  form.value.equitName = value.deviceName;
   form.value.validDate = value.meteringDate;
   form.value.equitId = value.id;
   dialog.visible = false;
-
-
-}
+};
 defineExpose({ refreshTra });
 onMounted(() => {
-  if(userStore.user.userId===10000){
-    option.value.menu=true;
-
+  if (userStore.user.userId === 10000) {
+    option.value.menu = true;
   }
-
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,
@@ -107,7 +112,7 @@ option.value = Object.assign(option.value, {
   labelWidth: 100,
   addBtn: false,
   menu: false,
-  editBtn : false,
+  editBtn: false,
   viewBtn: false,
   delBtn: false,
   header: false,
@@ -122,7 +127,7 @@ option.value = Object.assign(option.value, {
     {
       label: "工序名称",
       prop: "opName",
-      display: false
+      display: false,
     },
     {
       label: "设备类型",
@@ -185,8 +190,8 @@ option.value = Object.assign(option.value, {
       label: "录入时间",
       prop: "created",
       search: false,
-      format: 'YYYY-MM-DD HH:mm:ss',
-      valueFormat: 'YYYY-MM-DD HH:mm:ss',
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
       type: "datetime",
     },
   ],

+ 1 - 0
src/views/pro/traceability/components/excelCom.vue

@@ -130,6 +130,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

+ 5 - 1
src/views/pro/traceability/components/faultCom.vue

@@ -54,7 +54,10 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
   dataList();
 };
 const userStore = useUserStoreHook();
@@ -70,6 +73,7 @@ onMounted(() => {
 });
 const ctableRef = ref(null);
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

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

@@ -60,6 +60,7 @@ const refreshTra = (row) => {
 };
 defineExpose({ refreshTra });
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

+ 1 - 0
src/views/pro/traceability/components/materialsCom.vue

@@ -86,6 +86,7 @@ const onSelectedFinish = (selectedValue) => {
   form.value.itemModel = selectedValue.spec;
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

+ 5 - 1
src/views/pro/traceability/components/mediaCom.vue

@@ -83,7 +83,10 @@ const openDialog = (row) => {
   url.value = import.meta.env.VITE_APP_UPLOAD_URL + row.filePath;
 };
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
   dataList();
 };
 const userStore = useUserStoreHook();
@@ -97,6 +100,7 @@ const onSelectedFinish = (selectValue) => {
   form.value.creator = selectValue.userName;
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

+ 5 - 1
src/views/pro/traceability/components/recordCom.vue

@@ -59,7 +59,10 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
+  commonConfig.value.params = {
+    seqNo: row.seqNo,
+    workOrderCode: row.workOrderCode,
+  };
   dataList();
 };
 defineExpose({ refreshTra });
@@ -73,6 +76,7 @@ const doEdit = (row, index) => {
   crudRef2.value && crudRef2.value.rowEdit(row, index);
 };
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

+ 1 - 0
src/views/pro/traceability/components/testData.vue

@@ -94,6 +94,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   // selection: false,
   // border: true,
   // index: false,

+ 1 - 0
src/views/pro/traceability/components/traceabilityCom.vue

@@ -76,6 +76,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   border: true,
   index: false,

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

@@ -349,6 +349,7 @@ const handleCellClick = (row, column, event) => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   // selection: true,
   excelBtn: true,
   border: true,

+ 195 - 189
src/views/quality/faultHandle/components/fault-detail.vue

@@ -1,14 +1,13 @@
 <template>
-  <div class="fault" v-if="faultDetails1!=null">
-    <div class="title-fault" >
-      产品名称:&nbsp;&nbsp;{{faultDetails1.materialName}}
+  <div class="fault" v-if="faultDetails1 != null">
+    <div class="title-fault">
+      产品名称:&nbsp;&nbsp;{{ faultDetails1.materialName }}
     </div>
     <div class="title-fault">
-      产品编码:&nbsp;&nbsp;{{faultDetails1.materialCode}}
+      产品编码:&nbsp;&nbsp;{{ faultDetails1.materialCode }}
     </div>
   </div>
   <div class="mainContentBox">
-
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -24,7 +23,6 @@
       @selection-change="selectionChange"
     >
     </avue-crud>
-
   </div>
   <div class="fault">
     <div class="image-title">图片</div>
@@ -39,211 +37,219 @@
       fit="cover"
     />
   </div>
-  <div class="fault" v-if="faultDetails1!=null">
-    <div class="fault-detail" v-if="faultDetails1.trackingNumber!=null">不合格审理单号 :&nbsp;&nbsp;{{faultDetails1.trackingNumber}}</div>
-    <div class="fault-detail" >序列号 :&nbsp;&nbsp;{{faultDetails1.seqNo}}</div>
-    <div class="fault-detail" v-if="faultDetails1.remark!=''">故障描述 :&nbsp;&nbsp;{{faultDetails1.remark}}</div>
-    <div class="fault-detail" v-if="faultDetails1.opinion!=''">线长意见 :&nbsp;&nbsp;{{faultDetails1.opinion}}</div>
+  <div class="fault" v-if="faultDetails1 != null">
+    <div class="fault-detail" v-if="faultDetails1.trackingNumber != null">
+      不合格审理单号 :&nbsp;&nbsp;{{ faultDetails1.trackingNumber }}
+    </div>
+    <div class="fault-detail">
+      序列号 :&nbsp;&nbsp;{{ faultDetails1.seqNo }}
+    </div>
+    <div class="fault-detail" v-if="faultDetails1.remark != ''">
+      故障描述 :&nbsp;&nbsp;{{ faultDetails1.remark }}
+    </div>
+    <div class="fault-detail" v-if="faultDetails1.opinion != ''">
+      线长意见 :&nbsp;&nbsp;{{ faultDetails1.opinion }}
+    </div>
 
     <div class="title-fault" style="margin-top: 10px">
-      报故人:&nbsp;&nbsp;{{faultDetails1.creator}}
+      报故人:&nbsp;&nbsp;{{ faultDetails1.creator }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故工位:&nbsp;&nbsp;{{faultDetails1.stationName}}
+      报故工位:&nbsp;&nbsp;{{ faultDetails1.stationName }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故数量:&nbsp;&nbsp;{{faultDetails1.unqualifiedNum}}
+      报故数量:&nbsp;&nbsp;{{ faultDetails1.unqualifiedNum }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px" v-if="faultDetails1.result!=undefined&&faultDetails1.result!=''">
-      处理结果:&nbsp;&nbsp;{{faultDetails1.result}}
+    <div
+      class="title-fault"
+      style="margin-top: 10px; margin-bottom: 10px"
+      v-if="faultDetails1.result != undefined && faultDetails1.result != ''"
+    >
+      处理结果:&nbsp;&nbsp;{{ faultDetails1.result }}
     </div>
   </div>
-  <div class="mainContentBox" v-if="faultDetails1!=null&&faultDetails1.currentState==5">
-    <avue-crud
-      ref="formRef"
-      v-model="form"
-      :data="data2"
-      :option="option2"
-    >
+  <div
+    class="mainContentBox"
+    v-if="faultDetails1 != null && faultDetails1.currentState == 5"
+  >
+    <avue-crud ref="formRef" v-model="form" :data="data2" :option="option2">
     </avue-crud>
   </div>
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import {getFault,getFaultDetails,getSeqNoList} from "@/api/fault"
-  import dictDataUtil from "@/common/configs/dictDataUtil";
-  // 数据字典相关
-  const { dicts } = useDictionaryStore();
-
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const props = defineProps({
-    escalationFaultId: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { getFault, getFaultDetails, getSeqNoList } from "@/api/fault";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+// 数据字典相关
+const { dicts } = useDictionaryStore();
+
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const props = defineProps({
+  escalationFaultId: {
+    type: String,
+    default: () => {
+      return 0;
+    },
+  },
+  dialog: {
+    type: Object,
+    default: () => {
+      return {};
     },
-    dialog:{
-      type:Object,
-      default:()=>{
-        return {};
+  },
+});
+const url = ref({});
+const srcList = ref([]);
+const drawingDetail = ref(null);
+const drawing = (row) => {
+  drawingDetail.value = row;
+  dialog.visible = true;
+};
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/process/escalationDefects",
+  });
+const {
+  dataNoPageList,
+  createRow,
+  updateRow,
+  deleteRow,
+  searchChange,
+  resetChange,
+} = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const router = useRouter();
+
+const formData1 = ref({});
+const data2 = ref([]);
+const option2 = ref([]);
+const formFault = ref({});
+const faultDetails1 = ref(null);
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  search.value.escalationFaultId = props.escalationFaultId;
+  dataNoPageList();
+  formData1.value.escalationFaultId = props.escalationFaultId;
+  formFault.value.escalationFaultId = props.escalationFaultId;
+  getFault(formData1.value).then((data) => {
+    if (data.data.length > 0) {
+      url.value = dictDataUtil.img_url + data.data[0].fileUrl;
+      for (let i = 0; i < data.data.length; i++) {
+        srcList.value[i] = dictDataUtil.img_url + data.data[i].fileUrl;
       }
     }
-  })
-  const url=ref({});
-  const srcList=ref([]);
-  const drawingDetail=ref(null);
-  const drawing=(row)=>{
-    drawingDetail.value=row;
-    dialog.visible=true;
-  }
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/process/escalationDefects",
-    });
-  const { dataNoPageList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-  const router = useRouter();
-
-
-  const formData1=ref({});
-  const data2=ref([]);
-  const option2=ref([]);
-  const formFault=ref({});
-  const faultDetails1=ref(null);
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    search.value.escalationFaultId=props.escalationFaultId;
-    dataNoPageList();
-    formData1.value.escalationFaultId=props.escalationFaultId;
-    formFault.value.escalationFaultId=props.escalationFaultId;
-    getFault(formData1.value).then((data) => {
-
-
-      if(data.data.length>0){
-        url.value=dictDataUtil.img_url+data.data[0].fileUrl;
-        for(let i=0;i<data.data.length;i++){
-          srcList.value[i]=dictDataUtil.img_url+data.data[i].fileUrl;
-        }
-      }
-
-    });
-    getFaultDetails(props.escalationFaultId).then((data) => {
-
-      faultDetails1.value = data.data;
-      if (dicts.disposal_measures_type.length>0) {
-
+  });
+  getFaultDetails(props.escalationFaultId).then((data) => {
+    faultDetails1.value = data.data;
+    if (dicts.disposal_measures_type.length > 0) {
       for (let i = 0; i < dicts.disposal_measures_type.length; i++) {
-        if (faultDetails1.value.disposalMeasures === dicts.disposal_measures_type[i].dictValue) {
-          faultDetails1.value.disposalMeasures = dicts.disposal_measures_type[i].dictLabel;
+        if (
+          faultDetails1.value.disposalMeasures ===
+          dicts.disposal_measures_type[i].dictValue
+        ) {
+          faultDetails1.value.disposalMeasures =
+            dicts.disposal_measures_type[i].dictLabel;
         }
       }
     }
-      getSeqNoList(formFault.value).then((data) => {
-
-        data2.value=data.data;
-        for(let i=0;i<data2.value.length;i++){
-          data2.value[i].$cellEdit=true;
-        }
-      });
+    getSeqNoList(formFault.value).then((data) => {
+      data2.value = data.data;
+      for (let i = 0; i < data2.value.length; i++) {
+        data2.value[i].$cellEdit = true;
+      }
     });
-
-
   });
-
-
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    columnBtn: false,
-    gridBtn: false,
-    column: [
-      {
-        label: "缺陷大类",
-        prop: "bugType",
-        dicUrl:dictDataUtil.request_url + dictDataUtil.TYPE_CODE.defect_mana,
-        props: { label: "dictLabel", value: "dictValue" },
-      },
-      {
-        label: "缺陷小类",
-        prop: "bugName",
-      },
-    ],
-  });
-
-
-  // 设置表格列或者其他自定义的option
-  option2.value = {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    columnBtn: false,
-    gridBtn: false,
-    refreshBtn:false,
-    column: [
-      {
-        label: "跟踪卡号",
-        prop: "seqNo",
-      },
-      {
-        label: "返工工序/报废",
-        prop: "reworkOperationName",
-        type:"select",
-      },
-    ],
-  };
-
+});
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  columnBtn: false,
+  gridBtn: false,
+  column: [
+    {
+      label: "缺陷大类",
+      prop: "bugType",
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.defect_mana,
+      props: { label: "dictLabel", value: "dictValue" },
+    },
+    {
+      label: "缺陷小类",
+      prop: "bugName",
+    },
+  ],
+});
+
+// 设置表格列或者其他自定义的option
+option2.value = {
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  columnBtn: false,
+  gridBtn: false,
+  refreshBtn: false,
+  column: [
+    {
+      label: "跟踪卡号",
+      prop: "seqNo",
+    },
+    {
+      label: "返工工序/报废",
+      prop: "reworkOperationName",
+      type: "select",
+    },
+  ],
+};
 </script>
 <style>
-  .title-fault{
-    float: left;
-    width: 300px;
-  }
-  .fault{
-    margin-left: 15px;
-    margin-top: 10px;
-    display: block;
-    overflow: hidden;
-  }
-  .fault-image{
-    width: 150px;
-    float: left;
-    margin-left: 10px;
-    overflow: hidden;
-  }
-  .image-title{
-    margin-bottom: 15px;
-  }
-  .fault-img{
-    display: inline-block;
-  }
-  .fault-detail{
-    margin-top: 20px;
-  }
+.title-fault {
+  float: left;
+  width: 300px;
+}
+.fault {
+  margin-left: 15px;
+  margin-top: 10px;
+  display: block;
+  overflow: hidden;
+}
+.fault-image {
+  width: 150px;
+  float: left;
+  margin-left: 10px;
+  overflow: hidden;
+}
+.image-title {
+  margin-bottom: 15px;
+}
+.fault-img {
+  display: inline-block;
+}
+.fault-detail {
+  margin-top: 20px;
+}
 </style>

+ 187 - 175
src/views/quality/faultHandle/components/fault-examine.vue

@@ -1,14 +1,13 @@
 <template>
-  <div class="fault" v-if="faultDetails1!=null">
-    <div class="title-fault" >
-      产品名称:&nbsp;&nbsp;{{faultDetails1.materialName}}
+  <div class="fault" v-if="faultDetails1 != null">
+    <div class="title-fault">
+      产品名称:&nbsp;&nbsp;{{ faultDetails1.materialName }}
     </div>
     <div class="title-fault">
-      产品编码:&nbsp;&nbsp;{{faultDetails1.materialCode}}
+      产品编码:&nbsp;&nbsp;{{ faultDetails1.materialCode }}
     </div>
   </div>
   <div class="mainContentBox">
-
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -24,217 +23,230 @@
       @selection-change="selectionChange"
     >
     </avue-crud>
-
   </div>
   <div class="fault">
     <div class="image-title">图片</div>
-      <div v-for="(image, index) in faultImg1" :key="index" class="fault-image">
-        <!-- 使用v-for循环渲染图片列表 -->
-        <img :src="dictDataUtil.img_url+image.fileUrl" alt="图片" width="150px" class="fault-img">
-      </div>
-
+    <div v-for="(image, index) in faultImg1" :key="index" class="fault-image">
+      <!-- 使用v-for循环渲染图片列表 -->
+      <img
+        :src="dictDataUtil.img_url + image.fileUrl"
+        alt="图片"
+        width="150px"
+        class="fault-img"
+      />
+    </div>
   </div>
-  <div class="fault" v-if="faultDetails1!=null">
-    <div class="fault-detail" >序列号:&nbsp;&nbsp;{{faultDetails1.seqNo}}</div>
-    <div class="fault-detail">故障描述:&nbsp;&nbsp;{{faultDetails1.remark}}</div>
+  <div class="fault" v-if="faultDetails1 != null">
+    <div class="fault-detail">序列号:&nbsp;&nbsp;{{ faultDetails1.seqNo }}</div>
+    <div class="fault-detail">
+      故障描述:&nbsp;&nbsp;{{ faultDetails1.remark }}
+    </div>
 
     <div class="title-fault" style="margin-top: 10px">
-      报故人:&nbsp;&nbsp;{{faultDetails1.creator}}
+      报故人:&nbsp;&nbsp;{{ faultDetails1.creator }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故工位:&nbsp;&nbsp;{{faultDetails1.stationName}}
+      报故工位:&nbsp;&nbsp;{{ faultDetails1.stationName }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故数量:&nbsp;&nbsp;{{faultDetails1.unqualifiedNum}}
+      报故数量:&nbsp;&nbsp;{{ faultDetails1.unqualifiedNum }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px" v-if="faultDetails1.result!=undefined&&faultDetails1.result!=null">
-      处理结果:&nbsp;&nbsp;{{faultDetails1.result}}
+    <div
+      class="title-fault"
+      style="margin-top: 10px; margin-bottom: 10px"
+      v-if="faultDetails1.result != undefined && faultDetails1.result != null"
+    >
+      处理结果:&nbsp;&nbsp;{{ faultDetails1.result }}
     </div>
   </div>
-  <div class="fault" v-if="faultDetails1!=null">
-
-
-
+  <div class="fault" v-if="faultDetails1 != null">
     <el-radio-group v-model="radio1" size="large">
       <el-radio-button label="审核通过" value="6" />
       <el-radio-button label="驳回" value="2" />
     </el-radio-group>
   </div>
 
-  <div class="fault" v-if="faultDetails1!=null" style="margin-top: 15px;margin-bottom: 15px">
-
+  <div
+    class="fault"
+    v-if="faultDetails1 != null"
+    style="margin-top: 15px; margin-bottom: 15px"
+  >
     <el-input
       type="textarea"
-      :autosize="{ minRows: 3, maxRows: 6}"
+      :autosize="{ minRows: 3, maxRows: 6 }"
       placeholder="请输入处理意见"
       v-model="textarea2"
     >
     </el-input>
-
-
   </div>
   <div style="overflow: hidden">
     <div class="detail-footer">
       <el-button type="primary" @click="onHandle"> 确定 </el-button>
       <el-button @click="cancelWindow">取消</el-button>
-
     </div>
   </div>
-
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import {getFault,getFaultDetails,updateFault} from "@/api/fault"
-  import dictDataUtil from "@/common/configs/dictDataUtil";
-  // 数据字典相关
-  const { dicts } = useDictionaryStore();
-
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const props = defineProps({
-    escFaultId: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { getFault, getFaultDetails, updateFault } from "@/api/fault";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+// 数据字典相关
+const { dicts } = useDictionaryStore();
+
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const props = defineProps({
+  escFaultId: {
+    type: String,
+    default: () => {
+      return 0;
     },
-    dialogPs:{
-      type:Object,
-      default:()=>{
-        return {};
-      }
+  },
+  dialogPs: {
+    type: Object,
+    default: () => {
+      return {};
     },
-  })
-  const drawingDetail=ref(null);
-
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/process/escalationDefects",
-    });
-  const { dataNoPageList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-  const router = useRouter();
-  const radio1=ref("6");
-  const faultImg1=ref(null);
-  const formData1=ref({});
-  const faultDetails1=ref(null);
-  const textarea2=ref('');
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    search.value.escalationFaultId=props.escFaultId;
-    dataNoPageList();
-    formData1.value.escalationFaultId=props.escFaultId;
-    getFault(formData1.value).then((data) => {
-
-      faultImg1.value=data.data;
-      console.info(faultImg1.value);
-    });
-    getFaultDetails(props.escFaultId).then((data) => {
-
-      faultDetails1.value=data.data;
-      for(let i=0;i<dicts.disposal_measures_type.length;i++){
-        if(faultDetails1.value.disposalMeasures===dicts.disposal_measures_type[i].dictValue){
-          faultDetails1.value.disposalMeasures=dicts.disposal_measures_type[i].dictLabel;
-        }
-      }
-    });
-
+  },
+});
+const drawingDetail = ref(null);
+
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/process/escalationDefects",
   });
-
-  const onHandle=()=>{
-    const updateFaultData=ref({id:faultDetails1.value.id,currentState:radio1.value,opinion:textarea2.value});
-    updateFault(updateFaultData.value).then(
-      (data)=>{
-        if(data.code==="200") {
-          ElMessage({
-            message: data.msg,
-            type: "success",
-          });
-          props.dialogPs.visible=false;
-          dataList();
-        }
-        else {
-          ElMessage({
-            message: data.msg,
-            type: "error",
-          });
-        }
+const {
+  dataNoPageList,
+  createRow,
+  updateRow,
+  deleteRow,
+  searchChange,
+  resetChange,
+} = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const router = useRouter();
+const radio1 = ref("6");
+const faultImg1 = ref(null);
+const formData1 = ref({});
+const faultDetails1 = ref(null);
+const textarea2 = ref("");
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  search.value.escalationFaultId = props.escFaultId;
+  dataNoPageList();
+  formData1.value.escalationFaultId = props.escFaultId;
+  getFault(formData1.value).then((data) => {
+    faultImg1.value = data.data;
+    console.info(faultImg1.value);
+  });
+  getFaultDetails(props.escFaultId).then((data) => {
+    faultDetails1.value = data.data;
+    for (let i = 0; i < dicts.disposal_measures_type.length; i++) {
+      if (
+        faultDetails1.value.disposalMeasures ===
+        dicts.disposal_measures_type[i].dictValue
+      ) {
+        faultDetails1.value.disposalMeasures =
+          dicts.disposal_measures_type[i].dictLabel;
       }
-    )
-  }
-
+    }
+  });
+});
 
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    column: [
-      {
-        label: "缺陷大类",
-        prop: "bugType",
-        dicData:dicts.defect_mana,
-        props: { label: "dictLabel", value: "dictValue" },
-      },
-      {
-        label: "缺陷小类",
-        prop: "bugName",
-      },
-    ],
+const onHandle = () => {
+  const updateFaultData = ref({
+    id: faultDetails1.value.id,
+    currentState: radio1.value,
+    opinion: textarea2.value,
   });
+  updateFault(updateFaultData.value).then((data) => {
+    if (data.code === "200") {
+      ElMessage({
+        message: data.msg,
+        type: "success",
+      });
+      props.dialogPs.visible = false;
+      dataList();
+    } else {
+      ElMessage({
+        message: data.msg,
+        type: "error",
+      });
+    }
+  });
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  column: [
+    {
+      label: "缺陷大类",
+      prop: "bugType",
+      dicData: dicts.defect_mana,
+      props: { label: "dictLabel", value: "dictValue" },
+    },
+    {
+      label: "缺陷小类",
+      prop: "bugName",
+    },
+  ],
+});
 
- const cancelWindow=()=>{
-   props.dialogPs.visible=false;
- }
+const cancelWindow = () => {
+  props.dialogPs.visible = false;
+};
 </script>
 <style>
-  .title-fault{
-    float: left;
-    width: 300px;
-  }
-  .fault{
-    margin-left: 15px;
-    margin-top: 10px;
-    display: block;
-    overflow: hidden;
-  }
-  .fault-image{
-    width: 150px;
-    float: left;
-    margin-left: 10px;
-    overflow: hidden;
-  }
-  .image-title{
-    margin-bottom: 15px;
-  }
-  .fault-img{
-    display: inline-block;
-  }
-  .fault-detail{
-    margin-top: 20px;
-  }
-  .detail-footer{
-    float: right;
-    overflow: hidden;
-  }
+.title-fault {
+  float: left;
+  width: 300px;
+}
+.fault {
+  margin-left: 15px;
+  margin-top: 10px;
+  display: block;
+  overflow: hidden;
+}
+.fault-image {
+  width: 150px;
+  float: left;
+  margin-left: 10px;
+  overflow: hidden;
+}
+.image-title {
+  margin-bottom: 15px;
+}
+.fault-img {
+  display: inline-block;
+}
+.fault-detail {
+  margin-top: 20px;
+}
+.detail-footer {
+  float: right;
+  overflow: hidden;
+}
 </style>

+ 218 - 210
src/views/quality/faultHandle/components/fault-handle.vue

@@ -1,14 +1,13 @@
 <template>
-  <div class="fault" v-if="faultDetails!=null">
-    <div class="title-fault" >
-      产品名称:&nbsp;&nbsp;{{faultDetails.materialName}}
+  <div class="fault" v-if="faultDetails != null">
+    <div class="title-fault">
+      产品名称:&nbsp;&nbsp;{{ faultDetails.materialName }}
     </div>
     <div class="title-fault">
-      产品编码:&nbsp;&nbsp;{{faultDetails.materialCode}}
+      产品编码:&nbsp;&nbsp;{{ faultDetails.materialCode }}
     </div>
   </div>
   <div class="mainContentBox">
-
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -24,243 +23,252 @@
       @selection-change="selectionChange"
     >
     </avue-crud>
-
   </div>
   <div class="fault">
     <div class="image-title">图片</div>
-      <div v-for="(image, index) in faultImg" :key="index" class="fault-image">
-        <!-- 使用v-for循环渲染图片列表 -->
-        <img :src="dictDataUtil.img_url+image.fileUrl" alt="图片" width="150px" class="fault-img">
-      </div>
-
+    <div v-for="(image, index) in faultImg" :key="index" class="fault-image">
+      <!-- 使用v-for循环渲染图片列表 -->
+      <img
+        :src="dictDataUtil.img_url + image.fileUrl"
+        alt="图片"
+        width="150px"
+        class="fault-img"
+      />
+    </div>
   </div>
-  <div class="fault" v-if="faultDetails!=null">
-    <div class="fault-detail" >序列号:&nbsp;&nbsp;{{faultDetails.seqNo}}</div>
-    <div class="fault-detail">故障描述:&nbsp;&nbsp;{{faultDetails.remark}}</div>
+  <div class="fault" v-if="faultDetails != null">
+    <div class="fault-detail">序列号:&nbsp;&nbsp;{{ faultDetails.seqNo }}</div>
+    <div class="fault-detail">
+      故障描述:&nbsp;&nbsp;{{ faultDetails.remark }}
+    </div>
 
     <div class="title-fault" style="margin-top: 10px">
-      报故人:&nbsp;&nbsp;{{faultDetails.creator}}
+      报故人:&nbsp;&nbsp;{{ faultDetails.creator }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故工位:&nbsp;&nbsp;{{faultDetails.stationName}}
+      报故工位:&nbsp;&nbsp;{{ faultDetails.stationName }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px">
-      报故数量:&nbsp;&nbsp;{{faultDetails.unqualifiedNum}}
+    <div class="title-fault" style="margin-top: 10px; margin-bottom: 10px">
+      报故数量:&nbsp;&nbsp;{{ faultDetails.unqualifiedNum }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px" v-if="faultDetails.result!=undefined&&faultDetails.result!=null">
-      处理结果:&nbsp;&nbsp;{{faultDetails.result}}
+    <div
+      class="title-fault"
+      style="margin-top: 10px; margin-bottom: 10px"
+      v-if="faultDetails.result != undefined && faultDetails.result != null"
+    >
+      处理结果:&nbsp;&nbsp;{{ faultDetails.result }}
     </div>
   </div>
-  <avue-form
-    ref="formRef"
-    v-model="form"
-    :option="option2"
-  >
-  </avue-form>
-  <div class="fault" v-if="faultDetails!=null">
-
-
-
+  <avue-form ref="formRef" v-model="form" :option="option2"> </avue-form>
+  <div class="fault" v-if="faultDetails != null">
     <el-radio-group v-model="radio1" size="large">
       <el-radio-button label="维修" value="repair" />
       <el-radio-button label="报废" value="scrapped" />
     </el-radio-group>
   </div>
   <div style="overflow: hidden">
-  <div class="detail-footer">
-    <el-button type="primary" @click="onHandle"> 确定 </el-button>
-    <el-button @click="cancelWindow">取消</el-button>
-
-  </div>
+    <div class="detail-footer">
+      <el-button type="primary" @click="onHandle"> 确定 </el-button>
+      <el-button @click="cancelWindow">取消</el-button>
+    </div>
   </div>
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import {getFault,getFaultDetails,handleEscalationFault} from "@/api/fault"
-  import dictDataUtil from "@/common/configs/dictDataUtil";
-  // 数据字典相关
-  const { dicts } = useDictionaryStore();
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { getFault, getFaultDetails, handleEscalationFault } from "@/api/fault";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+// 数据字典相关
+const { dicts } = useDictionaryStore();
 
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const props = defineProps({
-    escalationId: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const props = defineProps({
+  escalationId: {
+    type: String,
+    default: () => {
+      return 0;
     },
-    dia:{
-      type:Object,
-      default:()=>{
-        return {};
-      }
-    }
-  })
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/process/escalationDefects",
-    });
-  const { dataNoPageList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-  const radio1=ref('repair');
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-  const router = useRouter();
-
-  const faultImg=ref(null);
-  const formData=ref({});
-  const faultDetails=ref(null);
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    search.value.escalationFaultId=props.escalationId;
-    dataNoPageList();
-    formData.value.escalationFaultId=props.escalationId;
-    getFault(formData.value).then((data) => {
-
-      faultImg.value=data.data;
-    });
-    getFaultDetails(props.escalationId).then((data) => {
+  },
+  dia: {
+    type: Object,
+    default: () => {
+      return {};
+    },
+  },
+});
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/process/escalationDefects",
+  });
+const {
+  dataNoPageList,
+  createRow,
+  updateRow,
+  deleteRow,
+  searchChange,
+  resetChange,
+} = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+const radio1 = ref("repair");
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const router = useRouter();
 
-      faultDetails.value=data.data;
-      for(let i=0;i<dicts.disposal_measures_type.length;i++){
-        if(faultDetails.value.disposalMeasures===dicts.disposal_measures_type[i].dictValue){
-          faultDetails.value.disposalMeasures=dicts.disposal_measures_type[i].dictLabel;
-        }
+const faultImg = ref(null);
+const formData = ref({});
+const faultDetails = ref(null);
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  search.value.escalationFaultId = props.escalationId;
+  dataNoPageList();
+  formData.value.escalationFaultId = props.escalationId;
+  getFault(formData.value).then((data) => {
+    faultImg.value = data.data;
+  });
+  getFaultDetails(props.escalationId).then((data) => {
+    faultDetails.value = data.data;
+    for (let i = 0; i < dicts.disposal_measures_type.length; i++) {
+      if (
+        faultDetails.value.disposalMeasures ===
+        dicts.disposal_measures_type[i].dictValue
+      ) {
+        faultDetails.value.disposalMeasures =
+          dicts.disposal_measures_type[i].dictLabel;
       }
-    });
-
+    }
   });
+});
 
-const faultHandle=ref({});
- const onHandle=()=>{
-   faultHandle.value.id=faultDetails.value.id;
-   faultHandle.value.disposalMeasures=radio1.value;
-   faultHandle.value.trackingNumber=form.value.trackingNumber;
-   faultHandle.value.result=form.value.result;
-   handleEscalationFault(faultHandle.value).then((data)=>{
-     if(data.code==="200") {
-       ElMessage({
-         message: data.msg,
-         type: "success",
-       });
-       props.dia.visible=false;
-     }
-     else {
-       ElMessage({
-         message: data.msg,
-         type: "error",
-       });
-     }
-   });
-
- }
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    column: [
-      {
-        label: "缺陷大类",
-        prop: "bugType",
-        dicData:dicts.defect_mana,
-        props: { label: "dictLabel", value: "dictValue" },
-      },
-      {
-        label: "缺陷小类",
-        prop: "bugName",
-      },
-    ],
+const faultHandle = ref({});
+const onHandle = () => {
+  faultHandle.value.id = faultDetails.value.id;
+  faultHandle.value.disposalMeasures = radio1.value;
+  faultHandle.value.trackingNumber = form.value.trackingNumber;
+  faultHandle.value.result = form.value.result;
+  handleEscalationFault(faultHandle.value).then((data) => {
+    if (data.code === "200") {
+      ElMessage({
+        message: data.msg,
+        type: "success",
+      });
+      props.dia.visible = false;
+    } else {
+      ElMessage({
+        message: data.msg,
+        type: "error",
+      });
+    }
   });
-  const option2=ref(null);
-  // 设置表格列或者其他自定义的option
-  option2.value = {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    submitBtn:false,
-    emptyBtn:false,
-    menu:false,
-    column: [
-      {
-        label: "不合格审理单号",
-        prop: "trackingNumber",
-        labelWidth:130,
-        span:24,
-        rules: [{
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  column: [
+    {
+      label: "缺陷大类",
+      prop: "bugType",
+      dicData: dicts.defect_mana,
+      props: { label: "dictLabel", value: "dictValue" },
+    },
+    {
+      label: "缺陷小类",
+      prop: "bugName",
+    },
+  ],
+});
+const option2 = ref(null);
+// 设置表格列或者其他自定义的option
+option2.value = {
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  submitBtn: false,
+  emptyBtn: false,
+  menu: false,
+  column: [
+    {
+      label: "不合格审理单号",
+      prop: "trackingNumber",
+      labelWidth: 130,
+      span: 24,
+      rules: [
+        {
           required: true,
           message: "请输入不合格审理单号",
-          trigger: "blur"
-        }],
-      },
-      {
-        label: "处理结果",
-        prop: "result",
-        labelWidth:130,
-        span:24,
-        type:"textarea",
-        rules: [{
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "处理结果",
+      prop: "result",
+      labelWidth: 130,
+      span: 24,
+      type: "textarea",
+      rules: [
+        {
           required: true,
           message: "请输入处理结果",
-          trigger: "blur"
-        }],
-      },
-    ],
-  };
-  const cancelWindow=()=>{
-    console.info(props);
-    props.dia.visible=false;
-  }
-
+          trigger: "blur",
+        },
+      ],
+    },
+  ],
+};
+const cancelWindow = () => {
+  console.info(props);
+  props.dia.visible = false;
+};
 </script>
 <style>
-  .title-fault{
-    float: left;
-    width: 300px;
-  }
-  .fault{
-    margin-left: 15px;
-    margin-top: 10px;
-    display: block;
-    overflow: hidden;
-  }
-  .fault-image{
-    width: 150px;
-    float: left;
-    margin-left: 10px;
-    overflow: hidden;
-  }
-  .image-title{
-    margin-bottom: 15px;
-  }
-  .fault-img{
-    display: inline-block;
-  }
-  .fault-detail{
-    margin-top: 20px;
-  }
-  .detail-footer{
-    float: right;
-    overflow: hidden;
-  }
+.title-fault {
+  float: left;
+  width: 300px;
+}
+.fault {
+  margin-left: 15px;
+  margin-top: 10px;
+  display: block;
+  overflow: hidden;
+}
+.fault-image {
+  width: 150px;
+  float: left;
+  margin-left: 10px;
+  overflow: hidden;
+}
+.image-title {
+  margin-bottom: 15px;
+}
+.fault-img {
+  display: inline-block;
+}
+.fault-detail {
+  margin-top: 20px;
+}
+.detail-footer {
+  float: right;
+  overflow: hidden;
+}
 </style>

+ 284 - 263
src/views/quality/faultHandle/components/fault-page.vue

@@ -1,14 +1,13 @@
 <template>
-  <div class="fault" v-if="faultDetails!=null">
-    <div class="title-fault" >
-      产品名称:&nbsp;&nbsp;{{faultDetails.materialName}}
+  <div class="fault" v-if="faultDetails != null">
+    <div class="title-fault">
+      产品名称:&nbsp;&nbsp;{{ faultDetails.materialName }}
     </div>
     <div class="title-fault">
-      产品编码:&nbsp;&nbsp;{{faultDetails.materialCode}}
+      产品编码:&nbsp;&nbsp;{{ faultDetails.materialCode }}
     </div>
   </div>
   <div class="mainContentBox">
-
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -23,51 +22,69 @@
       @search-reset="resetChange"
       @selection-change="selectionChange"
     >
-
-
-
     </avue-crud>
-
   </div>
   <div class="fault">
     <div class="image-title">图片</div>
-      <div v-for="(image, index) in faultImg" :key="index" class="fault-image">
-        <!-- 使用v-for循环渲染图片列表 -->
-        <img :src="dictDataUtil.img_url+image.fileUrl" alt="图片" width="150px" class="fault-img">
-      </div>
-
+    <div v-for="(image, index) in faultImg" :key="index" class="fault-image">
+      <!-- 使用v-for循环渲染图片列表 -->
+      <img
+        :src="dictDataUtil.img_url + image.fileUrl"
+        alt="图片"
+        width="150px"
+        class="fault-img"
+      />
+    </div>
   </div>
-  <div class="fault" v-if="faultDetails!=null">
-    <div class="fault-detail" v-if="faultDetails.trackingNumber!=null">不合格审理单号 :&nbsp;&nbsp;{{faultDetails.trackingNumber}}</div>
-    <div class="fault-detail" >序列号 :&nbsp;&nbsp;{{faultDetails.seqNo}}</div>
-    <div class="fault-detail">故障描述 :&nbsp;&nbsp;{{faultDetails.remark}}</div>
-    <div class="fault-detail" v-if="faultDetails.opinion!=null">线长意见 :&nbsp;&nbsp;{{faultDetails.opinion}}</div>
+  <div class="fault" v-if="faultDetails != null">
+    <div class="fault-detail" v-if="faultDetails.trackingNumber != null">
+      不合格审理单号 :&nbsp;&nbsp;{{ faultDetails.trackingNumber }}
+    </div>
+    <div class="fault-detail">序列号 :&nbsp;&nbsp;{{ faultDetails.seqNo }}</div>
+    <div class="fault-detail">
+      故障描述 :&nbsp;&nbsp;{{ faultDetails.remark }}
+    </div>
+    <div class="fault-detail" v-if="faultDetails.opinion != null">
+      线长意见 :&nbsp;&nbsp;{{ faultDetails.opinion }}
+    </div>
 
     <div class="title-fault" style="margin-top: 10px">
-      报故人:&nbsp;&nbsp;{{faultDetails.creator}}
+      报故人:&nbsp;&nbsp;{{ faultDetails.creator }}
     </div>
     <div class="title-fault" style="margin-top: 10px">
-      报故工位:&nbsp;&nbsp;{{faultDetails.stationName}}
+      报故工位:&nbsp;&nbsp;{{ faultDetails.stationName }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px">
-      报故数量:&nbsp;&nbsp;{{faultDetails.unqualifiedNum}}
+    <div class="title-fault" style="margin-top: 10px; margin-bottom: 10px">
+      报故数量:&nbsp;&nbsp;{{ faultDetails.unqualifiedNum }}
     </div>
-    <div class="title-fault" style="margin-top: 10px;margin-bottom: 10px" v-if="faultDetails.result!=undefined&&faultDetails.result!=null">
-      处理结果:&nbsp;&nbsp;{{faultDetails.result}}
+    <div
+      class="title-fault"
+      style="margin-top: 10px; margin-bottom: 10px"
+      v-if="faultDetails.result != undefined && faultDetails.result != null"
+    >
+      处理结果:&nbsp;&nbsp;{{ faultDetails.result }}
     </div>
   </div>
   <div class="mainContentBox">
-    <avue-crud
-      ref="formRef"
-      v-model="form"
-      :data="data2"
-      :option="option2"
-    >
-      <template #isScrap="{row,index,type}">
-        <el-checkbox v-model="row.isScrap" label="报废" size="small" value=true border @click="checkScrap(row)"/>
+    <avue-crud ref="formRef" v-model="form" :data="data2" :option="option2">
+      <template #isScrap="{ row, index, type }">
+        <el-checkbox
+          v-model="row.isScrap"
+          label="报废"
+          size="small"
+          value="true"
+          border
+          @click="checkScrap(row)"
+        />
       </template>
-      <template #processInfo="{row,index,type}">
-        <el-select v-model="value[row.$index]" placeholder="请选择" @click="getFaults(row)" @change="listData(row)" :disabled="row.enabled">
+      <template #processInfo="{ row, index, type }">
+        <el-select
+          v-model="value[row.$index]"
+          placeholder="请选择"
+          @click="getFaults(row)"
+          @change="listData(row)"
+          :disabled="row.enabled"
+        >
           <el-option
             v-for="item in optionFault[row.$index]"
             :key="item.value"
@@ -80,255 +97,259 @@
     </avue-crud>
   </div>
   <div style="overflow: hidden">
-  <div class="detail-footer">
-    <el-button type="primary" @click="onHandle"> 确定 </el-button>
-    <el-button @click="cancelWindow">取消</el-button>
-
-  </div>
+    <div class="detail-footer">
+      <el-button type="primary" @click="onHandle"> 确定 </el-button>
+      <el-button @click="cancelWindow">取消</el-button>
+    </div>
   </div>
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import {getFault,getFaultDetails,getSeqNoList,getProcessInfoList,rework} from "@/api/fault"
-  import dictDataUtil from "@/common/configs/dictDataUtil";
-  // 数据字典相关
-  const { dicts } = useDictionaryStore();
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import {
+  getFault,
+  getFaultDetails,
+  getSeqNoList,
+  getProcessInfoList,
+  rework,
+} from "@/api/fault";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+// 数据字典相关
+const { dicts } = useDictionaryStore();
 
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const props = defineProps({
-    faultId: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const props = defineProps({
+  faultId: {
+    type: String,
+    default: () => {
+      return 0;
     },
-    dial:{
-      type:Object,
-      default:()=>{
-        return {};
-      }
+  },
+  dial: {
+    type: Object,
+    default: () => {
+      return {};
     },
-    workOrderCode: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+  },
+  workOrderCode: {
+    type: String,
+    default: () => {
+      return 0;
     },
-  })
+  },
+});
 
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/process/escalationDefects",
-    });
-  const { dataNoPageList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-  const radio1=ref('repair');
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-  const router = useRouter();
-  const formRef=ref(null);
-  const data2=ref([]);
-  const faultImg=ref(null);
-  const formData=ref({});
-  const formFault=ref({});
-  const faultDetails=ref(null);
-  const postDetail=ref([]);
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    search.value.escalationFaultId=props.faultId;
-    dataNoPageList();
-    formData.value.escalationFaultId=props.faultId;
-    formFault.value.escalationFaultId=props.faultId;
-    getFault(formData.value).then((data) => {
-
-      faultImg.value=data.data;
-    });
-    getFaultDetails(props.faultId).then((data) => {
-
-      faultDetails.value=data.data;
-      for(let i=0;i<dicts.disposal_measures_type.length;i++){
-        if(faultDetails.value.disposalMeasures===dicts.disposal_measures_type[i].dictValue){
-          faultDetails.value.disposalMeasures=dicts.disposal_measures_type[i].dictLabel;
-        }
-      }
-    });
-    getSeqNoList(formFault.value).then((data) => {
-
-      data2.value=data.data;
-      for(let i=0;i<data2.value.length;i++){
-        data2.value[i].$cellEdit=true;
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/process/escalationDefects",
+  });
+const {
+  dataNoPageList,
+  createRow,
+  updateRow,
+  deleteRow,
+  searchChange,
+  resetChange,
+} = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+const radio1 = ref("repair");
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const router = useRouter();
+const formRef = ref(null);
+const data2 = ref([]);
+const faultImg = ref(null);
+const formData = ref({});
+const formFault = ref({});
+const faultDetails = ref(null);
+const postDetail = ref([]);
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  search.value.escalationFaultId = props.faultId;
+  dataNoPageList();
+  formData.value.escalationFaultId = props.faultId;
+  formFault.value.escalationFaultId = props.faultId;
+  getFault(formData.value).then((data) => {
+    faultImg.value = data.data;
+  });
+  getFaultDetails(props.faultId).then((data) => {
+    faultDetails.value = data.data;
+    for (let i = 0; i < dicts.disposal_measures_type.length; i++) {
+      if (
+        faultDetails.value.disposalMeasures ===
+        dicts.disposal_measures_type[i].dictValue
+      ) {
+        faultDetails.value.disposalMeasures =
+          dicts.disposal_measures_type[i].dictLabel;
       }
-      postDetail.value=Array.from(data2.value);
-    });
-
+    }
   });
+  getSeqNoList(formFault.value).then((data) => {
+    data2.value = data.data;
+    for (let i = 0; i < data2.value.length; i++) {
+      data2.value[i].$cellEdit = true;
+    }
+    postDetail.value = Array.from(data2.value);
+  });
+});
 
-const listData=(row)=>{
-
-  postDetail.value[row.$index].reworkProcessId=value.value[row.$index];
+const listData = (row) => {
+  postDetail.value[row.$index].reworkProcessId = value.value[row.$index];
 
-  postDetail.value[row.$index].workOrderCode=props.workOrderCode;
-  for(let i=0;i<optionFault.value[row.$index].length;i++){
-    if(value.value[row.$index]==optionFault.value[row.$index][i].id){
-      postDetail.value[row.$index].reworkOperationName=optionFault.value[row.$index][i].operationName;
+  postDetail.value[row.$index].workOrderCode = props.workOrderCode;
+  for (let i = 0; i < optionFault.value[row.$index].length; i++) {
+    if (value.value[row.$index] == optionFault.value[row.$index][i].id) {
+      postDetail.value[row.$index].reworkOperationName =
+        optionFault.value[row.$index][i].operationName;
     }
   }
   console.info(postDetail.value[row.$index]);
- }
-const faultHandle=ref({});
- const onHandle=()=>{
-   for(let i=0;i<postDetail.value.length;i++){
-     if(!postDetail.value[i].isScrap){
-       if(undefined===postDetail.value[i].reworkProcessId){
-         ElMessage({
-           message:postDetail.value[i].seqNo+"没选择返工工序",
-           type: "error",
-         });
-         return;
-       }
-     }
-   }
-   faultHandle.value.reworkList=Array.from(postDetail.value);
-   faultHandle.value.faultId=props.faultId;
-   rework(faultHandle.value).then(
-     (data)=> {
-       if (data.code === "200") {
-         ElMessage({
-           message: data.msg,
-           type: "success",
-         });
-         props.dial.visible = false;
-       }
-       else {
-         ElMessage({
-           message: data.msg,
-           type: "error",
-         });
-       }
-     }
-   )
-
-
- }
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-
-    column: [
-      {
-        label: "缺陷大类",
-        prop: "bugType",
-        dicData:dicts.defect_mana,
-        props: { label: "dictLabel", value: "dictValue" },
-      },
-      {
-        label: "缺陷小类",
-        prop: "bugName",
-      },
-    ],
-  });
-  const optionFault=ref([]);
-  const processFault=ref({});
-  const getFaults=(row)=>{
-    processFault.value.seqNo=row.seqNo;
-    processFault.value.workOrderCode=props.workOrderCode;
-    getProcessInfoList(processFault.value).then(
-      (data)=>{
-        optionFault.value[row.$index]=data.data;
+};
+const faultHandle = ref({});
+const onHandle = () => {
+  for (let i = 0; i < postDetail.value.length; i++) {
+    if (!postDetail.value[i].isScrap) {
+      if (undefined === postDetail.value[i].reworkProcessId) {
+        ElMessage({
+          message: postDetail.value[i].seqNo + "没选择返工工序",
+          type: "error",
+        });
+        return;
       }
-    )
-  }
-  const checkScrap= (row)=>{
-    if(row.isScrap){
-      row.enabled = false
-    }else{
-      row.enabled = true
     }
-    //row.reworkProcessId = undefined
   }
-  const option2=ref(null);
-  const value=ref([]);
+  faultHandle.value.reworkList = Array.from(postDetail.value);
+  faultHandle.value.faultId = props.faultId;
+  rework(faultHandle.value).then((data) => {
+    if (data.code === "200") {
+      ElMessage({
+        message: data.msg,
+        type: "success",
+      });
+      props.dial.visible = false;
+    } else {
+      ElMessage({
+        message: data.msg,
+        type: "error",
+      });
+    }
+  });
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
 
-  // 设置表格列或者其他自定义的option
-  option2.value = {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    submitBtn:false,
-    emptyBtn:false,
-    menu:false,
-    slot:true,
-    column: [
-      {
-        label: "跟踪卡号",
-        prop: "seqNo",
-      },
-      {
-        label: "返工工序",
-        prop: "processInfo",
-        type:"select",
-      },
-      {
-        label: "是否报废",
-        prop: "isScrap",
-      },
-    ],
-  };
-  const cancelWindow=()=>{
-    props.dial.visible=false;
+  column: [
+    {
+      label: "缺陷大类",
+      prop: "bugType",
+      dicData: dicts.defect_mana,
+      props: { label: "dictLabel", value: "dictValue" },
+    },
+    {
+      label: "缺陷小类",
+      prop: "bugName",
+    },
+  ],
+});
+const optionFault = ref([]);
+const processFault = ref({});
+const getFaults = (row) => {
+  processFault.value.seqNo = row.seqNo;
+  processFault.value.workOrderCode = props.workOrderCode;
+  getProcessInfoList(processFault.value).then((data) => {
+    optionFault.value[row.$index] = data.data;
+  });
+};
+const checkScrap = (row) => {
+  if (row.isScrap) {
+    row.enabled = false;
+  } else {
+    row.enabled = true;
   }
+  //row.reworkProcessId = undefined
+};
+const option2 = ref(null);
+const value = ref([]);
 
+// 设置表格列或者其他自定义的option
+option2.value = {
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  submitBtn: false,
+  emptyBtn: false,
+  menu: false,
+  slot: true,
+  column: [
+    {
+      label: "跟踪卡号",
+      prop: "seqNo",
+    },
+    {
+      label: "返工工序",
+      prop: "processInfo",
+      type: "select",
+    },
+    {
+      label: "是否报废",
+      prop: "isScrap",
+    },
+  ],
+};
+const cancelWindow = () => {
+  props.dial.visible = false;
+};
 </script>
 <style>
-  .title-fault{
-    float: left;
-    width: 300px;
-  }
-  .fault{
-    margin-left: 15px;
-    margin-top: 10px;
-    display: block;
-    overflow: hidden;
-  }
-  .fault-image{
-    width: 150px;
-    float: left;
-    margin-left: 10px;
-    overflow: hidden;
-  }
-  .image-title{
-    margin-bottom: 15px;
-  }
-  .fault-img{
-    display: inline-block;
-  }
-  .fault-detail{
-    margin-top: 20px;
-  }
-  .detail-footer{
-    float: right;
-    overflow: hidden;
-  }
+.title-fault {
+  float: left;
+  width: 300px;
+}
+.fault {
+  margin-left: 15px;
+  margin-top: 10px;
+  display: block;
+  overflow: hidden;
+}
+.fault-image {
+  width: 150px;
+  float: left;
+  margin-left: 10px;
+  overflow: hidden;
+}
+.image-title {
+  margin-bottom: 15px;
+}
+.fault-img {
+  display: inline-block;
+}
+.fault-detail {
+  margin-top: 20px;
+}
+.detail-footer {
+  float: right;
+  overflow: hidden;
+}
 </style>

+ 1 - 0
src/views/quality/faultHandle/index.vue

@@ -214,6 +214,7 @@ const radio1 = ref("1");
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   addBtn: false,
   editBtn: false,
   delBtn: false,

+ 1 - 0
src/views/quality/feedback/index.vue

@@ -74,6 +74,7 @@ const getList = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   delBtn: false,

+ 1 - 0
src/views/quality/outsource/index.vue

@@ -238,6 +238,7 @@ const audit = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   addBtn: false,
   editBtn: false,
   viewBtn: false,

+ 1 - 0
src/views/quality/reject/index.vue

@@ -74,6 +74,7 @@ const getList = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   delBtn: false,

+ 1 - 0
src/views/quality/replace/components/replace-material.vue

@@ -102,6 +102,7 @@ const onSelectedFinish = (selectedValue) => {
 };
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   labelWidth: 110,
   searchLabelWidth: 110,

+ 1 - 0
src/views/quality/reverseTraceability/index.vue

@@ -46,6 +46,7 @@ onMounted(() => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   delBtn: false,

+ 1 - 0
src/views/quality/rework/components/rework-detail.vue

@@ -109,6 +109,7 @@ onMounted(() => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   editBtn: false,

+ 1 - 0
src/views/quality/rework/index.vue

@@ -173,6 +173,7 @@ const handle = (row, index, state) => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: false,
   addBtn: false,
   delBtn: false,

+ 58 - 51
src/views/quality/tdm/boms.vue

@@ -1,20 +1,20 @@
 <template>
   <div style="width: 1000px">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
     </avue-crud>
   </div>
@@ -24,7 +24,7 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import { checkPerm } from "@/directive/permission";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
-import {queryOutSourceDetails,updateOutSourceApply} from "@/api/process";
+import { queryOutSourceDetails, updateOutSourceApply } from "@/api/process";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
@@ -35,54 +35,56 @@ const test = () => {
 const props = defineProps({
   applyId: {
     type: String,
-    default: ""
-  }
-})
-const radio = ref(0)
+    default: "",
+  },
+});
+const radio = ref(0);
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      dataListUrl: "/api/v1/process/tdmOrder/bomPage"
-    });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+  useCrud({
+    dataListUrl: "/api/v1/process/tdmOrder/bomPage",
+  });
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-const loading = ref(false)
+const loading = ref(false);
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const dialog = reactive({
   title: "委外详情",
   visible: false,
-  type: 0
+  type: 0,
 });
-const openDialog = (type,id) =>{
-  dialog.title = type === 0 ? '委外详情' : '委外审核' ;
-  queryOutSourceDetails(id).then((data)=>{
-    form.value = data.data
-    radio.value = 0
-    if(form.value){
-      if(form.value.state === '2'){
-        radio.value = 1
+const openDialog = (type, id) => {
+  dialog.title = type === 0 ? "委外详情" : "委外审核";
+  queryOutSourceDetails(id).then((data) => {
+    form.value = data.data;
+    radio.value = 0;
+    if (form.value) {
+      if (form.value.state === "2") {
+        radio.value = 1;
       }
     }
-    dialog.visible = true
-    dialog.type = type
-  })
-}
-const audit = () =>{
-  form.value.state = radio.value === 0 ? 1: 2;
-  updateOutSourceApply(form.value).then((data)=>{
-    if(data.code === '200'){
-      ElMessage.success("操作成功")
-      dialog.visible = false
-      dataList()
-    }else{
-      ElMessage.error(data.msg)
+    dialog.visible = true;
+    dialog.type = type;
+  });
+};
+const audit = () => {
+  form.value.state = radio.value === 0 ? 1 : 2;
+  updateOutSourceApply(form.value).then((data) => {
+    if (data.code === "200") {
+      ElMessage.success("操作成功");
+      dialog.visible = false;
+      dataList();
+    } else {
+      ElMessage.error(data.msg);
     }
-  })
-}
+  });
+};
 const fileUrl = import.meta.env.VITE_APP_UPLOAD_URL;
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   addBtn: false,
   editBtn: false,
   viewBtn: false,
@@ -101,15 +103,20 @@ option.value = Object.assign(option.value, {
       prop: "tbomUrl",
       html: true,
       formatter: (val) => {
-          return '<a class="el-tag el-tag--info el-tag--light" href="'+fileUrl+ val.tbomUrl + '">文件下载</a>';
+        return (
+          '<a class="el-tag el-tag--info el-tag--light" href="' +
+          fileUrl +
+          val.tbomUrl +
+          '">文件下载</a>'
+        );
       },
-    }
+    },
   ],
 });
 
 onMounted(() => {
   // console.log("crudRef", crudRef)
-  search.value.applyId = props.applyId
+  search.value.applyId = props.applyId;
   dataList();
 });
 </script>

+ 1 - 0
src/views/quality/tdm/index.vue

@@ -182,6 +182,7 @@ const audit = () => {
 };
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   addBtn: false,
   editBtn: false,
   viewBtn: false,

+ 90 - 100
src/views/quality/unqualified/index.vue

@@ -1,7 +1,5 @@
 <template>
   <div class="mainContentBox">
-
-
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -18,16 +16,15 @@
       @current-change="dataList"
       @selection-change="selectionChange"
     >
-
-      <template #menu="{row,index,type}">
-        <el-button @click="viewFault(row)"
-                   icon="el-icon-view"
-                   text
-                   type="primary"
-        >查看</el-button>
+      <template #menu="{ row, index, type }">
+        <el-button
+          @click="viewFault(row)"
+          icon="el-icon-view"
+          text
+          type="primary"
+          >查看</el-button
+        >
       </template>
-
-
     </avue-crud>
 
     <el-dialog
@@ -37,98 +34,91 @@
       @close="dialog.visible = false"
       :destroy-on-close="true"
     >
-      <FaultDetail  :escalationFaultId="fault.id" :dialog="dialog" />
+      <FaultDetail :escalationFaultId="fault.id" :dialog="dialog" />
     </el-dialog>
-
-
   </div>
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { columns } from "./columns";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  import FaultDetail from "@/views/quality/faultHandle/components/fault-detail.vue"
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  // 数据字典相关
-  const { dicts } = useDictionaryStore();
-
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const dialog = ref({
-    title: "报故详情",
-    visible: false,
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { columns } from "./columns";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+import FaultDetail from "@/views/quality/faultHandle/components/fault-detail.vue";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+// 数据字典相关
+const { dicts } = useDictionaryStore();
+
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const dialog = ref({
+  title: "报故详情",
+  visible: false,
+});
+const fault = ref({});
+const faultInfo = ref({});
+const faultEs = ref({});
+const faultExa = ref({});
+const faultEdit = (row) => {
+  faultInfo.value.id = row.id;
+
+  dialog1.value.visible = true;
+};
+const faultThaw = (row) => {
+  faultEs.value.id = row.id;
+  dialog2.value.visible = true;
+};
+
+const faultExamine = (row) => {
+  faultExa.value.id = row.id;
+  dialog3.value.visible = true;
+};
+const closeFault = () => {
+  dialog3.value.visible = false;
+  dataList();
+};
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/process/escalationFault",
   });
-  const fault=ref({});
-  const faultInfo=ref({});
-  const faultEs=ref({});
-  const faultExa=ref({});
-  const faultEdit=(row)=>{
-
-    faultInfo.value.id=row.id;
-
-    dialog1.value.visible=true;
-  }
-  const faultThaw=(row)=>{
-    faultEs.value.id=row.id;
-    dialog2.value.visible=true;
-  }
-
-  const faultExamine =(row)=>{
-    faultExa.value.id=row.id;
-    dialog3.value.visible=true;
-  }
-  const closeFault=()=>{
-    dialog3.value.visible=false;
-    dataList();
-  }
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/process/escalationFault",
-    });
-  const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-  // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-  // const permission = reactive({
-  //   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-  //   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-  //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-  //   menu: true,
-  // });
-
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-  const router = useRouter();
-  const viewFault = (row) => {
-
-    fault.value.id=row.id;
-    console.info(fault)
-    dialog.value.visible=true;
-  };
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    dataList();
-  });
-
-  const searchChangeState=()=>{
-    dataList();
-  }
-
-
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    column: columns,
-  });
-
-
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
+// const permission = reactive({
+//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
+//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
+//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
+//   menu: true,
+// });
+
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const router = useRouter();
+const viewFault = (row) => {
+  fault.value.id = row.id;
+  console.info(fault);
+  dialog.value.visible = true;
+};
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  dataList();
+});
+
+const searchChangeState = () => {
+  dataList();
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  searchEnter: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  column: columns,
+});
 </script>

+ 1 - 0
src/views/report/environment/equipment/index.vue

@@ -75,6 +75,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   addBtn: false,
   menu: false,

+ 1 - 0
src/views/report/environment/temperature/tables.vue

@@ -75,6 +75,7 @@ onMounted(() => {
 });
 
 option.value = Object.assign(option.value, {
+  searchEnter: true,
   selection: true,
   addBtn: false,
   menu: false,

+ 0 - 0
src/views/storage/alarm/index.vue


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio