From af4f45eaa2703ecf991bd10f07f6df179f2677d9 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 十一月 2025 10:04:45 +0800
Subject: [PATCH] Merge branch 'refs/heads/yyb'
---
src/pages/routingInspection/product_card/index.vue | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 202 insertions(+), 0 deletions(-)
diff --git a/src/pages/routingInspection/product_card/index.vue b/src/pages/routingInspection/product_card/index.vue
new file mode 100644
index 0000000..dd95bd5
--- /dev/null
+++ b/src/pages/routingInspection/product_card/index.vue
@@ -0,0 +1,202 @@
+<template>
+ <wd-card class="card_bg" @click="handleCardClick">
+ <template #title>
+ <view class="flex justify-between w-full">
+ <text class="font-medium text-[#252525]">璁板綍浣嶇疆: {{ data[map.recordPosition] }}</text>
+ <wd-tag color="#0D867F" bg-color="#E7F4EC">
+ <text class="text-xs">{{ data[map.model] }}</text>
+ </wd-tag>
+ </view>
+ </template>
+ <wd-row class="my-2">
+ <wd-col :span="24">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 鐝:
+ <text class="text-[#252525]">{{ data[map.workShift] }}</text>
+ </text>
+ </view>
+ </wd-col>
+ </wd-row>
+ <wd-row class="my-2">
+ <wd-col :span="24">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 鐝粍:
+ <text class="text-[#252525]">
+ {{ data[map.teamName]?.slice(-2) || data[map.teamName] }}
+ </text>
+ </text>
+ </view>
+ </wd-col>
+ </wd-row>
+ <wd-row class="my-2" v-if="data[map.productType]">
+ <wd-col :span="24">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 浜у搧绫诲埆:
+ <text class="text-[#252525]">{{ data[map.productType] }}</text>
+ </text>
+ </view>
+ </wd-col>
+ </wd-row>
+ <wd-row class="my-2">
+ <wd-col :span="12">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 鑷浜�:
+ <text class="text-[#252525]">{{ data[map.inspectPerson] }}</text>
+ </text>
+ </view>
+ </wd-col>
+ <wd-col :span="12">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 鐘舵��:
+ <text class="text-[#252525]">{{ data[map.status] == 1 ? "琚┏鍥�" : "宸℃" }}</text>
+ </text>
+ </view>
+ </wd-col>
+ </wd-row>
+ <wd-row class="my-2">
+ <wd-col :span="16">
+ <view class="flex">
+ <view class="icon_box">
+ <wd-icon name="folder" color="#0D867F"></wd-icon>
+ </view>
+ <text class="text-[#646874] mx-2">
+ 璁板綍鏃堕棿:
+ <text class="text-[#252525]">{{ data[map.recordDate] }}</text>
+ </text>
+ </view>
+ </wd-col>
+ <wd-col :span="8">
+ <view class="flex" @click.stop>
+ <wd-button
+ v-if="data[map.status] == 1"
+ size="small"
+ type="primary"
+ @click="showRejectPopup = true"
+ style="margin-left: auto"
+ >
+ 鏌ョ湅椹冲洖淇℃伅
+ </wd-button>
+ </view>
+ </wd-col>
+ </wd-row>
+ </wd-card>
+ <wd-popup
+ v-model="showRejectPopup"
+ title="椹冲洖淇℃伅"
+ custom-style="border-radius:32rpx;height: 800rpx;width: 600rpx;"
+ >
+ <wd-card
+ v-for="(item, index) in data.rejectList"
+ :key="index"
+ :class="index % 2 === 0 ? 'reject-card-bg-1' : 'reject-card-bg-2'"
+ style="margin-bottom: 8px; padding: 10px; border-radius: 8px"
+ >
+ <view class="content">
+ <view>
+ <view
+ style="
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 14px;
+ margin-bottom: 8px;
+ "
+ >
+ <view>{{ item.rejectPerson }}</view>
+ <view>{{ item.rejectTime }}</view>
+ </view>
+ <view
+ style="
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 14px;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ max-width: 100%;
+ padding: 5px 0;
+ "
+ >
+ {{ item.rejectReason.reason }}
+ </view>
+ </view>
+ </view>
+ </wd-card>
+ </wd-popup>
+</template>
+
+<script setup lang="ts">
+import { ref } from "vue";
+const emit = defineEmits(["click"]);
+defineProps({
+ data: {
+ type: Object,
+ default: () => {},
+ },
+ map: {
+ type: Object,
+ default: () => {},
+ },
+});
+const showRejectPopup = ref<boolean>(false);
+const handleCardClick = () => {
+ emit("click");
+};
+</script>
+
+<style lang="scss" scoped>
+.card_bg {
+ box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.05);
+ padding-bottom: 10px;
+}
+
+// 娣诲姞锛氫袱绉嶄笉鍚岀殑鑳屾櫙鑹叉牱寮�
+.reject-card-bg-1 {
+ background-color: #f5f7fa;
+}
+
+.reject-card-bg-2 {
+ background-color: #eef2f7;
+}
+
+.page-class {
+ :deep() {
+ .custom-shadow {
+ box-shadow:
+ 0 3px 1px -2px rgb(0 0 0 / 20%),
+ 0 2px 2px 0 rgb(0 0 0 / 14%),
+ 0 1px 5px 0 rgb(0 0 0 / 12%);
+ }
+ }
+}
+
+.header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+// 淇敼锛氳皟鏁村唴瀹瑰尯鍩熺殑鏍峰紡
+.content {
+ padding: 5px;
+}
+</style>
--
Gitblit v1.9.3