-
+
-
+
diff --git a/src/views/govern/log/opera.vue b/src/views/govern/log/opera.vue
index 83c0a0e..4707666 100644
--- a/src/views/govern/log/opera.vue
+++ b/src/views/govern/log/opera.vue
@@ -15,7 +15,7 @@ defineOptions({
name: 'govern/log/operation'
})
const tableStore = new TableStore({
- url: '/cs-device-boot/cslog/queryLog',
+ url: '/cs-system-boot/cslog/queryLog',
method: 'POST',
column: [
{
@@ -26,10 +26,27 @@ const tableStore = new TableStore({
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
- { title: '操作日期', field: 'createTime', align: 'center', sortable: true, minWidth: '150' },
+ { title: '操作日期', field: 'createTime', align: 'center', sortable: true, width: '180' },
+ { title: '用户名称', field: 'userName', align: 'center', width: '180' },
{ title: '操作描述', field: 'operate', align: 'center', minWidth: '300' },
- { title: '用户名称', field: 'userName', align: 'center', minWidth: '130' },
- { title: '更新时间', field: 'updateTime', align: 'center', sortable: true, minWidth: '150' },
+
+ {
+ title: '状态',
+ field: 'result',
+ align: 'center',
+ width: '100',
+ render: 'tag',
+ custom: {
+ 0: 'danger',
+ 1: 'success',
+ null:'info'
+ },
+ replaceValue: {
+ 0: '失败',
+ 1: '成功',
+ null: '/'
+ }
+ },
{
title: '失败原因',
field: 'failReason',
@@ -39,24 +56,15 @@ const tableStore = new TableStore({
return row.cellValue || '/'
}
},
- {
- title: '状态',
- field: 'result',
- align: 'center',
- minWidth: '100',
- formatter: (row: any) => {
- return row.cellValue == 1 ? '成功' : '失败'
- }
- },
- {
- title: '登录名',
- field: 'loginName',
- align: 'center',
- minWidth: '120',
- formatter: (row: any) => {
- return row.cellValue || '/'
- }
- }
+ // {
+ // title: '登录名称',
+ // field: 'loginName',
+ // align: 'center',
+ // minWidth: '120',
+ // formatter: (row: any) => {
+ // return row.cellValue || '/'
+ // }
+ // }
],
loadCallback: () => {
@@ -76,5 +84,5 @@ onMounted(() => {
tableStore.index()
})
-const addMenu = () => {}
+const addMenu = () => { }
diff --git a/src/views/govern/manage/components/factoryForm.vue b/src/views/govern/manage/components/factoryForm.vue
index 723a1ca..bccec2d 100644
--- a/src/views/govern/manage/components/factoryForm.vue
+++ b/src/views/govern/manage/components/factoryForm.vue
@@ -22,13 +22,13 @@
:value="item.value">
-
+
-
+
@@ -38,7 +38,7 @@
-
+
@@ -48,9 +48,12 @@
-
-
+
+
+
+
+
@@ -105,9 +108,40 @@ const rules = reactive({
devModel: [{ required: true, message: '请选择设备型号', trigger: 'change' }],
devAccessMethod: [{ required: true, message: '请输入接入方式', trigger: 'blur' }],
cntractNo: [{ required: true, message: '请输入合同号', trigger: 'blur' }],
- sort: [{ required: true, message: '请输入排序', trigger: 'blur' }]
+ sort: [{ required: true, message: '请输入排序', trigger: 'blur' }],
+ association: [{
+ validator: (_rule: any, value: any, callback: (error?: Error) => void) => {
+ if (isMonitorDevType(form.devType)) {
+ if (!Array.isArray(value) || value.length < 2 || !value[0] || !value[1]) {
+ callback(new Error('请选择关联项目'))
+ return
+ }
+ }
+ callback()
+ },
+ trigger: 'change'
+ }]
})
+const getDevTypeOptions = () => {
+ if (form.devAccessMethod === 'CLD') {
+ return Array.isArray(props.devTypeOptions2)
+ ? props.devTypeOptions2
+ : props.devTypeOptions2
+ ? [props.devTypeOptions2]
+ : []
+ }
+ return props.devTypeOptions
+}
+
+const isMonitorDevType = (devType: unknown) => {
+ if (!devType) return false
+ const selected = getDevTypeOptions().find((item: any) => (item.value || item.id) == devType)
+ return selected?.name === '监测设备' || selected?.label === '监测设备' || selected?.code === 'DEV_CLD'
+}
+
+const isMonitorDeviceType = computed(() => isMonitorDevType(form.devType))
+
function getDefaultForm() {
return {
cntractNo: '',
@@ -170,6 +204,12 @@ const formDevTypeOptions = computed(() => {
const formDevTypeChange = (e: any) => {
if (!e) return
form.devModel = ''
+ nextTick(() => {
+ ruleFormRef.value?.clearValidate('association')
+ if (isMonitorDevType(e)) {
+ ruleFormRef.value?.validateField('association')
+ }
+ })
}
const openAdd = () => {
@@ -219,6 +259,12 @@ const addMonitorUser = () => {
name: 'govern/sensitiveLoadMange/index',
})
}
+const addProject = () => {
+ sessionStorage.setItem('factoryNeedRefreshEngineeringList', '1')
+ router.push({
+ name: 'govern/manage/engineering',
+ })
+}
const onSubmit = () => {
ruleFormRef.value.validate((valid: boolean) => {
if (!valid) return
diff --git a/src/views/govern/manage/factory.vue b/src/views/govern/manage/factory.vue
index e2e3002..3fd46c4 100644
--- a/src/views/govern/manage/factory.vue
+++ b/src/views/govern/manage/factory.vue
@@ -1,5 +1,5 @@
-
+
@@ -214,6 +214,7 @@ const tableStore = new TableStore({
url: '/cs-device-boot/EquipmentDelivery/list',
method: 'POST',
isWebPaging: true,
+ publicHeight: 60,
column: [
{
width: '60',
@@ -837,20 +838,8 @@ const getUserList = () => {
})
}
-// 页面被 keep-alive 缓存后,从敏感用户页返回时刷新下拉列表
-onActivated(() => {
- if (sessionStorage.getItem('factoryNeedRefreshUserList')) {
- sessionStorage.removeItem('factoryNeedRefreshUserList')
- getUserList()
- }
-})
-
-provide('tableStore', tableStore)
-
-onMounted(() => {
- getUserList()
- queryTheDictionary()
- engineeringProject().then(res => {
+const getEngineeringList = () => {
+ return engineeringProject().then(res => {
engineeringList.value = res.data.filter(item => {
item.projectName = item.engineeringName
item.projectId = item.engineeringId
@@ -858,6 +847,27 @@ onMounted(() => {
return item
})
})
+}
+
+// 页面被 keep-alive 缓存后,从敏感用户/工程页返回时刷新下拉列表
+onActivated(() => {
+ // if (sessionStorage.getItem('factoryNeedRefreshUserList')) {
+ // sessionStorage.removeItem('factoryNeedRefreshUserList')
+ getUserList()
+ // }
+
+ // if (sessionStorage.getItem('factoryNeedRefreshEngineeringList')) {
+ // sessionStorage.removeItem('factoryNeedRefreshEngineeringList')
+ getEngineeringList()
+ // }
+})
+
+provide('tableStore', tableStore)
+
+onMounted(() => {
+ queryTheDictionary()
+ // getUserList()
+ // getEngineeringList()
setTimeout(() => { }, 100)
})
diff --git a/src/views/govern/manage/monthly.vue b/src/views/govern/manage/monthly.vue
index a756202..60086e7 100644
--- a/src/views/govern/manage/monthly.vue
+++ b/src/views/govern/manage/monthly.vue
@@ -30,6 +30,7 @@ import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
+import { buildExportBaseName } from '@/utils/echartMethod'
defineOptions({
name: 'manage/monthly'
})
@@ -180,7 +181,7 @@ tableStore.table.params.name = ''
const tableRef = ref()
const exportTab = () => {
tableRef.value.getRef()?.exportData({
- filename: '半月报功能', // 文件名字
+ filename: buildExportBaseName({ feature: '半月报功能' }), // 文件名字
sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true,
diff --git a/src/views/govern/reportCore/lineReport/index.vue b/src/views/govern/reportCore/lineReport/index.vue
index bb0181e..2e95260 100644
--- a/src/views/govern/reportCore/lineReport/index.vue
+++ b/src/views/govern/reportCore/lineReport/index.vue
@@ -140,6 +140,7 @@ import { genFileId, ElMessage, ElNotification } from 'element-plus'
import type { UploadProps, UploadUserFile } from 'element-plus'
import pointTree from '@/components/tree/govern/pointTree.vue'
import { getLineExport } from '@/api/harmonic-boot/cockpit/cockpit'
+import { buildExportFileName } from '@/utils/echartMethod'
import { isReportMonitorPoint } from '@/components/tree/govern/lineTreeUtils'
defineOptions({
name: 'TransientReport/monitoringpointReport'
@@ -216,12 +217,6 @@ const exportEvent = () => {
ElMessage('生成报告中,请稍等!')
const now = new Date()
- const year = now.getFullYear() // 4位年份
- const month = now.getMonth() + 1 // 月份0-11,需+1
- const day = now.getDate() // 日期1-31
-
- // 格式化YYYY - MM - DD(补零)
- const formattedDate = `${year}${String(month).padStart(2, '0')}${String(day).padStart(2, '0')}`
getLineExport(formd.value)
.then(async (res: any) => {
if (res == undefined) {
@@ -236,7 +231,12 @@ const exportEvent = () => {
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
- link.download = dotList.value.name + formattedDate // 设置下载的文件名
+ link.download = buildExportFileName({
+ subject: dotList.value.name,
+ feature: '报告',
+ date: formd.value.searchEndTime || now,
+ ext: 'docx'
+ })
document.body.appendChild(link)
link.click() //执行下载
document.body.removeChild(link)
diff --git a/src/views/govern/reportCore/statistics/index.vue b/src/views/govern/reportCore/statistics/index.vue
index c263d3e..465d5f8 100644
--- a/src/views/govern/reportCore/statistics/index.vue
+++ b/src/views/govern/reportCore/statistics/index.vue
@@ -113,7 +113,14 @@ const handleNodeClick = (data: any, node: any) => {
}
const exportEvent = () => {
- exportLuckysheetFile('统计报表下载', tableStore.table.data.length > 0)
+ exportLuckysheetFile(
+ {
+ subject: dotList.value?.name,
+ feature: '统计报表',
+ date: TableHeaderRef.value?.datePickerRef?.timeValue?.[1]
+ },
+ tableStore.table.data.length > 0
+ )
}