Merge remote-tracking branch 'origin/master'

This commit is contained in:
lideqin
2024-08-09 19:31:08 +08:00
19 changed files with 147 additions and 51 deletions
+15 -3
View File
@@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 4236293 */ font-family: "iconfont"; /* Project id 4236293 */
src: url('iconfont.woff2?t=1721283373084') format('woff2'), src: url('iconfont.woff2?t=1723190928792') format('woff2'),
url('iconfont.woff?t=1721283373084') format('woff'), url('iconfont.woff?t=1723190928792') format('woff'),
url('iconfont.ttf?t=1721283373084') format('truetype'); url('iconfont.ttf?t=1723190928792') format('truetype');
} }
.iconfont { .iconfont {
@@ -13,6 +13,18 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-xiaoxi-mian--:before {
content: "\e60e";
}
.icon-yun:before {
content: "\e6e2";
}
.icon-rizhi:before {
content: "\e64e";
}
.icon-fill-message-square:before { .icon-fill-message-square:before {
content: "\e706"; content: "\e706";
} }
File diff suppressed because one or more lines are too long
+21
View File
@@ -5,6 +5,27 @@
"css_prefix_text": "icon-", "css_prefix_text": "icon-",
"description": "", "description": "",
"glyphs": [ "glyphs": [
{
"icon_id": "5158298",
"name": "message",
"font_class": "xiaoxi-mian--",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "8361930",
"name": "cloud",
"font_class": "yun",
"unicode": "e6e2",
"unicode_decimal": 59106
},
{
"icon_id": "8431682",
"name": "log",
"font_class": "rizhi",
"unicode": "e64e",
"unicode_decimal": 58958
},
{ {
"icon_id": "38297476", "icon_id": "38297476",
"name": "fill-message-square", "name": "fill-message-square",
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -780,11 +780,11 @@ module.exports = {
}, },
// 登录 // 登录
login: { login: {
systemName: 'Chery Standard regulation management system', systemName: 'Chery Global Regulation And Standard Management System',
language: 'English', language: 'English',
userLogin: 'ACCOUNT LOGIN', userLogin: 'ACCOUNT LOGIN',
account: 'Account Number', account: 'Account Number',
password: 'Cipher', password: 'Password',
code: 'Verification Code', code: 'Verification Code',
login: 'Login', login: 'Login',
showPassword: 'Show Password', showPassword: 'Show Password',
@@ -1,29 +1,29 @@
module.exports = { module.exports = {
configStandard: 'Configuration standard', // 配置标准 configStandard: 'Configuration Standard', // 配置标准
removeStandard: 'Removal criteria', // 移出标准 removeStandard: 'Removal Criteria', // 移出标准
nodeName: 'Node name', // 节点名称 nodeName: 'Node Name', // 节点名称
nodeOrder: 'Node ordering', // 节点排序 nodeOrder: 'Node Ordering', // 节点排序
configStandardNoTreeNode: 'Please select Level 2 and below system first', // 请先选择二级及以下体系 configStandardNoTreeNode: 'Please select Level 2 and below system first', // 请先选择二级及以下体系
selectLeastOneTableData: 'Select at least one list data', // 选中至少一条列表数据 selectLeastOneTableData: 'Select at least one list data', // 选中至少一条列表数据
standardResolutionSheet: 'Standard interpretation', // 标准解读 standardResolutionSheet: 'Standard interpretation', // 标准解读
updateRecord: 'Update record', // 更新记录 updateRecord: 'Update Record', // 更新记录
submitQuestion: 'Submit a question', // 提交问题 submitQuestion: 'Submit A Question', // 提交问题
standardCatalogue: 'Standard catalogue', // 标准目录 standardCatalogue: 'Standard Catalogue', // 标准目录
clauseLabel: 'Clause label', // 条文标签 clauseLabel: 'Article Label', // 条文标签
translation: 'Translation', translation: 'Translation',
clauseNumber: 'Article number', // 条文号 clauseNumber: 'Article number', // 条文号
clauseTitle: 'Title of article', // 条文标题 clauseTitle: 'Title of Article', // 条文标题
regulatoryRequirementsType: 'Types of regulatory requirements', // 法规要求类型 regulatoryRequirementsType: 'Types of Regulatory Requirements', // 法规要求类型
functionalClassification: 'Functional classification', // 功能分类 functionalClassification: 'Functional Classification', // 功能分类
functionalSpecialty: 'Functional specialty', // 功能专业 functionalSpecialty: 'Functional Specialty', // 功能专业
blockCoding: 'Block coding', // 分组编码 blockCoding: 'Block Coding', // 分组编码
groupName: 'Group name', // 分组名称 groupName: 'Group Name', // 分组名称
newCertificationImplementationTime: 'New Production Vehicle Implementation Date', // 新认证实施时间 newCertificationImplementationTime: 'New Production Vehicle Implementation Date', // 新认证实施时间
certifiedImplementationTime: 'Certified implementation time', // 已认证实施时间 certifiedImplementationTime: 'Certified Implementation Time', // 已认证实施时间
newRegistrationImplementationTime: 'New registration implementation time', // 新注册实施时间 newRegistrationImplementationTime: 'New Registration Implementation Time', // 新注册实施时间
applicableVehicleType: 'Vehicle Catagory', // 适用车型 applicableVehicleType: 'Vehicle Catagory', // 适用车型
dynamicType: 'Power Propulsion Type', // 动力类型 dynamicType: 'Power Propulsion Type', // 动力类型
inputExample: 'Input example:', // 输入示例 inputExample: 'Input Example:', // 输入示例
applicableComponents: 'Applicable Components', applicableComponents: 'Applicable Components',
involvingSystemsComponents: 'Related System(s)/Component(s)', involvingSystemsComponents: 'Related System(s)/Component(s)',
applications: 'Vehicle Catagory', applications: 'Vehicle Catagory',
@@ -52,9 +52,9 @@ module.exports = {
// 资料中心 // 资料中心
profileCenter: { profileCenter: {
typeOfOwnership: 'Type of ownership', typeOfOwnership: 'Type of ownership',
uploadData: 'Upload data', uploadData: 'Upload Data',
addAPeer: 'Add a peer', addAPeer: 'Add A Peer',
newChild: 'New child', newChild: 'New Child',
pleaseSelectTheDirectoryOnTheLeft: 'Please select the directory on the left' pleaseSelectTheDirectoryOnTheLeft: 'Please select the directory on the left'
}, },
// 市场法规清单 // 市场法规清单
@@ -68,11 +68,11 @@ module.exports = {
listVersion: 'Version', listVersion: 'Version',
releaseTime: 'Published Date', releaseTime: 'Published Date',
listState: 'Status', listState: 'Status',
customName: 'Custom name', customName: 'Custom Name',
securityClass: 'Confidential level', securityClass: 'Confidential Level',
listDeclaration: 'Manifest declaration', listDeclaration: 'Manifest Declaration',
templateName: 'Market regulation list import template', templateName: 'Market regulation list import template',
historicalVersion: 'Historical version', historicalVersion: 'Historical Version',
standardExist: 'The standard already exists', standardExist: 'The standard already exists',
haveStandardExist: 'Some standards already exist', haveStandardExist: 'Some standards already exist',
pleaseSelectAListPublish: 'Please select a list to publish', pleaseSelectAListPublish: 'Please select a list to publish',
+3 -1
View File
@@ -166,7 +166,9 @@ export default {
<!-- update_begin author:sunjianlei date:20190530 for: 选中首页的时候不显示背景颜色 --> <!-- update_begin author:sunjianlei date:20190530 for: 选中首页的时候不显示背景颜色 -->
<style lang="less"> <style lang="less">
.ant-menu.ant-menu-root { .ant-menu.ant-menu-root {
&:not(.ant-menu-horizontal) .ant-menu-item-selected {
background-color: rgba(0, 100, 250, 0.08);
}
&.ant-menu-inline-collapsed { &.ant-menu-inline-collapsed {
width: 64px; width: 64px;
& > .ant-menu-item, & > .ant-menu-item,
@@ -44,7 +44,7 @@ export default {
headers: '', headers: '',
previewImage: {}, previewImage: {},
uploadFileFlag: 0, uploadFileFlag: 0,
fileMaxSize: 500 fileMaxSize: 20
} }
}, },
created () { created () {
@@ -136,7 +136,8 @@ export default {
{ {
title: this.$t('docTool.comparison.oldTextState'), title: this.$t('docTool.comparison.oldTextState'),
width: 150, width: 150,
dataIndex: 'fileTypeLeft_dictText' dataIndex: 'fileTypeLeft_dictText',
scopedSlots: { customRender: 'dictText' }
}, },
// 新文档文本号 // 新文档文本号
{ {
@@ -156,13 +157,15 @@ export default {
{ {
title: this.$t('docTool.comparison.newTextState'), title: this.$t('docTool.comparison.newTextState'),
width: 150, width: 150,
dataIndex: 'fileTypeRight_dictText' dataIndex: 'fileTypeRight_dictText',
scopedSlots: { customRender: 'dictText' }
}, },
// 发布情况 // 发布情况
{ {
title: this.$t('docTool.comparison.releaseSituation'), title: this.$t('docTool.comparison.releaseSituation'),
width: 150, width: 150,
dataIndex: 'releaseState_dictText' dataIndex: 'releaseState_dictText',
scopedSlots: { customRender: 'dictText' }
}, },
// 创建人 // 创建人
{ {
@@ -183,7 +183,8 @@ export default {
{ {
dataIndex: 'fileType_dictText', dataIndex: 'fileType_dictText',
title: this.$t('docTool.split.fileStatus'), title: this.$t('docTool.split.fileStatus'),
width: 150 width: 150,
scopedSlots: { customRender: 'dictText' }
}, },
// 文件名称 // 文件名称
{ {
@@ -195,7 +196,8 @@ export default {
{ {
dataIndex: 'splitStatus_dictText', dataIndex: 'splitStatus_dictText',
title: this.$t('docTool.split.splitState'), title: this.$t('docTool.split.splitState'),
width: 150 width: 150,
scopedSlots: { customRender: 'dictText' }
}, },
// 编辑人 // 编辑人
{ {
@@ -177,7 +177,7 @@
<a-button type="primary" icon="plus" ghost @click="handleAddClauseContent(-1)">{{ $t('newlyAdded') }}</a-button> <a-button type="primary" icon="plus" ghost @click="handleAddClauseContent(-1)">{{ $t('newlyAdded') }}</a-button>
</div> </div>
<template v-if="contentList && contentList.length > 0"> <template v-if="contentList && contentList.length > 0">
<div class="clause-item" v-for="(clause, index) in contentList" :key="index + 'clause'"> <div class="clause-item" v-for="(clause, index) in contentList" :key="clause.uuid || (index + 'clause')">
<div class="clause-item-content"> <div class="clause-item-content">
<!--文本--> <!--文本-->
<a-input type="textarea" <a-input type="textarea"
@@ -237,6 +237,7 @@ import { getAction } from '../../../../api/manage'
import { getFormDictTreeList } from '../../../../api/api' import { getFormDictTreeList } from '../../../../api/api'
import STreeSelect from '../../../../components/STreeSelect' import STreeSelect from '../../../../components/STreeSelect'
import TreeSelection from '../../../../components/selection/TreeSelection' import TreeSelection from '../../../../components/selection/TreeSelection'
import { randomUUID } from '@/utils/util'
export default { export default {
name: 'SplitAddForm', name: 'SplitAddForm',
@@ -491,22 +492,40 @@ export default {
for (let i = 0; i < content; i++) { for (let i = 0; i < content; i++) {
insertArr.push({ insertArr.push({
id: '', id: '',
uuid: randomUUID(),
type: TypeOfClauseItem.TEXT.value, type: TypeOfClauseItem.TEXT.value,
itemContent: '' itemContent: ''
}) })
} }
break break
case TypeOfClauseItem.IMG.value: case TypeOfClauseItem.IMG.value:
insertArr[0] = { // 处理上传接口报错的情况
id: '', if (content.imgs) {
type: TypeOfClauseItem.IMG.value, content.imgs.forEach(file => {
itemContent: content.file.response.result.url, insertArr.push({
thumbUrl: window._CONFIG.domianURL + '/sys/split/file/getImage?fileName=' + content.file.response.result.fileName id: '',
uuid: randomUUID(),
type: TypeOfClauseItem.IMG.value,
itemContent: file.response.result.url,
thumbUrl: window._CONFIG.domianURL + '/sys/split/file/getImage?fileName=' + file.response.result.fileName
})
})
} }
// if (content.file.response.result && content.file.response.result.url) {
// console.log(content.file.response.result.id)
// insertArr[0] = {
// id: '',
// uuid: randomUUID(),
// type: TypeOfClauseItem.IMG.value,
// itemContent: content.file.response.result.url,
// thumbUrl: window._CONFIG.domianURL + '/sys/split/file/getImage?fileName=' + content.file.response.result.fileName
// }
// }
break break
case TypeOfClauseItem.TABLE.value: case TypeOfClauseItem.TABLE.value:
insertArr[0] = { insertArr[0] = {
id: '', id: '',
uuid: randomUUID(),
type: 'TABLE', type: 'TABLE',
itemContent: content[0] itemContent: content[0]
} }
@@ -159,8 +159,11 @@ export default {
}, },
// 上传文件 // 上传文件
uploadSuccess (file, data, imgs) { uploadSuccess (file, data, imgs) {
this.$emit('ok', TypeOfClauseItem.IMG.value, { file, data, imgs }) // 所有文件都上传完成再去关闭弹框
this.visible = false if (Array.isArray(imgs) && imgs.every(item => item.status === 'done')) {
this.$emit('ok', TypeOfClauseItem.IMG.value, { file, data, imgs })
this.visible = false
}
// this.$emit('addImageOk', file, data, imgs) // this.$emit('addImageOk', file, data, imgs)
}, },
// 确定增加的类型 // 确定增加的类型
@@ -132,14 +132,14 @@ export default {
title: this.$t('docTool.ocrTextRecognition.textStatus'), title: this.$t('docTool.ocrTextRecognition.textStatus'),
align: 'center', align: 'center',
width: 180, width: 180,
dataIndex: 'fileTypeDictText', dataIndex: this.isChinese() ? 'fileTypeDictText' : 'fileTypeDictTextEn',
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'text' }
}, },
{ // 转换结果 { // 转换结果
title: this.$t('docTool.ocrTextRecognition.conversionResults'), title: this.$t('docTool.ocrTextRecognition.conversionResults'),
align: 'center', align: 'center',
width: 180, width: 180,
dataIndex: 'resultContentDictText', dataIndex: this.isChinese() ? 'resultContentDictText' : 'resultContentDictTextEn',
scopedSlots: { customRender: 'tag' } scopedSlots: { customRender: 'tag' }
}, },
{ // 消耗时间 { // 消耗时间
@@ -136,6 +136,10 @@ export default {
permissionIds: that.checkedKeys.join(','), permissionIds: that.checkedKeys.join(','),
lastpermissionIds: that.defaultCheckedKeys.join(',') lastpermissionIds: that.defaultCheckedKeys.join(',')
} }
// 只勾选父节点确定后,再次打开点击父子关联时,节点只是回显,没有被真实勾上,这里需要拿到所有子集的id
if (!that.checkStrictly) {
params.permissionIds = that.collectAllRelatedKeys(this.treeData, [...that.checkedKeys]).join(',')
}
that.loading = true that.loading = true
console.log('请求参数:', params) console.log('请求参数:', params)
saveRolePermission(params).then((res) => { saveRolePermission(params).then((res) => {
@@ -166,6 +170,36 @@ export default {
console.log(this.defaultCheckedKeys) console.log(this.defaultCheckedKeys)
}) })
}) })
},
/**
* 返回父子关联的keys
* @param tree - 树结构
* @param keys - 当前勾选的keys
* @return {any[]} - 返回所有父子关联的key
*/
collectAllRelatedKeys (tree, keys) {
const result = new Set() // 使用集合来避免重复
function findAndCollectNodes (nodes) {
for (const node of nodes) {
if (keys.includes(node.key)) {
collectAllDescendants(node)
} else if (node.children) {
findAndCollectNodes(node.children)
}
}
}
function collectAllDescendants (node) {
if (!result.has(node.key)) {
result.add(node.key)
}
if (node.children) {
for (const child of node.children) {
collectAllDescendants(child)
}
}
}
findAndCollectNodes(tree)
return Array.from(result)
} }
}, },
watch: { watch: {
+1 -1
View File
@@ -72,7 +72,7 @@ const editIcons = ['edit', 'form', 'copy', 'scissor', 'delete', 'snippets', 'dif
const dataIcons = ['area-chart', 'pie-chart', 'bar-chart', 'dot-chart', 'line-chart', 'radar-chart', 'heat-map', 'fall', 'rise', 'stock', 'box-plot', 'fund', 'sliders'] const dataIcons = ['area-chart', 'pie-chart', 'bar-chart', 'dot-chart', 'line-chart', 'radar-chart', 'heat-map', 'fall', 'rise', 'stock', 'box-plot', 'fund', 'sliders']
const webIcons = ['lock', 'unlock', 'bars', 'book', 'calendar', 'cloud', 'cloud-download', 'code', 'copy', 'credit-card', 'delete', 'desktop', 'download', 'ellipsis', 'file', 'file-text', 'file-unknown', 'file-pdf', 'file-word', 'file-excel', 'file-jpg', 'file-ppt', 'file-markdown', 'file-add', 'folder', 'folder-open', 'folder-add', 'hdd', 'frown', 'meh', 'smile', 'inbox', 'laptop', 'appstore', 'link', 'mail', 'mobile', 'notification', 'paper-clip', 'picture', 'poweroff', 'reload', 'search', 'setting', 'share-alt', 'shopping-cart', 'tablet', 'tag', 'tags', 'to-top', 'upload', 'user', 'video-camera', 'home', 'loading', 'loading-3-quarters', 'cloud-upload', 'star', 'heart', 'environment', 'eye', 'camera', 'save', 'team', 'solution', 'phone', 'filter', 'exception', 'export', 'customer-service', 'qrcode', 'scan', 'like', 'dislike', 'message', 'pay-circle', 'calculator', 'pushpin', 'bulb', 'select', 'switcher', 'rocket', 'bell', 'disconnect', 'database', 'compass', 'barcode', 'hourglass', 'key', 'flag', 'layout', 'printer', 'sound', 'usb', 'skin', 'tool', 'sync', 'wifi', 'car', 'schedule', 'user-add', 'user-delete', 'usergroup-add', 'usergroup-delete', 'man', 'woman', 'shop', 'gift', 'idcard', 'medicine-box', 'red-envelope', 'coffee', 'copyright', 'trademark', 'safety', 'wallet', 'bank', 'trophy', 'contacts', 'global', 'shake', 'api', 'fork', 'dashboard', 'table', 'profile', 'alert', 'audit', 'branches', 'build', 'border', 'crown', 'experiment', 'fire', 'money-collect', 'property-safety', 'read', 'reconciliation', 'rest', 'security-scan', 'insurance', 'interation', 'safety-certificate', 'project', 'thunderbolt', 'block', 'cluster', 'deployment-unit', 'dollar', 'euro', 'pound', 'file-done', 'file-exclamation', 'file-protect', 'file-search', 'file-sync', 'gateway', 'gold', 'robot', 'shopping'] const webIcons = ['lock', 'unlock', 'bars', 'book', 'calendar', 'cloud', 'cloud-download', 'code', 'copy', 'credit-card', 'delete', 'desktop', 'download', 'ellipsis', 'file', 'file-text', 'file-unknown', 'file-pdf', 'file-word', 'file-excel', 'file-jpg', 'file-ppt', 'file-markdown', 'file-add', 'folder', 'folder-open', 'folder-add', 'hdd', 'frown', 'meh', 'smile', 'inbox', 'laptop', 'appstore', 'link', 'mail', 'mobile', 'notification', 'paper-clip', 'picture', 'poweroff', 'reload', 'search', 'setting', 'share-alt', 'shopping-cart', 'tablet', 'tag', 'tags', 'to-top', 'upload', 'user', 'video-camera', 'home', 'loading', 'loading-3-quarters', 'cloud-upload', 'star', 'heart', 'environment', 'eye', 'camera', 'save', 'team', 'solution', 'phone', 'filter', 'exception', 'export', 'customer-service', 'qrcode', 'scan', 'like', 'dislike', 'message', 'pay-circle', 'calculator', 'pushpin', 'bulb', 'select', 'switcher', 'rocket', 'bell', 'disconnect', 'database', 'compass', 'barcode', 'hourglass', 'key', 'flag', 'layout', 'printer', 'sound', 'usb', 'skin', 'tool', 'sync', 'wifi', 'car', 'schedule', 'user-add', 'user-delete', 'usergroup-add', 'usergroup-delete', 'man', 'woman', 'shop', 'gift', 'idcard', 'medicine-box', 'red-envelope', 'coffee', 'copyright', 'trademark', 'safety', 'wallet', 'bank', 'trophy', 'contacts', 'global', 'shake', 'api', 'fork', 'dashboard', 'table', 'profile', 'alert', 'audit', 'branches', 'build', 'border', 'crown', 'experiment', 'fire', 'money-collect', 'property-safety', 'read', 'reconciliation', 'rest', 'security-scan', 'insurance', 'interation', 'safety-certificate', 'project', 'thunderbolt', 'block', 'cluster', 'deployment-unit', 'dollar', 'euro', 'pound', 'file-done', 'file-exclamation', 'file-protect', 'file-search', 'file-sync', 'gateway', 'gold', 'robot', 'shopping']
const logoIcons = ['android', 'apple', 'windows', 'ie', 'chrome', 'github', 'aliwangwang', 'dingding', 'weibo-square', 'weibo-circle', 'taobao-circle', 'html5', 'weibo', 'twitter', 'wechat', 'youtube', 'alipay-circle', 'taobao', 'skype', 'qq', 'medium-workmark', 'gitlab', 'medium', 'linkedin', 'google-plus', 'dropbox', 'facebook', 'codepen', 'amazon', 'google', 'codepen-circle', 'alipay', 'ant-design', 'aliyun', 'zhihu', 'slack', 'slack-square', 'behance', 'behance-square', 'dribbble', 'dribbble-square', 'instagram', 'yuque', 'alibaba', 'yahoo'] const logoIcons = ['android', 'apple', 'windows', 'ie', 'chrome', 'github', 'aliwangwang', 'dingding', 'weibo-square', 'weibo-circle', 'taobao-circle', 'html5', 'weibo', 'twitter', 'wechat', 'youtube', 'alipay-circle', 'taobao', 'skype', 'qq', 'medium-workmark', 'gitlab', 'medium', 'linkedin', 'google-plus', 'dropbox', 'facebook', 'codepen', 'amazon', 'google', 'codepen-circle', 'alipay', 'ant-design', 'aliyun', 'zhihu', 'slack', 'slack-square', 'behance', 'behance-square', 'dribbble', 'dribbble-square', 'instagram', 'yuque', 'alibaba', 'yahoo']
const selfIcons = ['icon-kucun_crm', 'icon-24gf-folderOpen', 'icon-qicheweixiu', 'icon-yujing', 'icon-shezhi', 'icon-shouye', 'icon-file-star', 'icon-file-set', 'icon-a-iconfontgerenzhongxin1', 'icon-yingyong', 'icon-fill-message-square'] const selfIcons = ['icon-kucun_crm', 'icon-24gf-folderOpen', 'icon-qicheweixiu', 'icon-yujing', 'icon-shezhi', 'icon-shouye', 'icon-file-star', 'icon-file-set', 'icon-a-iconfontgerenzhongxin1', 'icon-yingyong', 'icon-fill-message-square', 'icon-xiaoxi-mian--', 'icon-yun', 'icon-rizhi']
export default { export default {
name: 'Icons', name: 'Icons',
props: { props: {
+1 -1
View File
@@ -154,7 +154,7 @@ export default {
title: this.$t('system.tag.showArea'), title: this.$t('system.tag.showArea'),
width: 100, width: 100,
dataIndex: 'showArea_dictText', dataIndex: 'showArea_dictText',
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'dictText' }
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
+2 -2
View File
@@ -354,7 +354,7 @@ export default {
z-index: 99; z-index: 99;
width: 28%; width: 28%;
height: fit-content; height: fit-content;
padding: 20px 16px 70px; padding: 30px 30px 70px;
min-width: 332px; min-width: 332px;
min-height: 460px; min-height: 460px;
background: #fff; background: #fff;
@@ -415,7 +415,7 @@ export default {
@media screen and (max-width: 1366px) { @media screen and (max-width: 1366px) {
.user-layout-login { .user-layout-login {
width: 30%; width: 30%;
padding: 20px 16px; padding: 20px 30px;
.user-box { .user-box {
.title { .title {