|
@@ -1,6 +1,9 @@
|
|
|
<template>
|
|
<template>
|
|
|
<scroll-view scroll-y class="container">
|
|
<scroll-view scroll-y class="container">
|
|
|
- <view class="record-card">
|
|
|
|
|
|
|
+ <view class="banner">
|
|
|
|
|
+ <text class="banner-title">拍照点</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="record-card">
|
|
|
<u-sticky bgColor="#fff">
|
|
<u-sticky bgColor="#fff">
|
|
|
<u-tabs :list="tabsList"
|
|
<u-tabs :list="tabsList"
|
|
|
lineWidth="30"
|
|
lineWidth="30"
|
|
@@ -19,9 +22,9 @@
|
|
|
></u-tabs>
|
|
></u-tabs>
|
|
|
</u-sticky>
|
|
</u-sticky>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="record-card" v-for="item in records" :key="item.id" v-show="current == item.id">
|
|
|
|
|
|
|
+ <view class="record-card" v-for="item in records" :key="item.sxid" v-show="current == item.sxid">
|
|
|
<view class="header-row">
|
|
<view class="header-row">
|
|
|
- <text class="department">{{ item.index }}</text>
|
|
|
|
|
|
|
+ <text class="department">{{ item.photoitem }}</text>
|
|
|
<text class="status" :class="{'status-cancelled': item.status === '已取消'}">{{ item.status }}</text>
|
|
<text class="status" :class="{'status-cancelled': item.status === '已取消'}">{{ item.status }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
@@ -32,17 +35,17 @@
|
|
|
|
|
|
|
|
<view class="info-row">
|
|
<view class="info-row">
|
|
|
<text class="label">拍照点:</text>
|
|
<text class="label">拍照点:</text>
|
|
|
- <text class="value">{{ item.position }}</text>
|
|
|
|
|
|
|
+ <text class="value">{{ item.part }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<view class="info-row">
|
|
<view class="info-row">
|
|
|
<text class="label">描述:</text>
|
|
<text class="label">描述:</text>
|
|
|
- <text class="value">{{ item.description }}</text>
|
|
|
|
|
|
|
+ <text class="value">{{ item.descb }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<view class="info-row">
|
|
<view class="info-row">
|
|
|
<text class="label">位置编号:</text>
|
|
<text class="label">位置编号:</text>
|
|
|
- <text class="value">{{ item.positionNo }}</text>
|
|
|
|
|
|
|
+ <text class="value">{{ item.partno }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<view class="info-row">
|
|
<view class="info-row">
|
|
@@ -50,9 +53,32 @@
|
|
|
<text class="value">{{ item.num }}</text>
|
|
<text class="value">{{ item.num }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
- <button class="cancel-btn" v-if="item.status === '未执行'" @click="cancel(item.id)">
|
|
|
|
|
|
|
+ <button class="cancel-btn" v-if="item.status === '未执行'" @click="cancel(item.sxid)">
|
|
|
拍照
|
|
拍照
|
|
|
</button>
|
|
</button>
|
|
|
|
|
+ <u-gap bgColor="transparent" height="15"></u-gap>
|
|
|
|
|
+ <view class="info-row" >
|
|
|
|
|
+ <view v-for="(tag,index) in item.imgname" :key="index" >
|
|
|
|
|
+ <u-tag
|
|
|
|
|
+ :text="tag"
|
|
|
|
|
+ size="medium"
|
|
|
|
|
+ closable
|
|
|
|
|
+ :show="closeTags[index]"
|
|
|
|
|
+ @close="closeTag(index)"
|
|
|
|
|
+ ></u-tag>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view>
|
|
|
|
|
+ <u-swiper :list="item.urlpdt" indicator indicatorMode="line" circular v-if="item.urlpdt.length>0"></u-swiper>
|
|
|
|
|
+ <u-image
|
|
|
|
|
+ :showLoading="true"
|
|
|
|
|
+ :src="item.urlspl"
|
|
|
|
|
+ :lazy-load="true"
|
|
|
|
|
+ mode="widthFix"
|
|
|
|
|
+ v-if="item.urlpdt.length == 0"
|
|
|
|
|
+ ></u-image>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
</view>
|
|
</view>
|
|
|
</scroll-view>
|
|
</scroll-view>
|
|
|
</template>
|
|
</template>
|
|
@@ -63,49 +89,50 @@
|
|
|
} from 'vue'
|
|
} from 'vue'
|
|
|
var current = ref(1)
|
|
var current = ref(1)
|
|
|
var records = ref([])
|
|
var records = ref([])
|
|
|
|
|
+ var closeTags = ref([true,true,true,true,true,true,true])
|
|
|
const tabsList = ref([{name:1},{name:2},{name:3},{name:4},{name:5},{name:6}]);
|
|
const tabsList = ref([{name:1},{name:2},{name:3},{name:4},{name:5},{name:6}]);
|
|
|
const initRecords = ref([{
|
|
const initRecords = ref([{
|
|
|
- id: 1,
|
|
|
|
|
- index: '1',
|
|
|
|
|
- productNo: 'YH0001',
|
|
|
|
|
- position: '角焊缝',
|
|
|
|
|
- description: '角片角焊缝',
|
|
|
|
|
|
|
+ sxid: 1,
|
|
|
|
|
+ senum: '1',
|
|
|
|
|
+ photoitem: 1,
|
|
|
|
|
+ productNo: 'YH0001',
|
|
|
|
|
+ part: '角焊缝',
|
|
|
|
|
+ descb: '角片角焊缝',
|
|
|
date: '2025-06-05',
|
|
date: '2025-06-05',
|
|
|
- positionNo: 'TD10-01',
|
|
|
|
|
|
|
+ partno: 'TD10-01',
|
|
|
num: 2,
|
|
num: 2,
|
|
|
status: '未执行',
|
|
status: '未执行',
|
|
|
|
|
+ urlspl: '/static/images/banner/banner01.jpg',
|
|
|
|
|
+ imgname: ['1.jpg','2.jpg'],
|
|
|
|
|
+ urlpdt: ['/static/images/banner/banner02.jpg', '/static/images/banner/banner03.jpg']
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- id: 2,
|
|
|
|
|
- index: '2',
|
|
|
|
|
|
|
+ sxid: 2,
|
|
|
|
|
+ senum: '2',
|
|
|
|
|
+ photoitem: 2,
|
|
|
productNo: 'YH0002',
|
|
productNo: 'YH0002',
|
|
|
- position: '角焊缝',
|
|
|
|
|
- description: '角片角焊缝',
|
|
|
|
|
|
|
+ part: '角焊缝',
|
|
|
|
|
+ descb: '角片角焊缝',
|
|
|
date: '2025-06-05',
|
|
date: '2025-06-05',
|
|
|
- positionNo: 'TD10-01',
|
|
|
|
|
|
|
+ partno: 'TD10-02',
|
|
|
num: 3,
|
|
num: 3,
|
|
|
status: '未执行',
|
|
status: '未执行',
|
|
|
|
|
+ urlspl: '/static/images/banner/banner01.jpg',
|
|
|
|
|
+ imgname: ['1.jpg','2.jpg','3.jpg'],
|
|
|
|
|
+ urlpdt: []
|
|
|
},
|
|
},
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
- records.value = initRecords.value[0];
|
|
|
|
|
- console.log(records.value);
|
|
|
|
|
- const tabsClick = (item) =>{
|
|
|
|
|
- current = item.name
|
|
|
|
|
- records.value = initRecords.value.filter(item=>item.id == current)
|
|
|
|
|
|
|
+ records.value = initRecords.value.filter(item=>item.photoitem == current.value)
|
|
|
|
|
+ const tabsClick = (obj) =>{
|
|
|
|
|
+ current = obj.name
|
|
|
|
|
+ records.value = initRecords.value.filter(item=>item.photoitem == current)
|
|
|
|
|
+ }
|
|
|
|
|
+ const closeTag = (index) =>{
|
|
|
|
|
+ closeTags.value[index] = false
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const cancel = (id) => {
|
|
const cancel = (id) => {
|
|
|
- /*
|
|
|
|
|
- const index = records.value.findIndex((r) => r.id === id)
|
|
|
|
|
- if (index !== -1) {
|
|
|
|
|
- records.value[index].status = '已取消'
|
|
|
|
|
- // 这里可以扩展调用接口逻辑
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '挂号已取消',
|
|
|
|
|
- icon: 'success',
|
|
|
|
|
- })
|
|
|
|
|
- } */
|
|
|
|
|
uni.navigateTo({
|
|
uni.navigateTo({
|
|
|
url: `/pages/work/record/PhotoList?id=${id}`
|
|
url: `/pages/work/record/PhotoList?id=${id}`
|
|
|
})
|
|
})
|
|
@@ -122,7 +149,22 @@
|
|
|
gap: 24rpx;
|
|
gap: 24rpx;
|
|
|
font-family: "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
font-family: "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ .banner {
|
|
|
|
|
+ background: linear-gradient(135deg, #6dd5ed, #2193b0);
|
|
|
|
|
+ border-radius: 24rpx;
|
|
|
|
|
+ padding: 40rpx 30rpx;
|
|
|
|
|
+ margin-bottom: 40rpx;
|
|
|
|
|
+ box-shadow: 0 8rpx 16rpx rgba(33, 147, 176, 0.3);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .banner-title {
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ font-size: 36rpx;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/* 卡片整体 */
|
|
/* 卡片整体 */
|
|
|
.record-card {
|
|
.record-card {
|
|
|
background: #ffffff;
|
|
background: #ffffff;
|