Parcourir la source

Merge branch 'qingban' of http://192.168.101.4:3000/jiaxiaoqiang/JG-ADMIN-TEMP into qingban

lupeng il y a 10 mois
Parent
commit
13ce398874

+ 1 - 0
.gitignore

@@ -18,3 +18,4 @@ pnpm-lock.yaml
 stats.html
 /docker/.run
 /dist
+/.vite/deps_temp_327c80ff

+ 14 - 14
src/views/plan/order/components/order-page.vue

@@ -102,6 +102,20 @@ option.value = Object.assign(option.value, {
       prop: "materialModel",
     },
     {
+      label: "订单数量",
+      prop: "orderNum",
+      type: "number",
+      width: "100",
+      min: 1,
+      max: 99999,
+    },
+    {
+      label: "排产数量",
+      prop: "scheduledNum",
+      width: "100",
+      display: false,
+    },
+    {
       label: "产品版本",
       width: 130,
       overHidden: true,
@@ -137,20 +151,6 @@ option.value = Object.assign(option.value, {
       filterable: true, //添加filterable属性即可启用搜索功能
     },
     {
-      label: "订单数量",
-      prop: "orderNum",
-      type: "number",
-      width: "100",
-      min: 1,
-      max: 99999,
-    },
-    {
-      label: "排产数量",
-      prop: "scheduledNum",
-      width: "100",
-      display: false,
-    },
-    {
       label: "优先级",
       prop: "priority",
       width: "100",

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

@@ -61,7 +61,7 @@ const onUserSelectedFinish = (selectedValue) => {
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const userRef = ref(null);
 const refreshTra = (row) => {
-  commonConfig.value.params = { seqNo: row.seqNo };
+  commonConfig.value.params = { seqNo: row.seqNo,workOrderCode: row.workOrderCode};
   dataList();
 };
 defineExpose({ refreshTra });

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

@@ -0,0 +1,211 @@
+<!-- 生产履历 -->
+<template>
+  <div class="mainContentBox">
+    <avue-crud
+      ref="crudRef2"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      @row-update="updateRow"
+      v-model:page="page"
+    />
+    <CommonTable
+      ref="userRef"
+      tableTitle="操作人选择"
+      tableType="USERS"
+      @selected-sure="onUserSelectedFinish"
+    />
+  </div>
+</template>
+<script setup>
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useUserStoreHook,
+} from "@/store";
+
+// 数据字典相关
+const { dicts } = useDictionaryStore();
+const userStore = useUserStoreHook();
+
+// 传入一个url,后面不带/
+const {
+  form,
+  data,
+  option,
+  search,
+  page,
+  toDeleteIds,
+  Methords,
+  Utils,
+  commonConfig,
+} = useCrud({
+  src: "/api/v1/process/info",
+});
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+const onUserSelectedFinish = (selectedValue) => {
+  form.value.operator = selectedValue.userName;
+};
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const userRef = ref(null);
+const refreshTra = (row) => {
+  commonConfig.value.params = { seqNo: row.seqNo };
+  dataList();
+};
+defineExpose({ refreshTra });
+onMounted(() => {
+  if (userStore.user.userId === 10000) {
+    option.value.menu = true;
+    option.value.editBtn = true;
+  }
+});
+
+option.value = Object.assign(option.value, {
+  selection: false,
+  border: true,
+  index: false,
+  expandLevel: 3,
+  headerAlign: "center",
+  align: "center",
+  labelWidth: 100,
+  addBtn: false,
+  delBtn: false,
+  menuWidth: 100,
+  editBtn: false,
+  viewBtn: false,
+  menu: false,
+  header: false,
+  column: [
+    {
+      label: "生产过程id",
+      prop: "id",
+      display: false,
+      hide: true,
+      width: 120,
+    },
+    {
+      label: "工序名称",
+      prop: "operationName",
+      editDisplay: false,
+      width: 120,
+    },
+    {
+      label: "工段",
+      prop: "workSection",
+      editDisplay: false,
+      type: "select",
+      dicData: dicts.workshop_section,
+      props: {
+        label: "dictLabel",
+        value: "dictValue",
+      },
+    },
+    {
+      label: "状态",
+      editDisplay: false,
+      prop: "currentState",
+      search: false,
+      dicData: dicts.process_state,
+      props: {
+        label: "dictLabel",
+        value: "dictValue",
+      },
+    },
+    {
+      label: "开始时间",
+      prop: "realStartWhen",
+      search: false,
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
+      width: 160,
+      type: "datetime",
+      rules: [
+        {
+          validator: (rule, value, callback) => {
+            if (value == null || form.value.realEndWhen == null) {
+              callback();
+            } else if (
+              new Date(value).getTime() <=
+              new Date(form.value.realEndWhen).getTime()
+            ) {
+              callback();
+            } else {
+              callback(new Error("开始时间应小于等于结束时间"));
+            }
+          },
+          message: "开始时间应小于等于结束时间",
+          required: true,
+          trigger: "change",
+        },
+      ],
+    },
+    {
+      label: "结束时间",
+      prop: "realEndWhen",
+      format: "YYYY-MM-DD HH:mm:ss",
+      valueFormat: "YYYY-MM-DD HH:mm:ss",
+      width: 160,
+      type: "datetime",
+      rules: [
+        {
+          validator: (rule, value, callback) => {
+            if (value == null || form.value.realStartWhen == null) {
+              callback();
+            } else if (
+              new Date(value).getTime() >=
+              new Date(form.value.realStartWhen).getTime()
+            ) {
+              callback();
+            } else {
+              callback(new Error("\结束时间应大于等于结束时间"));
+            }
+          },
+          required: true,
+          message: "结束时间应大于等于开始时间",
+          trigger: "change",
+        },
+      ],
+    },
+    {
+      label: "操作人",
+      prop: "operator",
+      search: false,
+      width: 100,
+      overHidden: true,
+      click: ({ value, column }) => {
+        userRef.value.startSelect();
+      },
+    },
+    {
+      label: "工时(秒)",
+      prop: "totalTime",
+      editDisplay: false,
+      search: false,
+    },
+    {
+      label: "工步",
+      prop: "operationSort",
+      editDisplay: false,
+      search: false,
+    },
+  ],
+});
+
+// const validateTimeEnd = (rule, value, callback) => {
+//   if (value === "") {
+//     callback(new Error("Please input the password again"));
+//   } else if (value !== ruleForm.pass) {
+//     callback(new Error("Two inputs don't match!"));
+//   } else {
+//     callback();
+//   }
+// };
+</script>

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

@@ -221,7 +221,7 @@ const tabNameComRef = new Map([
 let temRow = ref({});
 const tabsEvent = (pane, ev) => {
   defaultTabName.value = pane.props.name;
-  console.log(pane.props.name, temRow.value.seqNo);
+  //console.log(pane.props.name, temRow.value.seqNo);
   if (temRow.value.seqNo) {
     tabNameComRef.get(pane.props.name)?.value.refreshTra(temRow.value);
   }