Browse Source

fix:不合格处置优化

liziliang 4 days ago
parent
commit
64dde493ad

+ 5 - 2
src/views/analysis/process/index.vue

@@ -522,18 +522,20 @@ const changeSelect = () => {
 
     if (value2.value === "Xbar-R") {
       xbarrListRef.value.init(lableValue.value);
-      xbarrListRef.value.init(lableValue.value);
     } else if (value2.value === "Xbar-S") {
       xbarsListRef.value.init(lableValue.value);
-      xbarsListRef.value.init(lableValue.value);
     }
   }, 0);
 };
 const changeSelect2 = () => {
+  setTimeout(() => {
   if (value2.value === "Xbar-R") {
     xbarRRefMethod();
+    xbarrListRef.value.init(lableValue.value);
   } else if (value2.value === "Xbar-S") {
     xbarSRefMethod();
+    console.log(lableValue.value, "2200")
+    xbarsListRef.value.init(lableValue.value);
   } else if (value2.value === "P") {
     pRefMethod();
   } else if (value2.value === "NP") {
@@ -547,6 +549,7 @@ const changeSelect2 = () => {
   } else if (value2.value === "EWMA") {
     eWMARefMethod();
   }
+  }, 0);
 };
 
 // const searchData = computed(() =>

+ 95 - 51
src/views/unqualified/add.vue

@@ -16,10 +16,16 @@
             <el-select
               v-model="selectOrderCode"
               value-key="orderNo"
-              placeholder="请选择订单信息"
+              placeholder="请输入关键词搜索订单"
               style="width: 100%"
+              filterable
+              remote
+              :remote-method="remoteOrderSearch"
+              :loading="orderLoading"
+              clearable
               @change="orderSelect"
             >
+
               <el-option
                 v-for="item in orders"
                 :key="item.orderNo"
@@ -33,20 +39,24 @@
             <div>{{ selectedOrder.workOrderCode }}</div>
           </el-form-item>-->
           <el-form-item label="流转卡号" prop="seqs">
-            <el-select
-              v-model="saleForm.seqs"
-              value-key="orderCode"
-              placeholder="请选择流转卡号"
-              style="width: 100%"
-              multiple
-            >
-              <el-option
-                v-for="item in seqList"
-                :key="item.label"
-                :label="item.label"
-                :value="item.label"
-              />
-            </el-select>
+            <!--            <el-select-->
+            <!--              v-model="saleForm.seqs"-->
+            <!--              value-key="orderCode"-->
+            <!--              placeholder="请选择流转卡号"-->
+            <!--              style="width: 100%"-->
+            <!--              multiple-->
+            <!--            >-->
+            <!--              <el-option-->
+            <!--                v-for="item in seqList"-->
+            <!--                :key="item.label"-->
+            <!--                :label="item.label"-->
+            <!--                :value="item.label"-->
+            <!--              />-->
+            <!--            </el-select>-->
+            <el-input v-model="saleForm.seqs"/>
+          </el-form-item>
+          <el-form-item label="数量" prop="seqNum">
+            <el-input type="number" v-model="saleForm.seqNum"/>
           </el-form-item>
           <el-form-item label="产品分类" prop="type">
             <el-select
@@ -118,6 +128,7 @@
               format="YYYY年MM月DD日"
               value-format="YYYY年MM月DD日"
               style="width: 100%"
+              @change="updateFormHappenTime"
             />
           </el-form-item>
         </el-form>
@@ -156,6 +167,7 @@
               v-model="remark1.user1"
               :data="userList"
               filterable
+              multiple
             />
           </el-form-item>
           <el-form-item label="日期" prop="time">
@@ -174,6 +186,7 @@
               v-model="remark1.nextRemarkUser"
               :data="userList"
               filterable
+              multiple
             />
           </el-form-item>
         </el-form>
@@ -219,7 +232,7 @@ const saleForm = reactive({
   contacts: "",
   phoneNo: "",
   stage: "",
-  seqs: [],
+  seqs: "",
 });
 // 顾客投诉或建议
 const remark1Ref = ref(null);
@@ -233,20 +246,10 @@ const remark1 = reactive({
 
 const rules = {
   type: [{ required: true, message: "请选择产品分类", trigger: "blur" }],
-  componentName: [
-    { required: true, message: "请输入器件名称及型号", trigger: "blur" },
-  ],
-  num: [{ required: true, message: "请输入数量", trigger: "blur" }],
   auditType: [{ required: true, message: "请选择审核类型", trigger: "blur" }],
   seqs: [{ required: true, message: "请选择订单信息", trigger: "change" }],
-  checkProduceNo: [
-    { required: true, message: "请输入检验批号或生产批号", trigger: "change" },
-  ],
   level: [{ required: true, message: "请选择审理级别", trigger: "change" }],
-  company: [{ required: true, message: "请输入供方单位", trigger: "change" }],
-  happenTime: [
-    { required: true, message: "请选择发生时间", trigger: "change" },
-  ],
+  happenTime: [{required: true, message: "请选择发生时间", trigger: "change"}],
   stage: [{ required: true, message: "请输入发生阶段", trigger: "change" }],
 };
 const rules1 = {
@@ -265,35 +268,77 @@ const rules1 = {
   user1: [{ required: true, message: "检验人员不能为空", trigger: "blur" }],
   time: [{ required: true, message: "请选择日期", trigger: "change" }],
   nextRemarkUser: [
-    { required: true, message: "请选择处理人", trigger: "change" },
-    { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
+    {required: true, message: "请选择处理人", trigger: "blur"},
+    // { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
   ],
 };
 
 // 订单相关信息
-const orders = ref([]);
 const opOptions = ref([...dicts.spc_operation]);
 const typeList = dicts.sales_info_type;
+const allOrders = ref([]);
+// 订单相关信息
+const orders = ref([]);
 const selectedOrder = ref({});
-const selectOrderCode = ref("");
-const getOrders = async () => {
-  const res = await getOrderList({
-    pageNo: 0,
-    pageSize: 200,
+const orderLoading = ref(false); // 注意这里要改为ref
+const selectOrderCode = ref(null); // 初始化为null
+const searchQuery = ref('') // 使用ref创建的响应式变量
+// 远程搜索方法 - 调用后台API
+// 远程搜索方法(调用后端API)
+const remoteOrderSearch = async (query) => {
+  searchQuery.value = query;
+  if (query === '') {
+    // 如果搜索词为空,显示初始列表
+    await getOrders();
+    return;
+  }
+
+  orderLoading.value = true;
+  try {
+    const res = await getOrderList({
+      pageNo: 0,
+      pageSize: 15,
+      orderNo: query,
+    });
+    orders.value = res.data.records || [];
+  } catch (error) {
+    console.error('搜索订单失败:', error);
+    orders.value = [];
+  } finally {
+    orderLoading.value = false;
+  }
+};
+const updateFormHappenTime = (newValue) => {
+
+  saleForm.happenTime = newValue.replace(/年|月|日/g, match => {
+    return {'年': '-', '月': '-', '日': ''}[match];
   });
-  orders.value = res.data.records;
-  if (orders.value.length > 0) {
-    // selectOrderCode.value = orders.value[0].orderCode;
-    // selectedOrder.value = orders.value[0];
+  console.log(saleForm.happenTime, "dsdfds")
+
+};
+const getOrders = async () => {
+  orderLoading.value = true;
+  try {
+    const res = await getOrderList({
+      pageNo: 0,
+      pageSize: 15,
+    });
+    orders.value = res.data.records || [];
+  } catch (error) {
+    console.error('获取订单列表失败:', error);
+    orders.value = [];
+  } finally {
+    orderLoading.value = false;
   }
 };
 const orderSelect = (value) => {
+  console.log(value);
   selectedOrder.value = value;
-  seqList.value = selectedOrder.value.seqs.map((item, index) => ({
-    value: item,
-    label: item,
-  }));
-  saleForm.seqs = [];
+  // seqList.value = selectedOrder.value.seqs.map((item, index) => ({
+  //   value: item,
+  //   label: item,
+  // }));
+  saleForm.seqs = "";
 };
 
 const seqList = ref([]);
@@ -332,9 +377,9 @@ const cancelClick = () => {
 const feedBackEmit = defineEmits(["finish"]);
 
 const confirmClick = () => {
-  console.log(saleForm);
-  console.log(remark1);
-  console.log(selectedOrder.value);
+  console.log(saleForm, "11");
+  console.log(remark1, 22);
+  console.log(selectedOrder.value, 55);
 
   // drawerVisible.value = false;
 
@@ -353,7 +398,7 @@ const confirmClick = () => {
       let remark1Copy = {
         content: remark1.content,
         user: remark1.user,
-        user1: remark1.user1,
+        user1: remark1.user1.join(","),
         time: remark1.time,
       };
       let remark2 = {
@@ -365,12 +410,11 @@ const confirmClick = () => {
       let p = {
         ...saleForm,
         ...selectedOrder.value,
-        currentUserName: remark1.nextRemarkUser,
+        currentUserName: remark1.nextRemarkUser.join(","),
         remark1: JSON.stringify(remark1Copy),
         remark2: JSON.stringify(remark2),
       };
-
-      p.seqs = saleForm.seqs.join(",");
+      p.seqs = saleForm.seqs;
 
       addFeedback(p).then(() => {
         feedBackEmit("finish");

+ 2 - 2
src/views/unqualified/handle20.vue

@@ -64,7 +64,7 @@
             :autosize="{ minRows: 3, maxRows: 6 }"
           />
         </el-form-item>
-        <el-form-item label="分析单位" prop="users">
+        <el-form-item label="责任部门" prop="users">
           <!--        <el-tree-select-->
           <!--          v-model="remark.users"-->
           <!--          :data="userList"-->
@@ -93,7 +93,7 @@
             :autosize="{ minRows: 3, maxRows: 6 }"
           />
         </el-form-item>
-        <el-form-item label="分析单位" prop="user5">
+        <el-form-item label="责任部门" prop="user5">
           <!--        <el-tree-select-->
           <!--          v-model="remark.user5"-->
           <!--          :data="userList"-->