You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

134 lines
3.5 KiB

<template>
<view class="inspection-task-input" @tap="show = true">
<view>
<view v-if="text">{{ text }}</view>
<view class="inspection-task-input_placeholder" v-else>请关联督察任务</view>
</view>
<view class="inspection-task-input_icon">
<uni-icons type="down" v-if="!text"></uni-icons>
</view>
</view>
<view class="inspection-task-dialog" v-if="show">
<view class="flex search">
<view class="search-item flex justify-center" :search="searchFlag">
<view class="flex gap-8 search-item-conent">
<uni-easyinput prefixIcon="search" type="text" placeholder="搜索" :inputBorder="false" v-model="query.taskName" @focus="searchFlag = true" />
</view>
</view>
<view class="search-item flex justify-center" v-if="!searchFlag">
<view class="flex gap-8 search-item-conent">
<uni-icons customPrefix="customicons" type="filter" size="20" color="#666" />
<view>筛选</view>
</view>
</view>
<view v-else>
<view class="cancel-btn" @tap="cancleSearch">取消</view>
</view>
</view>
<view class="inspection-task-container">
<view v-for="item in tasks" class="inspection-task-item" @tap="handleSelect(item)">
<view class="row">
<view class="col col-24">
<view class="label">任务名称:</view>
<view class="content">{{ item.taskName }}</view>
</view>
<view class="col col-24">
<view class="label">参与人员:</view>
<view class="content">{{ item.persons }}</view>
</view>
<view class="col col-24">
<view class="label">督察单位:</view>
<view class="content">{{ item.supDepartName }}</view>
</view>
<view class="col col-24">
<view class="label">任务类型:</view>
<view class="content">{{ item.supervisionType }}</view>
</view>
<view class="col col-24">
<view class="label">任务内容:</view>
<view class="content">{{ item.taskContent }}</view>
</view>
<view class="col col-24">
<view class="label">督察时间:</view>
<view class="content">{{ item.beginTime }} ~ {{ item.endTime }}</view>
</view>
</view>
</view>
</view>
<view class="footer col-24">
<button type="primary" @click="handleAdd">创建督察任务</button>
</view>
</view>
</template>
<script setup>
import { ref, defineProps, defineEmits, onMounted } from 'vue';
import { listInspection } from '@/api/inspection'
defineProps({
modelValue: {
type: Object
}
})
const emit = defineEmits(['update:modelValue']);
const show = ref(false);
const query = ref({});
const searchFlag = ref(false)
const tasks = ref([]);
const text = ref('')
function cancleSearch() {
searchFlag.value = false
}
onMounted(() => {
listInspection(query.value).then(data => {
tasks.value = data.records
})
})
function handleSelect(item) {
text.value = item.taskName;
emit('update:modelValue', item.id);
show.value = false
}
</script>
<style lang="scss">
.inspection-task-input {
width: 100%;
display: flex;
justify-content: space-between;
padding-right: 10px;
.inspection-task-input_placeholder {
font-size: 12px;
color: grey;
padding-left: 6px;
}
.inspection-task-input_icon {
.uni-icons {
color: #666 !important;
}
}
}
.inspection-task-dialog {
background-color: #fff;
position: fixed;
top: 0;
/* #ifdef H5 */
top: 44px;
/* #endif */
left: 0;
right: 0;
bottom: 0;
z-index: 9999;
}
.inspection-task-container {
padding: 0 24rpx;
.inspection-task-item {
padding: 24rpx 0;
box-shadow: inset 0 -1px 0 0 #DDDDDD;
}
}
</style>