Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
@font-face {
|
||||
font-family: "iconfont"; /* Project id 4236293 */
|
||||
src: url('iconfont.woff2?t=1721283373084') format('woff2'),
|
||||
url('iconfont.woff?t=1721283373084') format('woff'),
|
||||
url('iconfont.ttf?t=1721283373084') format('truetype');
|
||||
src: url('iconfont.woff2?t=1723190928792') format('woff2'),
|
||||
url('iconfont.woff?t=1723190928792') format('woff'),
|
||||
url('iconfont.ttf?t=1723190928792') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
@@ -13,6 +13,18 @@
|
||||
-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 {
|
||||
content: "\e706";
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,6 +5,27 @@
|
||||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"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",
|
||||
"name": "fill-message-square",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -780,11 +780,11 @@ module.exports = {
|
||||
},
|
||||
// 登录
|
||||
login: {
|
||||
systemName: 'Chery Standard regulation management system',
|
||||
systemName: 'Chery Global Regulation And Standard Management System',
|
||||
language: 'English',
|
||||
userLogin: 'ACCOUNT LOGIN',
|
||||
account: 'Account Number',
|
||||
password: 'Cipher',
|
||||
password: 'Password',
|
||||
code: 'Verification Code',
|
||||
login: 'Login',
|
||||
showPassword: 'Show Password',
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
module.exports = {
|
||||
configStandard: 'Configuration standard', // 配置标准
|
||||
removeStandard: 'Removal criteria', // 移出标准
|
||||
nodeName: 'Node name', // 节点名称
|
||||
nodeOrder: 'Node ordering', // 节点排序
|
||||
configStandard: 'Configuration Standard', // 配置标准
|
||||
removeStandard: 'Removal Criteria', // 移出标准
|
||||
nodeName: 'Node Name', // 节点名称
|
||||
nodeOrder: 'Node Ordering', // 节点排序
|
||||
configStandardNoTreeNode: 'Please select Level 2 and below system first', // 请先选择二级及以下体系
|
||||
selectLeastOneTableData: 'Select at least one list data', // 选中至少一条列表数据
|
||||
standardResolutionSheet: 'Standard interpretation', // 标准解读
|
||||
updateRecord: 'Update record', // 更新记录
|
||||
submitQuestion: 'Submit a question', // 提交问题
|
||||
standardCatalogue: 'Standard catalogue', // 标准目录
|
||||
clauseLabel: 'Clause label', // 条文标签
|
||||
updateRecord: 'Update Record', // 更新记录
|
||||
submitQuestion: 'Submit A Question', // 提交问题
|
||||
standardCatalogue: 'Standard Catalogue', // 标准目录
|
||||
clauseLabel: 'Article Label', // 条文标签
|
||||
translation: 'Translation',
|
||||
clauseNumber: 'Article number', // 条文号
|
||||
clauseTitle: 'Title of article', // 条文标题
|
||||
regulatoryRequirementsType: 'Types of regulatory requirements', // 法规要求类型
|
||||
functionalClassification: 'Functional classification', // 功能分类
|
||||
functionalSpecialty: 'Functional specialty', // 功能专业
|
||||
blockCoding: 'Block coding', // 分组编码
|
||||
groupName: 'Group name', // 分组名称
|
||||
clauseTitle: 'Title of Article', // 条文标题
|
||||
regulatoryRequirementsType: 'Types of Regulatory Requirements', // 法规要求类型
|
||||
functionalClassification: 'Functional Classification', // 功能分类
|
||||
functionalSpecialty: 'Functional Specialty', // 功能专业
|
||||
blockCoding: 'Block Coding', // 分组编码
|
||||
groupName: 'Group Name', // 分组名称
|
||||
newCertificationImplementationTime: 'New Production Vehicle Implementation Date', // 新认证实施时间
|
||||
certifiedImplementationTime: 'Certified implementation time', // 已认证实施时间
|
||||
newRegistrationImplementationTime: 'New registration implementation time', // 新注册实施时间
|
||||
certifiedImplementationTime: 'Certified Implementation Time', // 已认证实施时间
|
||||
newRegistrationImplementationTime: 'New Registration Implementation Time', // 新注册实施时间
|
||||
applicableVehicleType: 'Vehicle Catagory', // 适用车型
|
||||
dynamicType: 'Power Propulsion Type', // 动力类型
|
||||
inputExample: 'Input example:', // 输入示例
|
||||
inputExample: 'Input Example:', // 输入示例
|
||||
applicableComponents: 'Applicable Components',
|
||||
involvingSystemsComponents: 'Related System(s)/Component(s)',
|
||||
applications: 'Vehicle Catagory',
|
||||
@@ -52,9 +52,9 @@ module.exports = {
|
||||
// 资料中心
|
||||
profileCenter: {
|
||||
typeOfOwnership: 'Type of ownership',
|
||||
uploadData: 'Upload data',
|
||||
addAPeer: 'Add a peer',
|
||||
newChild: 'New child',
|
||||
uploadData: 'Upload Data',
|
||||
addAPeer: 'Add A Peer',
|
||||
newChild: 'New Child',
|
||||
pleaseSelectTheDirectoryOnTheLeft: 'Please select the directory on the left'
|
||||
},
|
||||
// 市场法规清单
|
||||
@@ -68,11 +68,11 @@ module.exports = {
|
||||
listVersion: 'Version',
|
||||
releaseTime: 'Published Date',
|
||||
listState: 'Status',
|
||||
customName: 'Custom name',
|
||||
securityClass: 'Confidential level',
|
||||
listDeclaration: 'Manifest declaration',
|
||||
customName: 'Custom Name',
|
||||
securityClass: 'Confidential Level',
|
||||
listDeclaration: 'Manifest Declaration',
|
||||
templateName: 'Market regulation list import template',
|
||||
historicalVersion: 'Historical version',
|
||||
historicalVersion: 'Historical Version',
|
||||
standardExist: 'The standard already exists',
|
||||
haveStandardExist: 'Some standards already exist',
|
||||
pleaseSelectAListPublish: 'Please select a list to publish',
|
||||
|
||||
@@ -166,7 +166,9 @@ export default {
|
||||
<!-- update_begin author:sunjianlei date:20190530 for: 选中首页的时候不显示背景颜色 -->
|
||||
<style lang="less">
|
||||
.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 {
|
||||
width: 64px;
|
||||
& > .ant-menu-item,
|
||||
|
||||
@@ -44,7 +44,7 @@ export default {
|
||||
headers: '',
|
||||
previewImage: {},
|
||||
uploadFileFlag: 0,
|
||||
fileMaxSize: 500
|
||||
fileMaxSize: 20
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
||||
@@ -136,7 +136,8 @@ export default {
|
||||
{
|
||||
title: this.$t('docTool.comparison.oldTextState'),
|
||||
width: 150,
|
||||
dataIndex: 'fileTypeLeft_dictText'
|
||||
dataIndex: 'fileTypeLeft_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
// 新文档文本号
|
||||
{
|
||||
@@ -156,13 +157,15 @@ export default {
|
||||
{
|
||||
title: this.$t('docTool.comparison.newTextState'),
|
||||
width: 150,
|
||||
dataIndex: 'fileTypeRight_dictText'
|
||||
dataIndex: 'fileTypeRight_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
// 发布情况
|
||||
{
|
||||
title: this.$t('docTool.comparison.releaseSituation'),
|
||||
width: 150,
|
||||
dataIndex: 'releaseState_dictText'
|
||||
dataIndex: 'releaseState_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
// 创建人
|
||||
{
|
||||
|
||||
@@ -183,7 +183,8 @@ export default {
|
||||
{
|
||||
dataIndex: 'fileType_dictText',
|
||||
title: this.$t('docTool.split.fileStatus'),
|
||||
width: 150
|
||||
width: 150,
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
// 文件名称
|
||||
{
|
||||
@@ -195,7 +196,8 @@ export default {
|
||||
{
|
||||
dataIndex: 'splitStatus_dictText',
|
||||
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>
|
||||
</div>
|
||||
<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">
|
||||
<!--文本-->
|
||||
<a-input type="textarea"
|
||||
@@ -237,6 +237,7 @@ import { getAction } from '../../../../api/manage'
|
||||
import { getFormDictTreeList } from '../../../../api/api'
|
||||
import STreeSelect from '../../../../components/STreeSelect'
|
||||
import TreeSelection from '../../../../components/selection/TreeSelection'
|
||||
import { randomUUID } from '@/utils/util'
|
||||
|
||||
export default {
|
||||
name: 'SplitAddForm',
|
||||
@@ -491,22 +492,40 @@ export default {
|
||||
for (let i = 0; i < content; i++) {
|
||||
insertArr.push({
|
||||
id: '',
|
||||
uuid: randomUUID(),
|
||||
type: TypeOfClauseItem.TEXT.value,
|
||||
itemContent: ''
|
||||
})
|
||||
}
|
||||
break
|
||||
case TypeOfClauseItem.IMG.value:
|
||||
insertArr[0] = {
|
||||
id: '',
|
||||
type: TypeOfClauseItem.IMG.value,
|
||||
itemContent: content.file.response.result.url,
|
||||
thumbUrl: window._CONFIG.domianURL + '/sys/split/file/getImage?fileName=' + content.file.response.result.fileName
|
||||
// 处理上传接口报错的情况
|
||||
if (content.imgs) {
|
||||
content.imgs.forEach(file => {
|
||||
insertArr.push({
|
||||
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
|
||||
case TypeOfClauseItem.TABLE.value:
|
||||
insertArr[0] = {
|
||||
id: '',
|
||||
uuid: randomUUID(),
|
||||
type: 'TABLE',
|
||||
itemContent: content[0]
|
||||
}
|
||||
|
||||
@@ -159,8 +159,11 @@ export default {
|
||||
},
|
||||
// 上传文件
|
||||
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)
|
||||
},
|
||||
// 确定增加的类型
|
||||
|
||||
@@ -132,14 +132,14 @@ export default {
|
||||
title: this.$t('docTool.ocrTextRecognition.textStatus'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'fileTypeDictText',
|
||||
dataIndex: this.isChinese() ? 'fileTypeDictText' : 'fileTypeDictTextEn',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 转换结果
|
||||
title: this.$t('docTool.ocrTextRecognition.conversionResults'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'resultContentDictText',
|
||||
dataIndex: this.isChinese() ? 'resultContentDictText' : 'resultContentDictTextEn',
|
||||
scopedSlots: { customRender: 'tag' }
|
||||
},
|
||||
{ // 消耗时间
|
||||
|
||||
@@ -136,6 +136,10 @@ export default {
|
||||
permissionIds: that.checkedKeys.join(','),
|
||||
lastpermissionIds: that.defaultCheckedKeys.join(',')
|
||||
}
|
||||
// 只勾选父节点确定后,再次打开点击父子关联时,节点只是回显,没有被真实勾上,这里需要拿到所有子集的id
|
||||
if (!that.checkStrictly) {
|
||||
params.permissionIds = that.collectAllRelatedKeys(this.treeData, [...that.checkedKeys]).join(',')
|
||||
}
|
||||
that.loading = true
|
||||
console.log('请求参数:', params)
|
||||
saveRolePermission(params).then((res) => {
|
||||
@@ -166,6 +170,36 @@ export default {
|
||||
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: {
|
||||
|
||||
@@ -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 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 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 {
|
||||
name: 'Icons',
|
||||
props: {
|
||||
|
||||
@@ -154,7 +154,7 @@ export default {
|
||||
title: this.$t('system.tag.showArea'),
|
||||
width: 100,
|
||||
dataIndex: 'showArea_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -354,7 +354,7 @@ export default {
|
||||
z-index: 99;
|
||||
width: 28%;
|
||||
height: fit-content;
|
||||
padding: 20px 16px 70px;
|
||||
padding: 30px 30px 70px;
|
||||
min-width: 332px;
|
||||
min-height: 460px;
|
||||
background: #fff;
|
||||
@@ -415,7 +415,7 @@ export default {
|
||||
@media screen and (max-width: 1366px) {
|
||||
.user-layout-login {
|
||||
width: 30%;
|
||||
padding: 20px 16px;
|
||||
padding: 20px 30px;
|
||||
|
||||
.user-box {
|
||||
.title {
|
||||
|
||||
Reference in New Issue
Block a user