瀏覽代碼

添加成品入库流程

qinhb 2 月之前
父節點
當前提交
856381154d

+ 1 - 0
src/store/modules/dictionary.ts

@@ -34,6 +34,7 @@ export const useDictionaryStore = defineStore("dictionaryStore", () => {
     "process_state",
     "form_params",
     "bill_type",
+      "flow_ins_state",
     "warehouse_type",
     "signature_type",
     "signature_attribution",

+ 14 - 2
src/views/flow/common/CheckFlow.vue

@@ -11,10 +11,12 @@ import {
 // 要在这里引入组件 才能展示  以及 src/views/flow/common/CheckTopInfos/utils/index.ts  添加类型
 import RouteFlowComService from "@/views/flow/common/CheckTopInfos/routeFlowComService.vue";
 import RouteFlowService from "@/views/flow/common/CheckTopInfos/routeFlowService.vue";
+import SeqInFlowService from "@/views/flow/common/CheckTopInfos/seqInFlowService.vue";
 
 const allComponents = shallowReactive({
   RouteFlowComService,
-  RouteFlowService
+  RouteFlowService,
+  SeqInFlowService
 });
 const dialogVisible = ref(false);
 const componentName = ref("");
@@ -132,10 +134,20 @@ watch(
               </el-select>
             </el-form-item>
 
-            <el-form-item label="审核意见">
+            <el-form-item label="审核意见:">
               <el-input v-model="currentRow.message"></el-input>
             </el-form-item>
           </el-form>
+          <el-form style="margin-top:20px;" v-if="props.operType == 'done'">
+            <el-form-item label="审核状态:">
+              <el-tag v-if="currentRow.state === '1'" type="success">通过</el-tag>
+              <el-tag v-if="currentRow.state === '-1'" type="error">驳回</el-tag>
+              <el-tag v-if="currentRow.state === '2'" type="error">已撤回</el-tag>
+            </el-form-item>
+            <el-form-item label="审核意见:">
+              <el-input v-model="currentRow.opinion" disabled></el-input>
+            </el-form-item>
+          </el-form>
         </div>
       </el-scrollbar>
     </template>

+ 70 - 0
src/views/flow/common/CheckTopInfos/seqInFlowService.vue

@@ -0,0 +1,70 @@
+<script setup lang="ts">
+import { getSeqInInfo } from "@/views/flow/common/CheckTopInfos/utils";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+import { useScreenshot } from "@/views/base/craftManagement/route/screenshot.ts";
+import { useLayout } from "@/hooks/useLayout";
+
+const infoObj = ref({});
+
+const props = defineProps({
+  row: {
+    type: Object,
+    required: true,
+  },
+});
+
+
+onMounted(async () => {
+  console.log("CheckTopInfos routeFlowComService mounted", props.row);
+  let res = await getSeqInInfo(props.row.businessId);
+  infoObj.value = res.data;
+});
+
+const { capture } = useScreenshot();
+const { layout } = useLayout();
+const { dicts } = useDictionaryStore();
+</script>
+
+<template>
+  <div class="box">
+    <el-card>
+      <el-form label-width="120px">
+        <el-row>
+          <el-form-item label="接收人:">
+            <el-text class="mx-1" >{{infoObj.recipient}}</el-text>
+          </el-form-item>
+          <el-form-item label="检验码:">
+            <el-text class="mx-1">{{infoObj.checkCode}}</el-text>
+          </el-form-item>
+          <el-form-item label="单据类型:">
+            <el-text class="mx-1">{{infoObj.billTypeStr}}</el-text>
+          </el-form-item>
+          <el-form-item label="仓库类型:">
+            <el-text class="mx-1">{{infoObj.warehouseTypeStr}}</el-text>
+          </el-form-item>
+          <el-form-item label="批号:">
+            <el-text class="mx-1">{{infoObj.lotCode}}</el-text>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="备注:">
+            <el-text class="mx-1">{{infoObj.remark}}</el-text>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item label="管号:">
+            <el-text class="mx-1">{{infoObj.seqNo}}</el-text>
+          </el-form-item>
+        </el-row>
+          <el-row>
+            <el-form-item label="创建人:">
+              <el-text class="mx-1">{{infoObj.creator}}</el-text>
+            </el-form-item>
+            <el-form-item label="创建时间:">
+              <el-text class="mx-1">{{infoObj.created}}</el-text>
+            </el-form-item>
+        </el-row>
+      </el-form>
+    </el-card>
+  </div>
+</template>

+ 9 - 1
src/views/flow/common/CheckTopInfos/utils/index.ts

@@ -7,20 +7,28 @@ export function getRouteInfo(id: string) {
     method: "get",
   });
 }
+export function getSeqInInfo(id: string) {
+  return request({
+    url: `/api/v1/plan/seq/in/stock/get/${id}`,
+    method: "get",
+  });
+}
 
 export class DrawerTitleClass {
   static routeFlowComService = "工艺流程审核";
   static routeFlowService = "产品工艺流程审核";
-
+  static seqInFlowService = "成品入库审核流程"
 }
 
 export class TopTitleClass {
   static routeFlowComService = "工艺信息";
   static routeFlowService = "产品工艺信息";
+  static seqInFlowService = "成品入库"
 }
 
 export class ComponentNameClass {
   static routeFlowComService = "RouteFlowComService";
   static routeFlowService = "RouteFlowService";
+  static seqInFlowService = "SeqInFlowService"
 }
 

+ 61 - 11
src/views/plan/finishProduct/components/detail-stock.vue

@@ -50,7 +50,7 @@ import WorkFlowCheck from "@/components/WorkFlows/workFlowCheck.vue";
 import LookFlowStep from "@/views/flow/common/LookFlowStep.vue";
 import { cancelSeqInFlow,submitSeqInFlow } from "@/api/flow";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-
+const { dicts } = useDictionaryStore();
 //  工作流相关 start
 const workFlowCheckRef = ref(null);
 const openCheckView = (row) => {
@@ -113,14 +113,6 @@ const {
 } = 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,
-// });
-
 onMounted(() => {
   search.value.workOrderCode = props.workOrderCode;
   dataNoPageList();
@@ -146,7 +138,6 @@ option.value = Object.assign(option.value, {
     {
       label: "入库数量",
       prop: "inventoryNum",
-      width: 110,
     },
     {
       label: "管号",
@@ -155,9 +146,68 @@ option.value = Object.assign(option.value, {
       overHidden: true,
     },
     {
+      label: "检验码",
+      prop: "checkCode",
+    },
+    {
+      label: "单据类型",
+      prop: "billType",
+      type: "select",
+      dicData: dicts.bill_type,
+      props: { label: "dictLabel", value: "dictValue" },
+      rules: [
+        {
+          required: true,
+          message: "请选择单据类型",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "仓库类型",
+      prop: "warehouseType",
+      span: 24,
+      type: "select",
+      dicData: dicts.warehouse_type,
+      props: { label: "dictLabel", value: "dictValue" },
+      rules: [
+        {
+          required: true,
+          message: "请选择仓库类型",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "批号",
+      prop: "lotCode",
+      rules: [
+        {
+          required: true,
+          message: "请输入批号",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "流程状态",
+      prop: "flowState",
+      width: 120,
+      addDisplay: false,
+      editDisplay: false,
+      overHidden: true,
+      type: "select",
+      dicData: dicts.flow_ins_state,
+      props: {
+        label: "dictLabel",
+        value: "dictValue",
+      },
+    },
+    {
       label: "备注",
       prop: "remark",
-      overHidden: true,
+      span: 24,
+      type: "textarea",
     },
     {
       label: "创建人",

+ 1 - 2
src/views/plan/finishProduct/index.vue

@@ -17,8 +17,7 @@
     >
       <template #menu="{ row, index, type }">
         <el-button @click="inStock(row)" icon="el-icon-van" text type="primary"
-          >入库</el-button
-        >
+          >入库</el-button>
         <el-button
           @click="viewStock(row)"
           icon="el-icon-view"