From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/views/fysp/task/MonitorObjEdit.vue | 230 ++++++++++++++++-----------------------------------------
1 files changed, 64 insertions(+), 166 deletions(-)
diff --git a/src/views/fysp/task/MonitorObjEdit.vue b/src/views/fysp/task/MonitorObjEdit.vue
index 1cd37c6..219bc98 100644
--- a/src/views/fysp/task/MonitorObjEdit.vue
+++ b/src/views/fysp/task/MonitorObjEdit.vue
@@ -1,175 +1,73 @@
<template>
- <el-page-header @back="$router.back()" class="page-header">
- <template #content>
- <span> 鎬讳换鍔$紪杈� </span>
- </template>
- </el-page-header>
- <el-divider />
- <el-row gutter="20">
- <el-col :span="16">
- <div>
- <el-text>宸查�夊満鏅�</el-text>
- </div>
- <el-divider />
- <CompMonitorObj :data="curMonitorObjList" @tab-change="changeSceneType" :showDelete="true">
- <!-- <template #default="{ item }">
- <el-button size="small" type="danger" @click="deleteMov(item)">绉婚櫎</el-button>
- </template> -->
- </CompMonitorObj>
- </el-col>
- <el-col :span="8">
- <div>
- <el-text>鍙�夊満鏅�</el-text>
- </div>
- <el-divider />
- <FYInfoSearch
- label=""
- placeholder="璇疯緭鍏ュ満鏅悕绉板叧閿瓧"
- :data="showSceneList"
- :on-search="searchScene"
- :total="total"
- scroll-height="70vh"
- :page-show="false"
- >
- <template #default="{ row, click }">
- <ItemScene :item="row">
- <el-button-group>
- <el-button size="small" type="primary" @click="insertDialog = true">鎻掑叆</el-button>
- <el-button size="small" type="primary" @click="addDialog = true">鏂板</el-button>
- </el-button-group>
- </ItemScene>
+ <!-- <el-affix :offset="60" target=".el-main"> -->
+ <div class="page-header">
+ <el-page-header @back="goBack">
+ <template #content>
+ <span> 鎬讳换鍔$紪杈� </span>
</template>
- </FYInfoSearch>
- </el-col>
- </el-row>
-
- <el-dialog v-model="insertDialog" title="鎻掑叆鍦烘櫙鑷崇┖浣欑紪鍙�" width="500">
- <div>浠ヤ笅涓哄彲閫夌殑绌轰綑缂栧彿</div>
- <el-radio-group v-model="selectedIndex" size="default">
- <el-radio-button v-for="item in valibleIndex" :key="item" :label="item" :value="item" />
- </el-radio-group>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="insertDialog = false">鍙栨秷</el-button>
- <el-button type="primary" @click="insertDialog = false"> 纭 </el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="addDialog" title="鏂板鍦烘櫙缂栧彿椤哄欢" width="500">
- <div>椤哄欢缂栧彿涓�:{{ lastIndex }}</div>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="addDialog = false">鍙栨秷</el-button>
- <el-button type="primary" @click="addDialog = false"> 纭 </el-button>
- </div>
- </template>
- </el-dialog>
+ <template #extra>
+ <div>
+ <el-button
+ type="primary"
+ :disabled="!isEdit"
+ :loading="saveLoading"
+ @click="handleSaveClick"
+ >淇濆瓨淇敼</el-button
+ >
+ </div>
+ </template>
+ </el-page-header>
+ <el-divider />
+ </div>
+ <!-- </el-affix> -->
+ <CompMonitorObjEdit
+ ref="objEditRef"
+ :task="task"
+ :objList="curMonitorObjList"
+ @upload-success="goBack"
+ ></CompMonitorObjEdit>
</template>
-<script>
-import CompMonitorObj from './components/CompMonitorObj.vue';
-import svUserApi from '@/api/fysp/userApi';
-import sceneApi from '@/api/fysp/sceneApi';
+<script setup>
+import { ref, computed, onMounted } from 'vue';
+import CompMonitorObjEdit from './components/CompMonitorObjEdit.vue';
+import { useRoute, useRouter } from 'vue-router';
-export default {
- components: { CompMonitorObj },
- props: {},
- data() {
- return {
- // 鐩戠鍦烘櫙
- curMonitorObjList: [],
- // 琛屾斂鍖哄垝
- area: {},
- // 鎵�鏈夊満鏅�
- sceneList: [],
- total: 0,
+const route = useRoute();
+const router = useRouter();
- // 褰撳墠绛涢�夌殑鍦烘櫙绫诲瀷
- curSceneType: undefined,
+const objEditRef = ref(null);
+const curMonitorObjList = ref([]);
+const task = ref({});
- insertDialog: false,
- selectedIndex: undefined,
- addDialog: false
- };
- },
- computed: {
- // 褰撳墠鍦烘櫙绫诲瀷涓嬬殑灞曠ず鍦烘櫙
- showSceneList() {
- return this.sceneList.filter((v) => {
- const index = this.curMonitorObjList.findIndex((o) => {
- return o.sguid == v.guid;
- });
- return index == -1 && v.type == this.curSceneType;
- });
- },
- showMonitorObjList() {
- return this.curMonitorObjList.filter((v) => {
- return v.sceneType == this.curSceneType;
- });
- },
- // 褰撳墠鍦烘櫙绫诲瀷涓嬬殑鍙彃鍏ョ紪鍙�
- valibleIndex() {
- // 鍘熷垪琛ㄥ凡缁忔寜鐓х紪鍙烽『搴忔帓鍒�
- let index = 1;
- const indexList = [];
- this.showMonitorObjList.forEach((l) => {
- while (l.displayid > index) {
- indexList.push(index);
- index++;
- }
- index++;
- });
- return indexList;
- },
- lastIndex() {
- const len = this.showMonitorObjList.length;
- if (len > 0) {
- return this.showMonitorObjList[len - 1].displayid + 1;
- } else {
- return undefined;
- }
- }
- },
- methods: {
- // 鏌ヨ
- searchScene({ text, page, pageSize }) {
- this.area.sceneName = text;
- return sceneApi.searchScene(this.area, 1, 10000).then((res) => {
- if (res.success) {
- // 鏌ヨ缁撴灉
- this.sceneList = res.data;
- // 鎬绘暟鎹噺
- this.total = res.head.totalCount;
- }
- });
- },
- changeSceneType(tabName) {
- this.curSceneType = tabName;
- },
- deleteMov(item) {
- },
- insertMov() {},
- addMov() {}
- },
- mounted() {
- // 鐩戠鍦烘櫙淇℃伅
- this.curMonitorObjList = JSON.parse(decodeURIComponent(this.$route.query.data));
- // 鏍规嵁鎬讳换鍔¤幏鍙栬鏀垮尯鍒掍俊鎭�
- const task = JSON.parse(decodeURIComponent(this.$route.query.task));
- this.area = {
- provincecode: task.provincecode,
- provincename: task.provincename,
- citycode: task.citycode,
- cityname: task.cityname,
- districtcode: task.districtcode,
- districtname: task.districtname,
- towncode: task.towncode,
- townname: task.townname,
- online: true
- };
- this.searchScene({ text: '' });
- }
-};
+const isEdit = computed(() => {
+ return objEditRef.value ? objEditRef.value.isEdit : false;
+});
+
+function handleSaveClick() {
+ objEditRef.value.saveEdit();
+}
+
+function goBack() {
+ router.back();
+}
+
+onMounted(() => {
+ // 鐩戠鍦烘櫙淇℃伅
+ // curMonitorObjList.value = JSON.parse(decodeURIComponent(route.query.data));
+ // 鎬讳换鍔�
+ task.value = JSON.parse(decodeURIComponent(route.query.task));
+ // 鐩戠鍦烘櫙淇℃伅
+ curMonitorObjList.value = JSON.parse(
+ decodeURIComponent(route.query.data)
+ );
+});
</script>
-<style scoped></style>
+<style scoped>
+.page-header {
+ background-color: white;
+ padding: 10px 0;
+ /* border-bottom: 1px solid var(--el-color-info-light-7); */
+}
+</style>
--
Gitblit v1.9.3