From 45c217996d025d256fdd0ed5cb744750e68dd36d Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 17 三月 2026 16:43:04 +0800
Subject: [PATCH] 2026.3.17
---
src/views/inspection/MonitorControl.vue | 1
src/api/fytz/creditApi.js | 32 ++-
src/views/inspection/scenenew/components/CompUserInfo.vue | 116 +++++++-------
src/views/inspection/scenenew/UserInfo.vue | 178 +++++++++++-----------
src/views/inspection/scenenew/components/CompUserInfoAddDrawer.vue | 24 +-
src/constants/index.js | 1
src/views/inspection/task/TaskManage.vue | 53 ++++--
src/constants/menu.js | 16 +
src/components/core/AppAside.vue | 2
src/router/index.js | 5
10 files changed, 231 insertions(+), 197 deletions(-)
diff --git a/src/api/fytz/creditApi.js b/src/api/fytz/creditApi.js
index 6c0dec0..12ff2a8 100644
--- a/src/api/fytz/creditApi.js
+++ b/src/api/fytz/creditApi.js
@@ -1,5 +1,5 @@
-import { Base64 } from 'js-base64';
-import { $fytz } from '../index';
+import { Base64 } from 'js-base64'
+import { $fytz } from '../index'
/**
* 淇$敤璇勪及API鎺ュ彛
@@ -8,20 +8,22 @@
/**
* 涓嬭浇鐢ㄦ埛鐜俊鐮�
* @param {*} userId
+ * @param {*} userName
*/
- downloadCode(userId) {
+ downloadCode(userId, userName) {
return $fytz
.get(`credit/ecCode/download?userId=${userId}`, { responseType: 'blob' })
.then((res) => {
- const name = Base64.decode(res.headers.get('fileName'));
- const url = window.URL.createObjectURL(res.data);
- const link = document.createElement('a');
- link.href = url;
- link.setAttribute('download', name);
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- window.URL.revokeObjectURL(url);
- });
- }
-};
+ const name = res.headers.get('fileName') || userName
+ const fileName = Base64.decode(name)
+ const url = window.URL.createObjectURL(res.data)
+ const link = document.createElement('a')
+ link.href = url
+ link.setAttribute('download', fileName)
+ document.body.appendChild(link)
+ link.click()
+ document.body.removeChild(link)
+ window.URL.revokeObjectURL(url)
+ })
+ },
+}
diff --git a/src/components/core/AppAside.vue b/src/components/core/AppAside.vue
index 846369c..e7a1501 100644
--- a/src/components/core/AppAside.vue
+++ b/src/components/core/AppAside.vue
@@ -55,7 +55,7 @@
return {
// collapse: false,
menuHeight: '80vh',
- title: '娌圭儫鏅鸿兘涓�浣撳寲骞冲彴',
+ title: '娌圭儫鏅鸿兘鐩戞祴涓庣洃绠�',
subTitle: '漏涓婃捣椋炵窘鐜繚绉戞妧鏈夐檺鍏徃',
appIcon: AppIcon,
}
diff --git a/src/constants/index.js b/src/constants/index.js
index 3cf1b46..f232180 100644
--- a/src/constants/index.js
+++ b/src/constants/index.js
@@ -1 +1,2 @@
export { MENU } from './menu'
+export { envCreditCode } from './envCreditCode'
diff --git a/src/constants/menu.js b/src/constants/menu.js
index 0d87fdf..fc263a2 100644
--- a/src/constants/menu.js
+++ b/src/constants/menu.js
@@ -74,15 +74,16 @@
name: '鐩戠宸℃煡',
children: [
{
+ path: '/index/inspection/monitor-control',
+ icon: 'solar:eye-scan-line-duotone',
+ name: '鐩戠鐩戞帶',
+ },
+ {
path: '/index/inspection/task-manage',
icon: 'solar:file-text-line-duotone',
name: '浠诲姟绠$悊',
},
- {
- path: '/index/inspection/scene-info',
- icon: 'solar:shop-2-line-duotone',
- name: '搴楅摵绠$悊',
- },
+
{
path: '/index/inspection/pro-check',
icon: 'solar:checklist-minimalistic-line-duotone',
@@ -109,6 +110,11 @@
icon: 'solar:folder-favourite-bookmark-line-duotone',
name: '璇勪及鎶ュ憡',
},
+ {
+ path: '/index/inspection/scene-info',
+ icon: 'solar:shop-2-line-duotone',
+ name: '搴楅摵绠$悊',
+ },
// {
// path: '/index/analysis/data-product',
// icon: 'solar:document-add-line-duotone',
diff --git a/src/router/index.js b/src/router/index.js
index 40a5b63..034c6ca 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -105,6 +105,11 @@
path: 'report-manage',
component: () => import('@/views/inspection/report/ReportManage.vue'),
},
+ {
+ name: 'monitor-control',
+ path: 'monitor-control',
+ component: () => import('@/views/inspection/MonitorControl.vue'),
+ },
],
},
{
diff --git a/src/views/inspection/MonitorControl.vue b/src/views/inspection/MonitorControl.vue
new file mode 100644
index 0000000..50ede86
--- /dev/null
+++ b/src/views/inspection/MonitorControl.vue
@@ -0,0 +1 @@
+<template>s</template>
diff --git a/src/views/inspection/scenenew/UserInfo.vue b/src/views/inspection/scenenew/UserInfo.vue
index 73dbfb2..cf122c0 100644
--- a/src/views/inspection/scenenew/UserInfo.vue
+++ b/src/views/inspection/scenenew/UserInfo.vue
@@ -1,88 +1,89 @@
<template>
- <FYTable @search="onSearch" :row-class-name="tableRowClassName">
- <template #options>
- <FYOptionLocation
- :allOption="true"
- :level="5"
- v-model:value="formSearch._locations"
- ></FYOptionLocation>
- <FYOptionText
- label="鍦烘櫙鍚嶇О"
- placeholder="杈撳叆鍚嶇О鍏抽敭瀛�"
- v-model:value="formSearch.searchText"
- ></FYOptionText>
- <FYOptionScene
- :allOption="true"
- :type="1"
- :initValue="false"
- v-model:value="formSearch.scensetype"
- ></FYOptionScene>
- <FYOptionOnlineStatus
- :allOption="true"
- v-model:value="formSearch.online"
- ></FYOptionOnlineStatus>
- </template>
+ <div class="p-h-8">
+ <FYTable @search="onSearch" :row-class-name="tableRowClassName">
+ <template #options>
+ <FYOptionLocation
+ :allOption="true"
+ :level="5"
+ v-model:value="formSearch._locations"
+ ></FYOptionLocation>
+ <FYOptionText
+ label="鍦烘櫙鍚嶇О"
+ placeholder="杈撳叆鍚嶇О鍏抽敭瀛�"
+ v-model:value="formSearch.searchText"
+ ></FYOptionText>
+ <FYOptionScene
+ :allOption="true"
+ :type="1"
+ :initValue="false"
+ v-model:value="formSearch.scensetype"
+ ></FYOptionScene>
+ <FYOptionOnlineStatus
+ :allOption="true"
+ v-model:value="formSearch.online"
+ ></FYOptionOnlineStatus>
+ </template>
- <template #table-column>
- <el-table-column
- fixed="left"
- prop="userInfo.realname"
- label="鍚嶇О"
- :show-overflow-tooltip="true"
- width="400"
- >
- </el-table-column>
- <el-table-column prop="userInfo.acountname" label="璐﹀彿" width="110" />
- <el-table-column prop="sceneTypeName" label="绫诲瀷" width="100" />
- <el-table-column prop="biProvinceName" label="鐪�" width="80" />
- <el-table-column prop="biCityName" label="甯�" width="80" />
- <!-- <el-table-column prop="districtname" label="鍖哄幙" width="90" /> -->
- <el-table-column prop="userInfo.extension1" label="鍖哄幙" width="80" />
- <el-table-column prop="biTownName" label="琛楅亾" width="110" />
- <el-table-column prop="biArea" label="闆嗕腑鍖�" width="110" />
- <el-table-column prop="biManagementCompany" label="鐗╀笟" min-width="110" />
- <el-table-column prop="userInfo.isenable" label="鐘舵��" width="90">
- <template #default="{ row }">
- {{ row.userInfo.isenable ? '涓婄嚎涓�' : '宸蹭笅绾�' }}
- </template>
- </el-table-column>
- <el-table-column prop="userInfo.usertype" label="鐢ㄦ埛绫诲瀷" width="90" />
- <el-table-column fixed="right" align="right" label="鎿嶄綔" width="190">
- <template #header>
- <el-button icon="DocumentAdd" size="default" type="success" @click="drawer = true"
- >鏂板鐢ㄦ埛</el-button
- >
- </template>
- <template #default="{ row }">
- <el-space>
- <el-button
- :loading="row.loading2"
- :type="row.userInfo.isenable != '0' ? 'danger' : 'primary'"
- size="small"
- @click="itemActive(row)"
- >{{ row.userInfo.isenable != '0' ? '涓嬬嚎' : '涓婄嚎' }}</el-button
+ <template #table-column>
+ <el-table-column
+ fixed="left"
+ prop="userInfo.realname"
+ label="鍚嶇О"
+ :show-overflow-tooltip="true"
+ width="400"
+ >
+ </el-table-column>
+ <el-table-column prop="userInfo.acountname" label="璐﹀彿" width="110" />
+ <el-table-column prop="sceneTypeName" label="绫诲瀷" width="100" />
+ <el-table-column prop="biProvinceName" label="鐪�" width="80" />
+ <el-table-column prop="biCityName" label="甯�" width="80" />
+ <!-- <el-table-column prop="districtname" label="鍖哄幙" width="90" /> -->
+ <el-table-column prop="userInfo.extension1" label="鍖哄幙" width="80" />
+ <el-table-column prop="biTownName" label="琛楅亾" width="110" />
+ <el-table-column prop="biArea" label="闆嗕腑鍖�" width="110" />
+ <el-table-column prop="biManagementCompany" label="鐗╀笟" min-width="110" />
+ <el-table-column prop="userInfo.isenable" label="鐘舵��" width="90">
+ <template #default="{ row }">
+ {{ row.userInfo.isenable ? '涓婄嚎涓�' : '宸蹭笅绾�' }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="userInfo.usertype" label="鐢ㄦ埛绫诲瀷" width="90" />
+ <el-table-column fixed="right" align="right" label="鎿嶄綔" width="190">
+ <template #header>
+ <el-button icon="DocumentAdd" size="default" type="success" @click="drawer = true"
+ >鏂板搴楅摵</el-button
>
- <el-button-group>
- <el-button type="primary" :loading="row.loading1" size="small" @click="editRow(row)"
- >鏌ョ湅</el-button
+ </template>
+ <template #default="{ row }">
+ <el-space>
+ <el-button
+ :loading="row.loading2"
+ :type="row.userInfo.isenable != '0' ? 'danger' : 'primary'"
+ size="small"
+ @click="itemActive(row)"
+ >{{ row.userInfo.isenable != '0' ? '涓嬬嚎' : '涓婄嚎' }}</el-button
>
- <el-dropdown @command="handleCommand" trigger="click">
- <el-button
- type="primary"
- :loading="row.downloadLoading"
- size="small"
- :icon="row.downloadLoading ? '' : 'ArrowDown'"
- ></el-button>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item icon="Download" :command="{ c: 1, p: row }"
- >涓嬭浇鐜俊鐮�</el-dropdown-item
- >
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </el-button-group>
- <!-- <el-dropdown
+ <el-button-group>
+ <el-button type="primary" :loading="row.loading1" size="small" @click="editRow(row)"
+ >鏌ョ湅</el-button
+ >
+ <el-dropdown @command="handleCommand" trigger="click">
+ <el-button
+ type="primary"
+ :loading="row.downloadLoading"
+ size="small"
+ :icon="row.downloadLoading ? '' : 'ArrowDown'"
+ ></el-button>
+ <template #dropdown>
+ <el-dropdown-menu>
+ <el-dropdown-item icon="Download" :command="{ c: 1, p: row }"
+ >涓嬭浇鐜俊鐮�</el-dropdown-item
+ >
+ </el-dropdown-menu>
+ </template>
+ </el-dropdown>
+ </el-button-group>
+ <!-- <el-dropdown
split-button
:loading="row.loading1"
size="small"
@@ -100,11 +101,12 @@
</el-dropdown-menu>
</template>
</el-dropdown> -->
- </el-space>
- </template>
- </el-table-column>
- </template>
- </FYTable>
+ </el-space>
+ </template>
+ </el-table-column>
+ </template>
+ </FYTable>
+ </div>
<CompUserInfoAddDrawer v-model="drawer"></CompUserInfoAddDrawer>
</template>
@@ -206,12 +208,12 @@
return row.userInfo.isenable ? 'online-row' : 'offline-row'
},
handleCommand(e) {
- const userId = e.p.userInfo.guid
+ const { guid: userId, realname: userName } = e.p.userInfo
switch (e.c) {
// 涓嬭浇鐜俊鐮�
case 1:
e.p.downloadLoading = true
- creditApi.downloadCode(userId).finally(() => {
+ creditApi.downloadCode(userId, userName).finally(() => {
e.p.downloadLoading = false
})
break
diff --git a/src/views/inspection/scenenew/components/CompUserInfo.vue b/src/views/inspection/scenenew/components/CompUserInfo.vue
index aece522..927cb9a 100644
--- a/src/views/inspection/scenenew/components/CompUserInfo.vue
+++ b/src/views/inspection/scenenew/components/CompUserInfo.vue
@@ -17,11 +17,11 @@
placeholder="澶村儚url"
/>
</el-form-item> -->
- <el-form-item label="璐︽埛鍚�" prop="acountname">
- <el-input clearable v-model="formObj.acountname" placeholder="璐︽埛鍚�" />
+ <el-form-item label="搴楅摵鍚�" prop="acountname">
+ <el-input clearable v-model="formObj.acountname" placeholder="搴楅摵鍚�" />
</el-form-item>
- <el-form-item label="鐢ㄦ埛鏄电О" prop="realname">
- <el-input clearable v-model="formObj.realname" placeholder="鐢ㄦ埛鏄电О" />
+ <el-form-item label="鏄电О" prop="realname">
+ <el-input clearable v-model="formObj.realname" placeholder="鏄电О" />
</el-form-item>
<el-form-item label="瀵嗙爜" prop="password">
<el-col :span="18">
@@ -76,7 +76,7 @@
prop="_scenetype"
:allOption="false"
:type="1"
- :initValue="false"
+ :initValue="true"
v-model:value="formObj._scenetype"
></FYOptionScene>
</template>
@@ -84,55 +84,55 @@
</template>
<script setup>
-import { defineProps, defineEmits, reactive, ref, watch, computed } from 'vue';
-import { getSceneName } from '@/enum/scene';
-import userApi from '@/api/fytz/userApi';
-import { useMessageBoxTip } from '@/composables/messageBox';
+import { defineProps, defineEmits, reactive, ref, watch, computed } from 'vue'
+import { getSceneName } from '@/enum/scene'
+import userApi from '@/api/fytz/userApi'
+import { useMessageBoxTip } from '@/composables/messageBox'
const props = defineProps({
//鍩烘湰淇℃伅
model: {
- type: Object
+ type: Object,
// default: () => {
// return { isenable: true };
// }
},
create: {
type: Boolean,
- default: false
+ default: false,
},
active: {
type: Boolean,
- default: false
- }
-});
+ default: false,
+ },
+})
-const formInfo = ref({ isenable: true });
+const formInfo = ref({ isenable: true })
watch(
() => props.model,
(nValue) => {
- formInfo.value = parseUserInfo(nValue);
- }
-);
+ formInfo.value = parseUserInfo(nValue)
+ },
+)
-const emit = defineEmits(['onSubmit', 'onCancel', 'updateEdit']);
+const emit = defineEmits(['onSubmit', 'onCancel', 'updateEdit'])
const rules = reactive({
acountname: [
{
required: true,
message: '璐︽埛鍚嶄笉鑳戒负绌�',
- trigger: 'blur'
- }
+ trigger: 'blur',
+ },
],
realname: [
{
required: true,
message: '鐢ㄦ埛鏄电О涓嶈兘涓虹┖',
- trigger: 'blur'
- }
- ]
+ trigger: 'blur',
+ },
+ ],
// password: [
// {
// required: props.create,
@@ -140,44 +140,44 @@
// trigger: 'blur',
// },
// ],
-});
+})
// 鐢ㄦ埛鍩烘湰淇℃伅鏍煎紡鍖�
function parseUserInfo(s) {
if (s.usertype && s.usertypeid) {
s._usertype = {
label: s.usertype,
- value: s.usertypeid + ''
- };
+ value: s.usertypeid + '',
+ }
}
if (s.extension2) {
- s._scenetype = getSceneName(s.extension2, 1);
+ s._scenetype = getSceneName(s.extension2, 1)
}
- s._locations = {};
+ s._locations = {}
- return s;
+ return s
}
function parseUserInfoReverse(v) {
// 琛屾斂鍖哄垝淇℃伅濉厖
- const a = v._locations;
- v.extension1 = a.dName;
+ const a = v._locations
+ v.extension1 = a.dName
// 鐢ㄦ埛绫诲瀷淇℃伅濉厖
- const b = v._usertype;
- v.usertypeid = b.value;
- v.usertype = b.label;
+ const b = v._usertype
+ v.usertypeid = b.value
+ v.usertype = b.label
// 鍦烘櫙绫诲瀷淇℃伅濉厖
- const c = v._scenetype;
- v.extension2 = c.value;
+ const c = v._scenetype
+ v.extension2 = c.value
- return v;
+ return v
}
function createUser(v, success, fail) {
- const l = v._locations;
+ const l = v._locations
const params = {
userInfo: v,
baseInfo: {
@@ -190,41 +190,41 @@
biTownCode: l.tCode,
biTownName: l.tName,
biAreaCode: l.aCode,
- biArea: l.aName
+ biArea: l.aName,
// biManagementCompanyId:
// biManagementCompany:
// biContact
// biTelephone
// biAddress
- }
- };
+ },
+ }
return userApi
.createUser(params)
.then(() => {
- emit('onSubmit', params);
- success();
+ emit('onSubmit', params)
+ success()
})
.catch((err) => {
- fail(err);
- });
+ fail(err)
+ })
}
function updateUser(v, success, fail) {
return userApi
.updateUserInfo(v)
.then(() => {
- emit('onSubmit', v);
- if (success) success();
+ emit('onSubmit', v)
+ if (success) success()
})
.catch((err) => {
- if (fail) fail(err);
- });
+ if (fail) fail(err)
+ })
}
function submit(v, success, fail) {
- parseUserInfoReverse(v.value);
+ parseUserInfoReverse(v.value)
- return props.create ? createUser(v.value, success, fail) : updateUser(v.value, success, fail);
+ return props.create ? createUser(v.value, success, fail) : updateUser(v.value, success, fail)
// parseUserInfoReverse(props.formInfo);
// return props.create
@@ -233,18 +233,18 @@
}
// 閲嶇疆瀵嗙爜
-const pwLoading = ref(false);
+const pwLoading = ref(false)
function onResetPw() {
useMessageBoxTip({
confirmMsg: '鏄惁閲嶇疆璇ュ満鏅瘑鐮侊紵',
confirmTitle: '閲嶇疆瀵嗙爜',
onConfirm: async () => {
- pwLoading.value = true;
+ pwLoading.value = true
return userApi.resetPassword(formInfo.value.guid).finally(() => {
- pwLoading.value = false;
- });
- }
- });
+ pwLoading.value = false
+ })
+ },
+ })
}
</script>
diff --git a/src/views/inspection/scenenew/components/CompUserInfoAddDrawer.vue b/src/views/inspection/scenenew/components/CompUserInfoAddDrawer.vue
index 720a1a5..14b14ac 100644
--- a/src/views/inspection/scenenew/components/CompUserInfoAddDrawer.vue
+++ b/src/views/inspection/scenenew/components/CompUserInfoAddDrawer.vue
@@ -1,6 +1,6 @@
<template>
<el-drawer
- title="鏂板鐢ㄦ埛"
+ title="鏂板搴楅摵"
direction="rtl"
:model-value="modelValue"
@open="updateDrawer(true)"
@@ -18,8 +18,8 @@
</template>
<script>
-import CompUserInfo from './CompUserInfo.vue';
-import { useMessageBox } from '@/composables/messageBox';
+import CompUserInfo from './CompUserInfo.vue'
+import { useMessageBox } from '@/composables/messageBox'
export default {
components: { CompUserInfo },
@@ -27,12 +27,12 @@
emits: ['update:modelValue'],
data() {
return {
- drawerEdit: false
- };
+ drawerEdit: false,
+ }
},
methods: {
updateDrawer(status) {
- this.$emit('update:modelValue', status);
+ this.$emit('update:modelValue', status)
},
onDrawerClose(done) {
if (this.drawerEdit) {
@@ -41,14 +41,14 @@
confirmMsg: '鏄惁鏀惧純宸茬紪杈戠殑鍐呭锛�',
confirmTitle: '鍏抽棴寮瑰嚭妗�',
onConfirm: () => {
- done();
- }
- });
+ done()
+ },
+ })
} else {
// 鐩存帴鍏抽棴
- done();
+ done()
}
},
- }
-};
+ },
+}
</script>
diff --git a/src/views/inspection/task/TaskManage.vue b/src/views/inspection/task/TaskManage.vue
index 0ba9fbc..15f6e31 100644
--- a/src/views/inspection/task/TaskManage.vue
+++ b/src/views/inspection/task/TaskManage.vue
@@ -1,19 +1,20 @@
<template>
- <BaseContentLayout>
+ <BaseContentLayout asideWidth="0">
<template #header>
- <!-- <FYSearchBar @search="search">
- <template #options>
- <FYOptionLocation
- :allOption="true"
- :level="3"
- :checkStrictly="false"
- v-model:value="formSearch.locations"
- ></FYOptionLocation>
- </template>
- </FYSearchBar> -->
+ <div class="task-switcher">
+ <el-button @click="switchTask(-1)" icon="ArrowLeft">鍓嶄竴涓�</el-button>
+ <el-select
+ v-model="curTaskTitle"
+ @change="(t) => chooseTask(tasks.find((e) => e.title == t))"
+ style="width: 260px"
+ >
+ <el-option v-for="s in tasks" :key="s.title" :label="s.title" :value="s.title" />
+ </el-select>
+ <el-button @click="switchTask(1)" icon="ArrowRight">鍚庝竴涓�</el-button>
+ </div>
</template>
<template #aside>
- <SideList :items="tasks" :loading="sideLoading" @item-click="chooseTask"></SideList>
+ <!-- <SideList :items="tasks" :loading="sideLoading" @item-click="chooseTask"></SideList> -->
</template>
<template #main>
<ToolBar
@@ -24,12 +25,6 @@
:loading="mainLoading"
></ToolBar>
<div v-if="curMonitorObjList.length > 0" v-loading="mainLoading">
- <!-- <div><el-text>鐩戠璁″垝</el-text></div>
- <el-button type="warning" size="small" @click="editPlan"
- >璁″垝璋冩暣</el-button
- > -->
- <!-- <el-tabs model-value="first">
- <el-tab-pane label="宸℃煡璁″垝" name="first"> -->
<el-space justify="" :size="30" style="padding: 16px 0px 16px 16px">
<el-text size="large">宸℃煡璁″垝</el-text>
<el-radio-group v-model="selectedSceneType" fill="#409eff">
@@ -186,7 +181,10 @@
// 褰撳墠浠诲姟鐨勫睍绀轰腑鐨勭洃绠″璞�
showMonitorObjList: [],
//褰撳墠閫変腑鐨勪换鍔�
+ curTaskTitle: '',
curTask: {},
+ // 褰撳墠浠诲姟绱㈠紩
+ currentTaskIndex: 0,
//褰撳墠閫変腑鐨勬棩浠诲姟
curDayTaskList: [],
daytaskLoading: false,
@@ -304,8 +302,19 @@
if (list.length == 0) {
this.sideLoading = false
this.mainLoading = false
+ } else {
+ this.curTaskTitle = this.tasks[this.currentTaskIndex].title
+ this.chooseTask(this.tasks[this.currentTaskIndex])
}
})
+ },
+ // 鍒囨崲浠诲姟
+ switchTask(direction) {
+ if (this.tasks.length === 0) return
+
+ this.currentTaskIndex =
+ (this.currentTaskIndex + direction + this.tasks.length) % this.tasks.length
+ this.chooseTask(this.tasks[this.currentTaskIndex])
},
//鑾峰彇浠诲姟鐨勫畬鎴愭儏鍐�
getTaskType(s) {
@@ -327,6 +336,8 @@
return type
},
chooseTask(task) {
+ // const task = this.tasks.find((e) => e.title == taskTitle)
+ this.curTaskTitle = task.title
this.task = task
this.sideLoading = false
this.mainLoading = true
@@ -492,4 +503,10 @@
.el-drawer__custom {
padding: 0px !important;
}
+.task-switcher {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ padding: 10px;
+}
</style>
--
Gitblit v1.9.3