刘妍 2024-07-25 15:07:29 +08:00
commit 1e4ea870bf
6 changed files with 199 additions and 47 deletions

View File

@ -189,7 +189,7 @@
</template>
<script setup lang="ts">
import { onMounted, ref, defineEmits, computed, h } from 'vue';
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
import Icon from '@/components/Icon/Icon.vue';
import { getLoadTaskIllegalDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
@ -217,7 +217,22 @@
const type = ref('');
const order = ref(0)
const auditOpen = ref(false);
const showDataIndex = ref()
const showDataId = ref()
const nextShowDataId = ref()
const prevShowDataId = ref()
watch(() => showDataId.value, () => {
let index = dataList.value.findIndex(item => item.Id == showDataId.value)
if(index < dataList.value.length - 1){
nextShowDataId.value = dataList.value[index + 1].Id
}else{
nextShowDataId.value = 0
}
if(index > 0){
prevShowDataId.value = dataList.value[index - 1].Id
}else{
prevShowDataId.value = 0
}
})
const handoffShow = ref(true)
const openCollect = computed(() => {
if(params.value.type === null) return false
@ -264,7 +279,7 @@
getTaskList();
}
async function goAudit(record) {
showDataIndex.value = dataList.value.findIndex(item => item.taskeid === record.taskeid)
showDataId.value = record.Id
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
@ -302,20 +317,32 @@
})
}
const prevData = async () => {
if(showDataIndex.value === 0){
if(params.value.page === 1){
if(prevShowDataId.value === 0){
if(params.value.page === 1 || total.value == 0){
message.warning('已经是第一条数据了')
return
}
pageNumber.value = pageNumber.value - 1
params.value.page = params.value.page -1
await getTaskList();
showDataIndex.value = dataList.value.length -1
// showDataIndex.value = dataList.value.length -1
handoffShow.value = false
let record = dataList.value[dataList.value.length -1]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskeid;
type.value = record.type;
handoffShow.value = true
showDataId.value = dataList.value[dataList.value.length - 1].Id
return
}else{
showDataIndex.value = showDataIndex.value -1
showDataId.value = prevShowDataId.value
}
handoffShow.value = false
let record = dataList.value[showDataIndex.value]
let record = dataList.value.find(item => item.Id == showDataId.value)
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
@ -326,20 +353,32 @@
handoffShow.value = true
}
const nextData = async () => {
if(showDataIndex.value === dataList.value.length -1){
if(Math.ceil(total.value / pageSizeNumber.value) === pageNumber.value){
if(nextShowDataId.value === 0){
if(Math.ceil(total.value / pageSizeNumber.value) <= pageNumber.value || total.value == 0){
message.warning('已经是最后一条数据了')
return
}
pageNumber.value = pageNumber.value + 1
params.value.page = params.value.page + 1
await getTaskList();
showDataIndex.value = 0
// showDataIndex.value = 0
handoffShow.value = false
let record = dataList.value[0]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskeid;
type.value = record.type;
handoffShow.value = true
showDataId.value = dataList.value[0].Id
return
}else{
showDataIndex.value = showDataIndex.value + 1
showDataId.value = nextShowDataId.value
}
handoffShow.value = false
let record = dataList.value[showDataIndex.value]
let record = dataList.value.find(item => item.Id == showDataId.value)
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;

View File

@ -188,7 +188,7 @@
</template>
<script setup lang="ts">
import { onMounted, ref, defineEmits, computed, h } from 'vue';
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
import Icon from '@/components/Icon/Icon.vue';
import { getLoadTaskDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
@ -216,12 +216,27 @@
const type = ref('');
const order = ref(0)
const auditOpen = ref(false);
const showDataIndex = ref()
const showDataId = ref()
const handoffShow = ref(true)
const openCollect = computed(() => {
if(params.value.type === null) return false
return true
})
const nextShowDataId = ref()
const prevShowDataId = ref()
watch(() => showDataId.value, () => {
let index = dataList.value.findIndex(item => item.Id == showDataId.value)
if(index < dataList.value.length - 1){
nextShowDataId.value = dataList.value[index + 1].Id
}else{
nextShowDataId.value = 0
}
if(index > 0){
prevShowDataId.value = dataList.value[index - 1].Id
}else{
prevShowDataId.value = 0
}
})
const params = ref({
page: 1,
limit: 10,
@ -262,7 +277,7 @@
getTaskList();
}
async function goAudit(record) {
showDataIndex.value = dataList.value.findIndex(item => item.taskeid === record.taskeid)
showDataId.value = record.Id
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
@ -300,20 +315,32 @@
})
}
const prevData = async () => {
if(showDataIndex.value === 0){
if(params.value.page === 1){
if(prevShowDataId.value === 0){
if(params.value.page === 1 || total.value == 0){
message.warning('已经是第一条数据了')
return
}
pageNumber.value = pageNumber.value - 1
params.value.page = params.value.page -1
await getTaskList();
showDataIndex.value = dataList.value.length -1
// showDataIndex.value = dataList.value.length -1
handoffShow.value = false
let record = dataList.value[dataList.value.length -1]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskeid;
type.value = record.type;
handoffShow.value = true
showDataId.value = dataList.value[dataList.value.length - 1].Id
return
}else{
showDataIndex.value = showDataIndex.value -1
showDataId.value = prevShowDataId.value
}
handoffShow.value = false
let record = dataList.value[showDataIndex.value]
let record = dataList.value.find(item => item.Id == showDataId.value)
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
@ -324,20 +351,32 @@
handoffShow.value = true
}
const nextData = async () => {
if(showDataIndex.value === dataList.value.length -1){
if(Math.ceil(total.value / pageSizeNumber.value) === pageNumber.value){
if(nextShowDataId.value === 0){
if(Math.ceil(total.value / pageSizeNumber.value) <= pageNumber.value || total.value == 0){
message.warning('已经是最后一条数据了')
return
}
pageNumber.value = pageNumber.value + 1
params.value.page = params.value.page + 1
await getTaskList();
showDataIndex.value = 0
// showDataIndex.value = 0
handoffShow.value = false
let record = dataList.value[0]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskeid;
type.value = record.type;
handoffShow.value = true
showDataId.value = dataList.value[0].Id
return
}else{
showDataIndex.value = showDataIndex.value + 1
showDataId.value = nextShowDataId.value
}
handoffShow.value = false
let record = dataList.value[showDataIndex.value]
let record = dataList.value.find(item => item.Id == showDataId.value)
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;

View File

@ -28,9 +28,9 @@
<a-descriptions-item label="农用地面积(亩)">{{ dataProcessing(nongyongdi_area) }}</a-descriptions-item>
<a-descriptions-item label="耕地面积(亩)">{{ dataProcessing(gengdi_area) }}</a-descriptions-item>
<a-descriptions-item label="基本农田面积(亩)">{{ dataProcessing(yongjiujibennongtian_area) }}</a-descriptions-item>
<a-descriptions-item label="占重点区域面积(亩)">{{ dataProcessing(zhongdianquyu_area) }}</a-descriptions-item>
<!-- <a-descriptions-item label="占重点区域面积(亩)">{{ dataProcessing(zhongdianquyu_area) }}</a-descriptions-item> -->
<a-descriptions-item label="占生态红线面积(亩)">{{ dataProcessing(shengtaibaohuhongxian_area) }}</a-descriptions-item>
<a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item>
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{ case_description }}</a-descriptions-item>
<a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item>
<a-descriptions-item label="备注">{{ remark }}</a-descriptions-item>

View File

@ -43,15 +43,15 @@
<a-descriptions-item label="基本农田面积(亩)">{{
dataProcessing(yongjiujibennongtian_area)
}}</a-descriptions-item>
<a-descriptions-item label="占重点区域面积(亩)">{{
<!-- <a-descriptions-item label="占重点区域面积(亩)">{{
dataProcessing(zhongdianquyu_area)
}}</a-descriptions-item>
}}</a-descriptions-item> -->
<a-descriptions-item label="占生态红线面积(亩)">{{
dataProcessing(shengtaibaohuhongxian_area)
}}</a-descriptions-item>
<a-descriptions-item label="占空间规划面积(亩)">{{
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{
dataProcessing(guotukongjianguihua_area)
}}</a-descriptions-item>
}}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{ case_description }}</a-descriptions-item>
<a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item>
<a-descriptions-item label="备注">{{ remark }}</a-descriptions-item>

View File

@ -284,10 +284,10 @@
</template>
<script setup lang="ts">
import { ref, onMounted, defineEmits, defineProps, computed, h } from "vue"
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
import Icon from '@/components/Icon/Icon.vue';
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, } from '@/api/tiankongdi/index.ts';
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
import {
batchOptions,
yearOptions,
@ -317,6 +317,7 @@ const emits = defineEmits([
"infoDataListSort",
"collectChange",
"resetScreenData",
"changeInfoDataList",
])
const props = defineProps([
"infoScreenData",
@ -343,19 +344,20 @@ const orderMark = () => {
}
const showInfoOpen = ref(false)
const showDataId = ref()
const nextShowDataId = computed(() => {
const nextShowDataId = ref()
const prevShowDataId = ref()
watch(() => showDataId.value, () => {
let index = props.infoDataList.findIndex(item => item.id == showDataId.value)
if(index < props.infoDataList.length - 1){
return props.infoDataList[index + 1].id
nextShowDataId.value = props.infoDataList[index + 1].id
}else{
nextShowDataId.value = 0
}
return 0
})
const prevShowDataId = computed(() => {
let index = props.infoDataList.findIndex(item => item.id == showDataId.value)
if(index > 0){
return props.infoDataList[index -1].id
prevShowDataId.value = props.infoDataList[index - 1].id
}else{
prevShowDataId.value = 0
}
return 0
})
const auditOpen = ref(false);
const processId = ref('');
@ -469,8 +471,21 @@ const prevData = async () => {
message.warning('已经是第一条数据了')
return
}
await emits('changeInfoPage',props.pageNo - 1,props.pageSize)
showDataId.value = props.infoDataList[length -1].id
getLoadDroneCaseInfoDetail(getParams({page: props.pageNo - 1})).then(async res => {
emits('changeInfoDataList',res.items,res.total,props.pageNo - 1)
handoffShow.value = false
let record = res.items[res.items.length -1]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskid;
type.value = record.type;
handoffShow.value = true
showDataId.value = res.items[res.items.length -1].id
})
return
}else{
showDataId.value = prevShowDataId.value
}
@ -487,12 +502,25 @@ const prevData = async () => {
}
const nextData = async () => {
if(nextShowDataId.value === 0){
if((Math.ceil(props.total / props.pageSize) === props.pageNo) || props.total == 0){
if((Math.ceil(props.total / props.pageSize) <= props.pageNo) || props.total == 0){
message.warning('已经是最后一条数据了')
return
}
await emits('changeInfoPage',props.pageNo + 1,props.pageSize)
showDataId.value = props.infoDataList[0].id
getLoadDroneCaseInfoDetail(getParams({page: props.pageNo + 1})).then(async res => {
emits('changeInfoDataList',res.items,res.total,props.pageNo + 1)
handoffShow.value = false
let record = res.items[0]
let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content);
let wfData = scheme.wfData;
flowWfDataStore.setWfDataAll(wfData);
processId.value = record.processid;
taskId.value = record.taskid;
type.value = record.type;
handoffShow.value = true
showDataId.value = res.items[0].id
})
return
}else{
showDataId.value = nextShowDataId.value
}
@ -510,6 +538,46 @@ const nextData = async () => {
const closeMolder = () => {
emits('getInfoList')
}
const getParams = (data) => {
let result = {}
let params = {
landType: props.infoScreenData.landType, //0 1
isOutTime: props.infoScreenData.isOverdue, //
year: props.infoScreenData.year, //
tubanlaiyuan: props.infoScreenData.patchSource, //
picihao: props.infoScreenData.batch, //
streetid: props.infoScreenData.streetId,
caseNo: props.infoScreenData.mapNo, //
startTime: props.infoScreenData.startTime, //
endTime: props.infoScreenData.endTime, //
nowStatus: props.infoScreenData.mapStatus, //
isBuildName: props.infoScreenData.markType, //
tubanArea1: props.infoScreenData.mapAreaFirst, // 1
tubanArea2: props.infoScreenData.mapAreaLast, // 2
gengdiArea1: props.infoScreenData.arableAreaFirst, //1
gengdiArea2: props.infoScreenData.arableAreaLast, //2
page: props.pageNo,
limit: props.pageSize,
sortType: props.infoScreenData.sort,
order: props.infoScreenData.order,
type: props.infoScreenData.type,
...data,
}
Object.keys(params).forEach(key => {
if(params[key] !== '' && params[key] !== null){
if(key === 'nowStatus'){
result[key] = params[key].join(',')
}else if(key === 'isOutTime'){
if(params[key].length == 1){
result[key] = params[key][0]
}
}else{
result[key] = params[key]
}
}
})
return result
}
</script>
<style lang="scss" scoped>

View File

@ -31,6 +31,7 @@
@changeTask="changeTask"
@collectChange="collectChange"
@resetScreenData="resetScreenData"
@changeInfoDataList="changeInfoDataList"
/>
</a-spin>
</div>
@ -364,6 +365,11 @@ const changeInfoPage = async(page, limit) => {
pageSize.value = limit
await getInfoList()
}
const changeInfoDataList = (list,totalNumber,page) => {
infoDataList.value = list
total.value = totalNumber
pageNo.value = page
}
const collectChange = (value) => {
pageNo.value = 1
infoScreenData.value.type = value