瀏覽代碼

Merge remote-tracking branch 'origin/qingban' into qingban

lupeng 10 月之前
父節點
當前提交
8877a290ce

+ 1 - 1
.env.development

@@ -10,7 +10,7 @@ VITE_APP_BASE_API = '/dev-api'
 # 上传文件接口地址
 VITE_APP_UPLOAD_URL = 'http://192.168.101.4:9000'
 # 开发接口地址
- VITE_APP_API_URL = 'http://192.168.101.168:7104'
+ VITE_APP_API_URL = 'http://192.168.101.4:7104'
 
 
 # 是否启用 Mock 服务

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "version": "1.7"
+  "version": "2.3"
 }

+ 8 - 0
src/api/excel/index.ts

@@ -110,3 +110,11 @@ export function updateProExcel(data: any) {
     data,
   });
 }
+
+// 工单检验单查询
+export function getExcelDataByWorkOrderid(workOrderId: string, id: string) {
+  return request({
+    url: `/api/v1/ProcessFormData/queryInfo/${workOrderId}/${id}`,
+    method: "get",
+  });
+}

+ 6 - 21
src/views/base/craftManagement/process/index.vue

@@ -324,7 +324,7 @@ option.value = Object.assign(option.value, {
       dicData: switchOp,
       value: 0,
     },*/
-    {
+    /*{
       label: "是否巡检",
       prop: "inspection",
       span: 8,
@@ -341,7 +341,7 @@ option.value = Object.assign(option.value, {
       type: "switch",
       dicData: switchOp,
       value: 0,
-    },
+    },*/
     {
       label: "批量报工",
       prop: "batchReport",
@@ -386,7 +386,7 @@ option.value = Object.assign(option.value, {
         };
       },
     },
-    {
+    /*{
       label: "是否委外",
       prop: "outsourcing",
       span: 8,
@@ -407,7 +407,7 @@ option.value = Object.assign(option.value, {
         };
       },
       value: 0,
-    },
+    },*/
     {
       label: "合批数量",
       prop: "mergeNum",
@@ -434,21 +434,6 @@ option.value = Object.assign(option.value, {
       value: 0,
       // slot:true, // 自定义列
     },
-    /*{
-      label: "前置时间",
-      prop: "forceTime",
-      hide: true,
-      span: 6,
-      value: 0,
-      rules: [
-        {
-          required: true,
-          message: "前置时间不能为空",
-          trigger: "blur",
-        },
-      ],
-      // slot:true, // 自定义列
-    },*/
     {
       label: "工序描述",
       prop: "operationDesc",
@@ -456,13 +441,13 @@ option.value = Object.assign(option.value, {
       span: 24,
       type: "textarea",
     },
-    {
+    /*{
       label: "备注",
       prop: "remark",
       hide: true,
       span: 24,
       type: "textarea",
-    },
+    },*/
   ],
 });
 </script>

+ 4 - 4
src/views/base/craftManagement/route/bindConfig.ts

@@ -118,14 +118,14 @@ export const formOption = {
       ],
       // slot:true, // 自定义列
     },
-    {
+    /*{
       label: "是否外协",
       prop: "outsourcing",
       span: 24,
       type: "switch",
       dicData: switchOp,
       value: 0,
-    },
+    },*/
     /*{
       label: "是否首检",
       prop: "firstCheck",
@@ -134,7 +134,7 @@ export const formOption = {
       dicData: switchOp,
       value: 0,
     },*/
-    {
+    /*{
       label: "是否巡检",
       prop: "inspection",
       span: 24,
@@ -149,7 +149,7 @@ export const formOption = {
       type: "switch",
       dicData: switchOp,
       value: 0,
-    },
+    },*/
     {
       label: "批量报工",
       prop: "batchReport",

+ 15 - 15
src/views/base/craftManagement/route/bindProcess.vue

@@ -216,9 +216,6 @@ const handleKeydown = () => {
     selectLine.value = null;
   }
 };
-onActivated(() => {
-  console.log("ac");
-});
 onConnect(addEdges);
 const getPng = () => {
   if (!vueFlowRef.value) {
@@ -282,17 +279,21 @@ const cancelFlow = () => {
   }
 };
 const deleteFlow = () => {
-  const event = new KeyboardEvent("keydown", {
-    key: "Backspace",
-    keyCode: 8,
-    which: 8,
-    code: "Backspace",
-    bubbles: true,
-    cancelable: true,
-  });
-  document.dispatchEvent(event);
-  selectNode.value = null;
-  selectLine.value = null;
+  if (selectNode.value != null) {
+    flowData.value.nodes.forEach((item, index) => {
+      if (item.id == selectNode.value.id) {
+        flowData.value.nodes.splice(index, 1);
+      }
+    });
+  }
+  if (selectLine.value != null) {
+    flowData.value.edges.forEach((item, index) => {
+      if (item.id == selectLine.value.id) {
+        flowData.value.edges.splice(index, 1);
+      }
+    });
+  }
+  ElMessage.success("删除成功");
 };
 const saveInfo = async () => {
   flowData.value.nodes.forEach((item, index) => {
@@ -347,7 +348,6 @@ const editProComponent = async () => {
 // 全局=======
 
 onMounted(() => {
-  console.log("mount");
   loadTreeData();
   loadProcessesFlow();
   flowBoxScreen();

+ 9 - 4
src/views/base/craftManagement/route/components/bottomTable.vue

@@ -163,7 +163,7 @@ const onSortChange = () => {
     console.log(item.id);
   });
 };
-
+const routeId = ref("");
 // ============公共弹窗table选择相关,物料采集等使用===============
 const commonTableRef = ref({});
 const commonTableType = ref("MARTERIAL_BOM");
@@ -207,6 +207,7 @@ const getSOAPpdf = (itemValue) => {
 };
 
 onMounted(() => {
+  routeId.value = route.query.routeId;
   search.value.operationId = route.params.id;
   url.value = tableConfig[props.tableType].url;
   option.value = Object.assign(option.value, {
@@ -217,7 +218,9 @@ onMounted(() => {
     column: tableConfig[props.tableType].column,
   });
   dataList();
-  getRouteMaxVersion(route.query.routeId).then(({ data }) => {
+  getRouteMaxVersion(
+    route.query.routeId ? route.query.routeId : routeId.value
+  ).then(({ data }) => {
     if (data) {
       bomVersion.value = data;
     }
@@ -227,7 +230,7 @@ onMounted(() => {
 watch(
   () => props.tableType,
   () => {
-    console.log("faslegb");
+    routeId.value = route.query.routeId;
     url.value = tableConfig[props.tableType].url;
     option.value = Object.assign(option.value, {
       addBtn: false,
@@ -237,7 +240,9 @@ watch(
       column: tableConfig[props.tableType].column,
     });
     dataList();
-    getRouteMaxVersion(route.query.routeId).then(({ data }) => {
+    getRouteMaxVersion(
+      route.query.routeId ? route.query.routeId : routeId.value
+    ).then(({ data }) => {
       if (data) {
         bomVersion.value = data;
       }

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

@@ -84,7 +84,6 @@
       </div>
       <div v-else>
         <div class="tipTitle">{{ tipTitle }}</div>
-
         <SetExcel />
       </div>
     </div>
@@ -118,7 +117,6 @@ const loadTopList = () => {
   });
 };
 onMounted(async () => {
-  console.info(route.query.prodtCode);
   await loadTopList();
 });
 
@@ -136,8 +134,10 @@ const save = async () => {
     operationId: route.params.id,
     dtos: selectProComs.value,
   };
-  let res = await saveCompoents(p);
-  // Elmessage.success("保存成功");
+  let { res, code } = await saveCompoents(p);
+  if (code == "200") {
+    ElMessage.success("保存成功");
+  }
   loadTopList();
 };
 

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

@@ -410,6 +410,14 @@ option.value = Object.assign(option.value, {
       prop: "processRouteVersion",
       addDisplay: true,
       editDisplay: true,
+      value: '1.0',
+      rules: [
+        {
+          required: true,
+          message: "版本不能为空",
+          trigger: "blur",
+        },
+      ],
     },
     {
       label: "创建人",

+ 4 - 4
src/views/base/excel/template/index.vue

@@ -695,25 +695,25 @@ const useAddFormHook = () => {
     ],
     up: [
       {
-        required: true,
+        required: false,
         trigger: "blur",
       },
     ],
     down: [
       {
-        required: true,
+        required: false,
         trigger: "blur",
       },
     ],
     standard: [
       {
-        required: true,
+        required: false,
         trigger: "blur",
       },
     ],
     source: [
       {
-        required: true,
+        required: false,
         trigger: "blur",
       },
     ],

+ 123 - 72
src/views/plan/workOrder/components/check-task.vue

@@ -1,60 +1,79 @@
 <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="selectionChange1"
+      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="selectionChange1"
     >
-      <template #menu="{size,row,index}">
-        <el-button @click="deleteTep(row.id)" text type="primary" v-if ="info.workOrderState  === '1' || info.workOrderState  === '2' || info.workOrderState  === '0'"
-        >删除</el-button
+      <template #menu="{ size, row, index }">
+        <el-button
+          @click="deleteTep(row.id)"
+          text
+          type="primary"
+          v-if="
+            taskForm.info.workOrderState === '1' ||
+            taskForm.info.workOrderState === '2' ||
+            taskForm.info.workOrderState === '0'
+          "
+          >删除</el-button
+        >
+        <el-button type="primary" text @click="showExcelDialog(row)"
+          ><i-ep-view />查看</el-button
         >
       </template>
       <template #menu-left="{}">
         <el-button
-          v-if ="info.workOrderState  === '1' || info.workOrderState  === '2' || info.workOrderState  === '0'"
+          v-if="
+            taskForm.info.workOrderState === '1' ||
+            taskForm.info.workOrderState === '2' ||
+            taskForm.info.workOrderState === '0'
+          "
           type="primary"
           icon="el-icon-plus"
           @click="addObj"
-        >新增</el-button>
+          >新增</el-button
+        >
       </template>
-
     </avue-crud>
     <el-dialog
-        v-model="editDialog.visible"
-        :title="editDialog.title"
-        width="650px"
-        @close="handleClose"
+      v-model="editDialog.visible"
+      :title="editDialog.title"
+      width="650px"
+      @close="handleClose"
     >
       <el-form
-          ref="taskFormRef"
-          status-icon
-          :model="taskForm"
-          :rules="rules"
-          label-width="auto"
-          class="demo-ruleForm">
+        ref="taskFormRef"
+        status-icon
+        :model="taskForm"
+        :rules="rules"
+        label-width="auto"
+        class="demo-ruleForm"
+      >
         <el-form-item label="任务名称" prop="formName">
-          <el-input v-model="taskForm.formName">
-          </el-input>
+          <el-input v-model="taskForm.formName" />
         </el-form-item>
         <el-form-item label="Excel模板" prop="baseFormIds">
-          <el-select v-model="taskForm.baseFormIds" multiple placeholder="Select">
+          <el-select
+            v-model="taskForm.baseFormIds"
+            multiple
+            placeholder="Select"
+          >
             <el-option
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             />
           </el-select>
         </el-form-item>
@@ -66,13 +85,31 @@
         </div>
       </template>
     </el-dialog>
+    <el-dialog
+      v-model="excelDialogVisible"
+      title="查看表单"
+      :append-to-body="true"
+      :destroy-on-close="true"
+      width="70%"
+      height="80%"
+      @close="excelDialogVisible = true"
+    >
+      <TaskExcel v-if="excelDialogVisible" :data="excelData" />
+    </el-dialog>
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
-import { getForm, add, deleteTemp } from "@/api/excel";
+import { defineProps, ref } from "vue";
+import {
+  getForm,
+  add,
+  deleteTemp,
+  getExcelDataByWorkOrderid,
+} from "@/api/excel";
+import TaskExcel from "@/views/plan/workOrder/components/taskExcel.vue";
+import { ElMessage } from "element-plus";
 import { useCrud } from "@/hooks/userCrud";
-import { useCommonStoreHook,useDictionaryStore } from "@/store";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const toPrintRef = ref(null);
 const options = ref([]);
@@ -84,8 +121,7 @@ const taskFormRef = ref();
 const taskForm = ref({
   formName: "",
   baseFormIds: "",
-  workOrderId: ""
-
+  workOrderId: "",
 });
 const rules = reactive({
   formName: [{ required: true, trigger: "blur" }],
@@ -93,15 +129,15 @@ const rules = reactive({
 });
 const editDialog = ref({ visible: false, title: "绑定模版" });
 const value1 = ref([]);
-const info = ref({})
+const info = ref({});
 const props = defineProps({
   workOrderInfo: {
     type: Object,
     default: () => {
       return null;
-    }
-  }
-})
+    },
+  },
+});
 const handleClose = () => {
   editDialog.value.visible = false;
   value1.value = [];
@@ -110,18 +146,18 @@ const dialog = reactive({
   title: "二维码打印",
   visible: false,
 });
-const clickObjs = ref([])
-const selectionChange1 =(row)=>{
+const clickObjs = ref([]);
+const selectionChange1 = (row) => {
   toDeleteIds.value = [];
   row?.forEach((element) => {
     toDeleteIds.value.push(element.id);
   });
-  clickObjs.value = row
-}
+  clickObjs.value = row;
+};
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const addObj =()=>{
-  editDialog.value.visible = true
-}
+const addObj = () => {
+  editDialog.value.visible = true;
+};
 const deleteTep = async (id) => {
   const { data, code } = await deleteTemp({
     id,
@@ -135,17 +171,17 @@ const deleteTep = async (id) => {
 const onSelected = () => {
   taskFormRef.value.validate((valid) => {
     if (valid) {
-      add(taskForm.value).then((data)=>{
+      add(taskForm.value).then((data) => {
         if (data.code == "200") {
           ElMessage.success("添加成功!");
           dataList();
           handleClose();
-          taskForm.value.baseFormIds = []
-          taskForm.value.formName = ''
-        }else{
+          taskForm.value.baseFormIds = [];
+          taskForm.value.formName = "";
+        } else {
           ElMessage.error(data.msg);
         }
-      })
+      });
     }
   });
 };
@@ -154,7 +190,7 @@ const getTemplate = async () => {
   const { data } = await getForm({
     pageNo: 1,
     pageSize: 9999999,
-    queryCheck: true
+    queryCheck: true,
   });
   options.value = [];
   data.records.forEach((element) => {
@@ -165,25 +201,26 @@ const getTemplate = async () => {
   });
 };
 watch(
-    () => props.workOrderInfo,
-    () => {
-      taskForm.value.workOrderId = props.workOrderInfo.id
-      form.value.workOrderId = props.workOrderInfo.id
-      search.value.workOrderId = props.workOrderInfo.id
-      dataList();
-    }
+  () => props.workOrderInfo,
+  () => {
+    taskForm.value.info = props.workOrderInfo;
+    taskForm.value.workOrderId = props.workOrderInfo.id;
+    form.value.workOrderId = props.workOrderInfo.id;
+    search.value.workOrderId = props.workOrderInfo.id;
+    dataList();
+  }
 );
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/opExcelForm",
   });
-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 { dicts } = useDictionaryStore();
 
-
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
   delBtn: false,
@@ -226,10 +263,24 @@ option.value = Object.assign(option.value, {
 });
 
 onMounted(() => {
-  taskForm.value.workOrderId = props.workOrderInfo.id
-  form.value.workOrderId = props.workOrderInfo.id
-  search.value.workOrderId = props.workOrderInfo.id
+  taskForm.value.info = props.workOrderInfo;
+  taskForm.value.workOrderId = props.workOrderInfo.id;
+  form.value.workOrderId = props.workOrderInfo.id;
+  search.value.workOrderId = props.workOrderInfo.id;
   dataList();
-  getTemplate()
+  getTemplate();
 });
+
+//  查看excel相关
+const excelDialogVisible = ref(false);
+const showExcelDialog = async (row) => {
+  ElMessage({
+    message: "正在获取数据,请稍后...",
+  });
+  let res = await getExcelDataByWorkOrderid(row.workOrderId, row.id);
+  excelData.value = res.data;
+
+  excelDialogVisible.value = true;
+};
+const excelData = ref(null);
 </script>

+ 359 - 0
src/views/plan/workOrder/components/taskExcel.vue

@@ -0,0 +1,359 @@
+<template>
+  <div class="dialogBody">
+    <div class="exView" :key="excelKey1">
+      <ExcelView
+        ref="excelViewRef"
+        :option="options"
+        @confirm="confirm"
+        v-model:data="exceldata"
+        :checkStatus="true"
+        :verifications="setting"
+      />
+    </div>
+    <!--    <div class="btns" v-if="options.edit !== false">-->
+    <!--      <el-button class="btn" type="success" @click="submit">确 定 </el-button>-->
+    <!--      <el-button class="btn" @click="reset">重 置 </el-button>-->
+    <!--      <el-button class="btn" type="info" @click="cancel">取 消 </el-button>-->
+    <!--    </div>-->
+    <!--    <div class="btns" v-else>-->
+    <!--      <el-button class="btn" type="info" @click="cancel">返 回 </el-button>-->
+    <!--    </div>-->
+  </div>
+</template>
+<script setup lang="ts">
+import { ref } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import { setExcelData } from "@/api/excel/index.ts";
+import ExcelView from "@/components/ExcelView/index.vue";
+import { useDictionaryStore } from "@/store";
+const setting = ref([]);
+const props = defineProps({
+  data: {
+    type: Object,
+  },
+});
+const rowData = ref({});
+const emits = defineEmits(["update:modelValue", "close", "refresh"]);
+const excelKey1 = ref(false);
+const submit = async () => {
+  excelViewRef.value.confirm();
+  const { data, code } = await setExcelData({
+    excelData: JSON.stringify(exceldata.value),
+    excelFormId: rowData.value.excelFormId,
+    processId: rowData.value.processId,
+    formType: rowData.value.formType,
+    formName: rowData.value.formName,
+  });
+  if (code == "200") {
+    ElMessage.success("修改成功!");
+    cancel();
+    emits("refresh");
+  }
+};
+const reset = () => {
+  exceldata.value = JSON.parse(rowData.value.excelData);
+  excelKey1.value = !excelKey1.value;
+};
+const cancel = () => {
+  excelKey1.value = !excelKey1.value;
+  options.value.edit = true;
+  emits("close");
+};
+// 存放操作表格相关业务代码
+const useAddTemplateHook = () => {
+  //excelView 组件实例
+  const excelViewRef = ref(null);
+  //表格配置项
+  const options = ref({
+    //头部操作区域
+    opreaState: true,
+    //导入按钮展示
+    in: false,
+    //导出按钮展示
+    out: false,
+    print: true,
+    //编辑状态 false:为查看状态
+    edit: false,
+    //当前操作表格名称
+    inName: "",
+    opreaTitle: false,
+  });
+  //双向绑定表格data变量
+  const exceldata = ref(null);
+  //控制表格组件展示界面变量(包括表格展示页面和操作页面)
+  const excelStatus = ref(true);
+
+  //获取组件内实时数据赋值到外层
+  const confirm = (data: any) => {
+    exceldata.value = data;
+  };
+  return {
+    excelStatus,
+    options,
+    confirm,
+    exceldata,
+    excelViewRef,
+  };
+};
+const { options, confirm, exceldata, excelViewRef } = useAddTemplateHook();
+const useFormHook = () => {
+  //KEY告知组件刷新
+  const excelKey = ref(1);
+  //表单data
+  const formVlaue = reactive({ formType: null, formName: null, state: null });
+  //表单是否为编辑状态变量
+  const operaEditStatus = ref(false);
+  //选中的行id
+  const selectId = ref(null);
+  //表单ref实例
+  const formRef = ref(null);
+  //表单校验规则
+  const rules = reactive({
+    formName: [
+      {
+        required: true,
+        trigger: "blur",
+      },
+    ],
+    formType: [
+      {
+        required: true,
+        trigger: "blur",
+      },
+    ],
+    state: [
+      {
+        required: true,
+        trigger: "blur",
+      },
+    ],
+  });
+  //新增模版
+  const submitForm = async (formEl: any) => {
+    //@ts-ignore;
+    excelViewRef.value.confirm();
+    if (exceldata.value == null) return ElMessage.error("请提供表格数据!");
+    if (!formEl) return;
+    await formEl.validate(async (valid: any, fields: any) => {
+      if (valid) {
+        const { data, code } = await addExcel({
+          ...formVlaue,
+          excelData: exceldata.value,
+        });
+        if (code == "200") {
+          ElMessage.success("添加成功!");
+          resetData();
+          dataEditList();
+          editTep(data);
+        }
+      }
+    });
+  };
+  //更新行内信息
+  const updateExForm = async (formEl: any) => {
+    //@ts-ignore;
+    excelViewRef.value.saveCellData();
+    //@ts-ignore;
+    excelViewRef.value.confirm();
+    if (exceldata.value == null) return ElMessage.error("请提供表格数据!");
+    if (!formEl) return;
+    await formEl.validate(async (valid: any, fields: any) => {
+      if (valid) {
+        const { data, code } = await updateExcel({
+          ...formVlaue,
+          excelData: exceldata.value,
+          id: selectId.value,
+          settings: settings.value,
+        });
+        if (code == "200") {
+          ElMessage.success("修改成功!");
+          resetData();
+          dataEditList();
+        }
+      }
+    });
+  };
+  //表达数据重置
+  const resetForm = (formEl: any) => {
+    if (!formEl) return;
+    formEl.resetFields();
+  };
+  return {
+    formVlaue,
+    formRef,
+    rules,
+    selectId,
+    excelKey,
+    operaEditStatus,
+    submitForm,
+    resetForm,
+    updateExForm,
+  };
+};
+
+const {
+  formVlaue,
+  formRef,
+  rules,
+  selectId,
+  excelKey,
+  operaEditStatus,
+  submitForm,
+  resetForm,
+  updateExForm,
+} = useFormHook();
+//表格新增 分页
+const useAddFormHook = () => {
+  const formRef1 = ref(null);
+  const settings = ref([]);
+  const searchForm = ref({
+    pageNo: 1,
+    pageSize: 5,
+    totalPages: 0,
+  });
+  const addForm = ref({
+    paramName: "",
+    position: "",
+  });
+  const addPage = () => {
+    searchForm.value.pageNo = searchForm.value.pageNo + 1;
+    getSettingData();
+  };
+  const deletePage = () => {
+    searchForm.value.pageNo = searchForm.value.pageNo - 1;
+    getSettingData();
+  };
+  const getSettingData = async () => {
+    const { data } = await getSettingsData({
+      excelFormId: selectId.value,
+      ...searchForm.value,
+    });
+    settings.value = data.records;
+    if (settings.value.length == 0 && searchForm.value.pageNo > 1) {
+      deletePage();
+    }
+    searchForm.value.totalPages = data.totalPages;
+  };
+  const addSettings = async () => {
+    const { data, code } = await addSettingsData({
+      excelFormId: selectId.value,
+      ...addForm.value,
+    });
+    if (code == "200") {
+      ElMessage.success("添加成功");
+      resetAddForm();
+      getSettingData();
+    }
+  };
+  const deleteSettings = async (id: any) => {
+    const { data, code } = await deleteSettingsData({ id: id });
+    if (code == "200") {
+      ElMessage.success("删除成功");
+      getSettingData();
+    }
+  };
+
+  const resetAddForm = () => {
+    addForm.value = {
+      paramName: "",
+      position: "",
+    };
+    searchForm.value = {
+      pageNo: 1,
+      pageSize: 5,
+      totalPages: 0,
+    };
+    settings.value = [];
+  };
+  const creatAddForm = async () => {
+    await formRef1.value.validate(async (valid: any, fields: any) => {
+      if (valid) {
+        addSettings();
+      }
+    });
+  };
+  const addRules = reactive({
+    paramName: [
+      {
+        required: true,
+        trigger: "blur",
+      },
+    ],
+    position: [
+      {
+        required: true,
+        trigger: "blur",
+      },
+    ],
+  });
+  return {
+    formRef1,
+    addForm,
+    searchForm,
+    settings,
+    addRules,
+    creatAddForm,
+    resetAddForm,
+    getSettingData,
+    addSettings,
+    addPage,
+    deleteSettings,
+    deletePage,
+  };
+};
+
+const {
+  formRef1,
+  addForm,
+  searchForm,
+  settings,
+  addRules,
+  creatAddForm,
+  deletePage,
+  addPage,
+  resetAddForm,
+  getSettingData,
+  deleteSettings,
+} = useAddFormHook();
+watch(
+  () => props.data,
+  () => {
+    //@ts-ignore
+    rowData.value = props.data;
+    console.log(rowData.value);
+    exceldata.value = JSON.parse(rowData.value.excelData);
+    excelKey1.value = !excelKey1.value;
+    if (rowData.value.lookStatus == true) {
+      options.value.edit = false;
+    }
+    setting.value = rowData.value.settings;
+  },
+  { immediate: true }
+);
+</script>
+<style lang="scss" scoped>
+.dialogBody {
+  width: 1560px;
+  height: 75vh;
+  display: flex;
+  .exView {
+    width: 100%;
+    //width: 1330px;
+    height: 75vh;
+    display: flex;
+    position: relative;
+  }
+  .btns {
+    width: 200px;
+    height: 560px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    padding: 40px 0 0 20px;
+    .btn {
+      width: 100%;
+      margin: 10px;
+    }
+  }
+}
+</style>

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

@@ -208,6 +208,7 @@
     </el-dialog>
     <el-dialog
       v-model="dialog6.visible"
+      :append-to-body="true"
       :title="dialog6.title"
       width="1100px"
       @close="dialog6.visible = false"

+ 6 - 6
src/views/pro/baseoperation/index.vue

@@ -155,31 +155,31 @@
                     prop: "preparationTime",
                     search: false,
                 },
-                {
+                /*{
                     label: "是否自检",
                     prop: "selfCheck",
                     search: false,
-                },
+                },*/
                 {
                   label: "批量报工",
                   prop: "batchReport",
                   search: false,
                 },
-                {
+                /*{
                     label: "是否巡检",
                     prop: "inspection",
                     search: false,
-                },
+                },*/
                 /*{
                     label: "是否首检",
                     prop: "firstCheck",
                     search: false,
                 },*/
-                {
+                /*{
                     label: "是否委外",
                     prop: "outsourcing",
                     search: false,
-                },
+                },*/
                 {
                     label: "是否禁用",
                     prop: "enabled",