浏览代码

添加检验任务

qinhb 10 月之前
父节点
当前提交
d6a7e34cb6

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

@@ -180,7 +180,6 @@ provide("currentProcess", currentProcess);
 const nodeClick = (event) => {
   if (!editStatus.value) return;
   currentProcess.value = event.node;
-  console.log("------------" + JSON.stringify(event.node))
 };
 onConnect(addEdges);
 const getPng = () => {

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

@@ -159,7 +159,6 @@ option.value = Object.assign(option.value, {
   viewBtn: false,
   editBtn: false,
   delBtn: false,
-  addBtn: false,
   searchMenuSpan: 8,
   column: [
     {

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

@@ -0,0 +1,236 @@
+<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"
+    >
+      <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>
+      <template #menu-left="{}">
+        <el-button
+          v-if ="info.workOrderState  === '1' || info.workOrderState  === '2' || info.workOrderState  === '0'"
+          type="primary"
+          icon="el-icon-plus"
+          @click="addObj"
+        >新增</el-button>
+      </template>
+
+    </avue-crud>
+    <el-dialog
+        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">
+        <el-form-item label="任务名称" prop="formName">
+          <el-input v-model="taskForm.formName">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="Excel模板" prop="baseFormIds">
+          <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"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="handleClose">取消</el-button>
+          <el-button type="primary" @click="onSelected"> 确定 </el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+<script setup>
+import {defineProps, ref} from "vue";
+import { getForm, add, deleteTemp } from "@/api/excel";
+import { useCrud } from "@/hooks/userCrud";
+import { useCommonStoreHook,useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+const toPrintRef = ref(null);
+const options = ref([]);
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const taskFormRef = ref();
+const taskForm = ref({
+  formName: "",
+  baseFormIds: "",
+  workOrderId: ""
+
+});
+const rules = reactive({
+  formName: [{ required: true, trigger: "blur" }],
+  baseFormIds: [{ required: true, trigger: "blur" }],
+});
+const editDialog = ref({ visible: false, title: "绑定模版" });
+const value1 = ref([]);
+const info = ref({})
+const props = defineProps({
+  workOrderInfo: {
+    type: Object,
+    default: () => {
+      return null;
+    }
+  }
+})
+const handleClose = () => {
+  editDialog.value.visible = false;
+  value1.value = [];
+};
+const dialog = reactive({
+  title: "二维码打印",
+  visible: false,
+});
+const clickObjs = ref([])
+const selectionChange1 =(row)=>{
+  toDeleteIds.value = [];
+  row?.forEach((element) => {
+    toDeleteIds.value.push(element.id);
+  });
+  clickObjs.value = row
+}
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const addObj =()=>{
+  editDialog.value.visible = true
+}
+const deleteTep = async (id) => {
+  const { data, code } = await deleteTemp({
+    id,
+  });
+  if (code == "200") {
+    ElMessage.success("删除成功!");
+    dataList();
+  }
+};
+//新增
+const onSelected = () => {
+  taskFormRef.value.validate((valid) => {
+    if (valid) {
+      add(taskForm.value).then((data)=>{
+        if (data.code == "200") {
+          ElMessage.success("添加成功!");
+          dataList();
+          handleClose();
+          taskForm.value.baseFormIds = []
+          taskForm.value.formName = ''
+        }else{
+          ElMessage.error(data.msg);
+        }
+      })
+    }
+  });
+};
+//获取Excel模版列表
+const getTemplate = async () => {
+  const { data } = await getForm({
+    pageNo: 1,
+    pageSize: 9999999,
+    formType: 1
+  });
+  options.value = [];
+  data.records.forEach((element) => {
+    options.value.push({
+      value: element.id,
+      label: element.formName,
+    });
+  });
+};
+watch(
+    () => props.workOrderInfo,
+    () => {
+      form.value.workOrderCode = props.workOrderInfo.workOrderCode
+      info.value = props.workOrderInfo
+      search.value.workOrderCode = props.workOrderInfo.workOrderCode
+      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 { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+const { dicts } = useDictionaryStore();
+
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  delBtn: false,
+  selection: false,
+  search: false,
+  filterBtn: false,
+  columnBtn: false,
+  editBtn: false,
+  addBtn: false,
+  viewBtn: false,
+  menu: true,
+  column: [
+    {
+      label: "任务名称",
+      prop: "formName",
+      addDisabled: true,
+      editDisabled: true,
+    },
+    {
+      label: "模版类型",
+      prop: "formType",
+      addDisabled: true,
+      editDisabled: true,
+      dicData: dicts.excel_type,
+      props: { label: "dictLabel", value: "dictValue" },
+    },
+    {
+      label: "修改时间",
+      prop: "updated",
+      addDisabled: true,
+      editDisabled: true,
+    },
+    {
+      label: "操作人",
+      prop: "updator",
+      addDisabled: true,
+      editDisabled: true,
+    },
+  ],
+});
+
+onMounted(() => {
+  info.value = props.workOrderInfo
+  taskForm.value.workOrderId = info.value.id
+  form.value.workOrderId = props.workOrderInfo.id
+  search.value.workOrderId = props.workOrderInfo.id
+  dataList();
+  getTemplate()
+});
+</script>

+ 20 - 4
src/views/plan/workOrder/index.vue

@@ -90,12 +90,12 @@
             @click="revoke(row.id)"
             type="primary"
             :size="size">撤销</el-button>
-<!--        <el-button
+        <el-button
             icon="el-icon-setting"
             text
-            @click="jumpPage(row.workOrderCode,1)"
+            @click="showCheckTask(row)"
             type="primary"
-            :size="size">领用申请</el-button>-->
+            :size="size">检验任务</el-button>
         <el-button
             icon="el-icon-setting"
             text
@@ -164,7 +164,14 @@
     >
       <work-order-seq :workOrderInfo="form"/>
     </el-dialog>
-
+    <el-dialog
+        v-model="dialog6.visible"
+        :title="dialog6.title"
+        width="1100px"
+        @close="dialog6.visible = false"
+    >
+      <check-task :workOrderInfo="form"/>
+    </el-dialog>
     <el-dialog
         v-model="dialog5.visible"
         :title="dialog5.title"
@@ -222,6 +229,7 @@ import dictDataUtil from "@/common/configs/dictDataUtil";
 import ChoiceRoutePage from "./components/choice-route-page.vue";
 import ChoiceWorkshopPage from "./components/choice-workshop-page.vue";
 import WorkOrderSeq from "./components/work-order-seq.vue";
+import CheckTask from "./components/check-task.vue";
 import { checkPerm } from "@/directive/permission";
 import {queryDictDataByType} from "@/api/system/dict"
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
@@ -272,6 +280,10 @@ const dialog5 = reactive({
   title: "排程确认",
   visible: false,
 });
+const dialog6 = reactive({
+  title: "检验任务",
+  visible: false,
+});
 const apsType = ref(0)
 const aps =(id)=>{
   apsType.value = 0
@@ -282,6 +294,10 @@ const showSeqPage =(workOrderCode)=>{
   form.value = workOrderCode
   dialog4.visible = true
 }
+const showCheckTask =(workOrderCode)=>{
+  form.value = workOrderCode
+  dialog6.visible = true
+}
 const distribute = (id)=>{
   ElMessageBox.confirm("当前操作不可逆,确定下发工单吗?")
       .then(() => {