禅道bug修复

This commit is contained in:
BianLzhaoMin 2025-08-28 15:30:57 +08:00
parent 7fc7bbed00
commit f6b2eeaec0
7 changed files with 331 additions and 18 deletions

View File

@ -1561,6 +1561,7 @@ export default {
}
})
},
//
onBlurIdNumber() {
//
@ -1621,6 +1622,11 @@ export default {
_this.idCardInfoForm.endTime = _this.initDate(ValidDate)
_this.idCardInfoForm.birthday = _this.initDate(Birthday)
_this.idCardInfoForm.startTime = _this.initDate(IssuedData)
//
const birthdayYear = Birthday.slice(0, 4)
const currentYear = new Date().getFullYear()
_this.idCardInfoForm.age = currentYear - birthdayYear
}
}
this.webSocket.onerror = function (evt) {

View File

@ -191,24 +191,24 @@ export default {
methods: {
//
onHandleExportProject(queryParams) {
// this.download(
// '/bmw/',
// {
// ...queryParams,
// },
// `.xlsx`,
// )
this.download(
'/bmw/workerLight/lightProExport',
{
...queryParams,
},
`工程列表.xlsx`,
)
},
//
onHandleExportPerson(queryParams) {
// this.download(
// '/bmw/',
// {
// ...queryParams,
// },
// `.xlsx`,
// )
this.download(
'/bmw/workerLight/lightWorkerExport',
{
...queryParams,
},
`人员列表.xlsx`,
)
},
//

View File

@ -69,8 +69,8 @@ export const childColumnsList = [
},
...commonColumnsList,
{ t_props: 'volLevel', t_label: '电压等级' },
{ t_props: 'proType', t_label: '工程类型' },
{ t_props: 'proStatus', t_label: '工程状态' },
{ t_slot: 'proType', t_label: '工程类型' },
{ t_slot: 'proStatus', t_label: '工程状态' },
]
// 分包信息列表上方查询条件

View File

@ -92,6 +92,19 @@
/>
</template>
</template>
<!-- 工程类型 -->
<template slot="proType" slot-scope="{ data }">
<el-tag size="mini" type="primary">
{{ initProType(data.proType) }}
</el-tag>
</template>
<!-- 工程状态 -->
<template slot="proStatus" slot-scope="{ data }">
<el-tag size="mini" type="primary">
{{ initProStatus(data.proStatus) }}
</el-tag>
</template>
</TableModel>
</template>
</DialogModel>
@ -324,6 +337,7 @@ import {
} from './config'
export default {
name: 'ItemOne',
dicts: ['project_type', 'project_status'],
props: {
selectCompany: {
type: [Number, String],
@ -595,6 +609,25 @@ export default {
this.dialogConfigFive.outerTitle = '人员详情'
this.dialogConfigFive.outerVisible = true
},
initProType(data) {
if (typeof data === 'string') {
return this.dict.type.project_type.find(
(item) => item.value == data,
).label
}
return data || ''
},
initProStatus(status) {
if (typeof status === 'string') {
return this.dict.type.project_status.find(
(item) => item.value == status,
).label
}
return status || ''
},
},
watch: {

View File

@ -54,6 +54,19 @@
/>
</template>
</template>
<!-- 工程类型 -->
<template slot="proType" slot-scope="{ data }">
<el-tag size="mini" type="primary">
{{ initProType(data.proType) }}
</el-tag>
</template>
<!-- 工程状态 -->
<template slot="proStatus" slot-scope="{ data }">
<el-tag size="mini" type="primary">
{{ initProStatus(data.proStatus) }}
</el-tag>
</template>
</TableModel>
<!-- 分包信息弹框 -->
@ -287,6 +300,7 @@ import {
} from './config'
export default {
name: 'ItemTwo',
dicts: ['project_type', 'project_status'],
props: {
selectCompany: {
type: [Number, String],
@ -539,6 +553,26 @@ export default {
this.dialogConfigFive.outerTitle = '人员详情'
this.dialogConfigFive.outerVisible = true
},
initProType(data) {
if (typeof data === 'string') {
return this.dict.type.project_type.find(
(item) => item.value == data,
).label
}
return data || ''
},
initProStatus(status) {
if (typeof status === 'string') {
return this.dict.type.project_status.find(
(item) => item.value == status,
).label
}
return status || ''
},
},
watch: {

View File

@ -63,10 +63,11 @@
<el-form-item prop="password">
<el-input
v-model="loginForm.password"
show-password
type="password"
auto-complete="off"
placeholder="密码"
auto-complete="off"
v-model="loginForm.password"
@keyup.enter.native="handleLogin"
>
<svg-icon

239
src/views/not-dev/index.vue Normal file
View File

@ -0,0 +1,239 @@
<template>
<div class="not-dev-container">
<div class="not-dev-content">
<div class="not-dev-image">
<svg
width="400"
height="400"
viewBox="0 0 400 400"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<!-- 背景圆形 -->
<circle
cx="200"
cy="200"
r="180"
fill="#F8FAFC"
stroke="#E2E8F0"
stroke-width="2"
/>
<!-- 主要图标建筑工地或开发中的图标 -->
<rect
x="120"
y="140"
width="160"
height="120"
rx="8"
fill="#3B82F6"
opacity="0.1"
/>
<rect
x="130"
y="150"
width="140"
height="100"
rx="4"
fill="#3B82F6"
opacity="0.2"
/>
<!-- 脚手架结构 -->
<rect
x="110"
y="120"
width="8"
height="160"
fill="#94A3B8"
/>
<rect
x="282"
y="120"
width="8"
height="160"
fill="#94A3B8"
/>
<rect
x="110"
y="120"
width="180"
height="8"
fill="#94A3B8"
/>
<rect
x="110"
y="200"
width="180"
height="8"
fill="#94A3B8"
/>
<rect
x="110"
y="280"
width="180"
height="8"
fill="#94A3B8"
/>
<!-- 工具图标 -->
<circle cx="160" cy="180" r="15" fill="#F59E0B" />
<circle cx="240" cy="180" r="15" fill="#10B981" />
<circle cx="200" cy="220" r="15" fill="#EF4444" />
<!-- 进度条 -->
<rect
x="120"
y="320"
width="160"
height="8"
rx="4"
fill="#E2E8F0"
/>
<rect
x="120"
y="320"
width="80"
height="8"
rx="4"
fill="#3B82F6"
/>
<!-- 装饰性元素 -->
<circle
cx="150"
cy="80"
r="4"
fill="#3B82F6"
opacity="0.6"
/>
<circle
cx="250"
cy="90"
r="3"
fill="#10B981"
opacity="0.6"
/>
<circle
cx="180"
cy="70"
r="2"
fill="#F59E0B"
opacity="0.6"
/>
</svg>
</div>
<div class="not-dev-text">
<h2 class="title">即将上线</h2>
<p class="subtitle">敬请期待...</p>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'NotDev',
data() {
return {}
},
}
</script>
<style lang="scss" scoped>
.not-dev-container {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
.not-dev-content {
text-align: center;
padding: 40px;
border-radius: 16px;
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
.not-dev-image {
margin-bottom: 32px;
svg {
filter: drop-shadow(0 8px 16px rgba(59, 130, 246, 0.15));
transition: transform 0.3s ease;
&:hover {
transform: translateY(-8px);
}
}
}
.not-dev-text {
.title {
font-size: 32px;
font-weight: 600;
color: #1e3a8a;
margin: 0 0 16px 0;
letter-spacing: 2px;
}
.subtitle {
font-size: 18px;
color: #64748b;
margin: 0;
font-weight: 400;
letter-spacing: 1px;
}
}
}
}
//
@media (max-width: 768px) {
.not-dev-container {
padding: 20px;
.not-dev-content {
padding: 30px 20px;
.not-dev-image svg {
width: 300px;
height: 300px;
}
.not-dev-text {
.title {
font-size: 28px;
}
.subtitle {
font-size: 16px;
}
}
}
}
}
@media (max-width: 480px) {
.not-dev-container {
.not-dev-content {
.not-dev-image svg {
width: 250px;
height: 250px;
}
.not-dev-text {
.title {
font-size: 24px;
}
.subtitle {
font-size: 14px;
}
}
}
}
}
</style>