bjang03
7 months ago
5 changed files with 262 additions and 15 deletions
@ -0,0 +1,87 @@ |
|||||
|
<template> |
||||
|
<view class="container" v-for="item in data"> |
||||
|
<u-tag key="{{item.value}}">{{ item.text }}</u-tag> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
/* 初始化 */ |
||||
|
import { onShow } from '@dcloudio/uni-app' |
||||
|
import { getCurrentInstance, ref, defineExpose } from 'vue' |
||||
|
|
||||
|
const { proxy } = getCurrentInstance() |
||||
|
|
||||
|
const data = ref([]) |
||||
|
defineExpose({ data }) |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.container { |
||||
|
background: #f5f5f5; |
||||
|
min-height: 100vh; |
||||
|
margin: 10rpx; |
||||
|
} |
||||
|
|
||||
|
.list { |
||||
|
background: #f5f5f5; |
||||
|
margin-top: 20rpx; |
||||
|
|
||||
|
.item { |
||||
|
padding: 30rpx 30rpx 0px 30rpx; |
||||
|
margin-top: 20rpx; |
||||
|
background: white; |
||||
|
position: relative; |
||||
|
|
||||
|
.title { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
padding-bottom: 20rpx; |
||||
|
|
||||
|
.title-txt { |
||||
|
color: #409eff; |
||||
|
font-weight: bold; |
||||
|
font-size: 36rpx; |
||||
|
width: 0px; |
||||
|
flex: 1; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
|
||||
|
.time { |
||||
|
color: #919191; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.dec { |
||||
|
padding-bottom: 20rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
view { |
||||
|
&:nth-child(1) { |
||||
|
width: 160rpx; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(2) { |
||||
|
color: #999999; |
||||
|
flex: 1; |
||||
|
width: 0px; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.last { |
||||
|
padding-bottom: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
border-top: 1px solid #e4e4e4; |
||||
|
padding: 20rpx 0px; |
||||
|
height: 90rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -1,14 +0,0 @@ |
|||||
<template> |
|
||||
<view> |
|
||||
|
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script setup lang="ts"> |
|
||||
|
|
||||
</script> |
|
||||
|
|
||||
|
|
||||
<style scoped lang="scss"> |
|
||||
|
|
||||
</style> |
|
@ -0,0 +1,161 @@ |
|||||
|
<template> |
||||
|
<view class="container"> |
||||
|
<view class="list"> |
||||
|
<view> |
||||
|
<u-search :show-action="true" v-model="data.searchValue" action-text="搜索" input-align="left" height="65" border-color="#ff9900" @search="alert()"></u-search> |
||||
|
</view> |
||||
|
<scroll-view scroll-y="true" class="scroll-Y"> |
||||
|
<u-checkbox-group class="item" @change="checkChange"> |
||||
|
<u-checkbox class="dec" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.personName">{{ item.personName }}</u-checkbox> |
||||
|
</u-checkbox-group> |
||||
|
</scroll-view> |
||||
|
|
||||
|
|
||||
|
<!-- <view class="item" v-for="(item, index) in list" :key="index" @click="openDetail(item)">--> |
||||
|
<!-- <view class="dec">--> |
||||
|
<!-- <view>{{ item.workerName }}</view>--> |
||||
|
<!-- <view>1</view>--> |
||||
|
<!-- </view>--> |
||||
|
<!-- </view>--> |
||||
|
</view> |
||||
|
</view> |
||||
|
<u-alert-tips type="error" :title="系统提示" close-text="close" :description="请选择人员" :close-able="true" :show="show"></u-alert-tips> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
/* 初始化 */ |
||||
|
import { onShow } from '@dcloudio/uni-app' |
||||
|
import { getCurrentInstance, ref } from 'vue' |
||||
|
/* 引入API */ |
||||
|
import tags from '@components/tags/index.vue' |
||||
|
import * as workSchedulingApi from '@/api/mes/workScheduling' |
||||
|
|
||||
|
const { proxy } = getCurrentInstance() |
||||
|
|
||||
|
tags.data = ref([ |
||||
|
{ |
||||
|
text: '1', |
||||
|
value: '2' |
||||
|
} |
||||
|
]) |
||||
|
const data = ref({ |
||||
|
searchValue: '' |
||||
|
}) |
||||
|
let show = false |
||||
|
|
||||
|
/* 是否显示"没有更多了" */ |
||||
|
const status = ref('loadmore') |
||||
|
/* 列表数据集 */ |
||||
|
const list = ref([]) |
||||
|
function checkChange(checkedArray: string | any[]) { |
||||
|
if (checkedArray.length == 0){ |
||||
|
show = true |
||||
|
} |
||||
|
} |
||||
|
/* 列表调用API方法 */ |
||||
|
async function getList() { |
||||
|
if (status.value === 'nomore') return |
||||
|
status.value = 'loading' |
||||
|
proxy.$modal.loading('加载中') |
||||
|
await workSchedulingApi |
||||
|
.getConfigProcessWorker({ |
||||
|
planDayCode: 'PO20240426-0022', |
||||
|
processCode: 'FF-CY-002', |
||||
|
teamCode: 'T01' |
||||
|
}) |
||||
|
.then((res) => { |
||||
|
proxy.$modal.closeLoading() |
||||
|
if (res.data.length > 0) { |
||||
|
list.value = res.data |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
proxy.$modal.closeLoading() |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
/* 打开详情页 */ |
||||
|
function openDetail(item: any) { |
||||
|
console.log(item) |
||||
|
// proxy.$tab.navigateTo(`/pages/mes/orderDapPlan/detail?obj=${item}`) |
||||
|
} |
||||
|
|
||||
|
/* 通用方法 */ |
||||
|
onShow(() => { |
||||
|
list.value = [] |
||||
|
getList() |
||||
|
}) |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.container { |
||||
|
background: #f5f5f5; |
||||
|
min-height: 100vh; |
||||
|
} |
||||
|
|
||||
|
.list { |
||||
|
background: #f5f5f5; |
||||
|
margin-top: 20rpx; |
||||
|
|
||||
|
.item { |
||||
|
padding: 30rpx 30rpx 0px 30rpx; |
||||
|
margin-top: 20rpx; |
||||
|
background: white; |
||||
|
position: relative; |
||||
|
|
||||
|
.title { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
padding-bottom: 20rpx; |
||||
|
|
||||
|
.title-txt { |
||||
|
color: #409eff; |
||||
|
font-weight: bold; |
||||
|
font-size: 36rpx; |
||||
|
width: 0px; |
||||
|
flex: 1; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
|
||||
|
.time { |
||||
|
color: #919191; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.dec { |
||||
|
padding-bottom: 20rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
view { |
||||
|
&:nth-child(1) { |
||||
|
width: 160rpx; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(2) { |
||||
|
color: #999999; |
||||
|
flex: 1; |
||||
|
width: 0px; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.last { |
||||
|
padding-bottom: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
border-top: 1px solid #e4e4e4; |
||||
|
padding: 20rpx 0px; |
||||
|
height: 90rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
::v-deep .u-checkbox-group { |
||||
|
display: grid !important; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue