| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |