From 7427898c42c0407c6d4b78191e3ab804bdf3ecd8 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 10 Mar 2025 21:42:13 +0800 Subject: [PATCH] =?UTF-8?q?UI=E6=A0=B7=E5=BC=8F=E5=A4=A7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env | 2 +- src/common/uitls.ts | 9 + src/common/work.ts | 2 +- .../CategorySelect/CategorySelect.vue | 15 +- src/components/Grid/Grid.vue | 100 ++ src/components/PageLayout/PageLayout.vue | 9 +- src/components/SelectDept/SelectDept.vue | 22 +- src/components/SelectUser/SelectUser.vue | 10 +- .../SelectUser/components/SelectUserModal.vue | 7 +- src/components/TreeSelect/TreeSelect.vue | 19 +- src/components/online/online-loader.vue | 248 ++-- src/components/online/view/online-time.vue | 1 - src/pages-message/contacts/contacts.vue | 1 + src/pages-sub/online/online.vue | 14 +- src/pages-sub/online/onlineCard.vue | 8 +- src/pages-sub/online/onlineTable.vue | 13 +- src/pages-work/components/hooks/useEchart.ts | 9 + src/pages-work/dragPage/index.vue | 2 +- src/pages-work/static/echarts.min.js | 61 + src/pages/annotation/annotationDetail.vue | 17 +- src/pages/demo/demo.vue | 177 ++- src/pages/demo/form.vue | 58 +- src/pages/demo/tree.vue | 23 +- src/pages/index/index.vue | 120 +- src/pages/login/login.vue | 146 ++- src/pages/message/components/chatList.vue | 6 + src/pages/user/people.vue | 15 +- src/static/tabbar/tabbar-home-2.png | Bin 3662 -> 995 bytes src/static/tabbar/tabbar-home.png | Bin 1082 -> 1102 bytes src/static/tabbar/tabbar-message-2.png | Bin 5723 -> 1593 bytes src/static/tabbar/tabbar-message.png | Bin 1735 -> 1620 bytes src/static/tabbar/tabbar-user-2.png | Bin 4449 -> 1223 bytes src/static/tabbar/tabbar-user.png | Bin 1558 -> 1243 bytes src/static/tabbar/tabbar-workHome-2.png | Bin 1661 -> 1327 bytes src/static/tabbar/tabbar-workHome.png | Bin 1748 -> 1345 bytes src/style/index.scss | 67 +- .../components/uni-calendar/uni-calendar.vue | 1074 +++++++++-------- 37 files changed, 1347 insertions(+), 908 deletions(-) create mode 100644 src/components/Grid/Grid.vue create mode 100644 src/pages-work/static/echarts.min.js diff --git a/env/.env b/env/.env index 7fd8e5d..8aba071 100644 --- a/env/.env +++ b/env/.env @@ -22,7 +22,7 @@ VITE_UPLOAD_BASEURL__WEIXIN_TRIAL = '' VITE_UPLOAD_BASEURL__WEIXIN_RELEASE = '' # h5是否需要配置代理 -VITE_APP_PROXY=true +VITE_APP_PROXY= true VITE_APP_PROXY_PREFIX = '/api' # 是否启用mock (1.仅支持h5 2.启用必须要开启代理,否则生效。) diff --git a/src/common/uitls.ts b/src/common/uitls.ts index 3c73bbf..1e44334 100644 --- a/src/common/uitls.ts +++ b/src/common/uitls.ts @@ -320,3 +320,12 @@ export function getRandomColor() { let randomColorType = colorType[randomIndex]; return colorPanel['natural'][getRandomIntBetweenOneAndTen()] || '#00bcd4'; } + +// 消除后缀: +export const getPlaceholder = (attrs: any = {}) => { + let label = attrs.label + if (label.endsWith(':') || label.endsWith(':')) { + label = label.substr(0, label.length - 1) + } + return `请选择${label}` +} \ No newline at end of file diff --git a/src/common/work.ts b/src/common/work.ts index a4d543f..87ab5ee 100644 --- a/src/common/work.ts +++ b/src/common/work.ts @@ -18,7 +18,7 @@ export const us = { enabled: true, }, { - title: 'demo', + title: '组件示例', icon: icon_prefix + 'chuchai.png', description: '出差申请', useCount: 10000, diff --git a/src/components/CategorySelect/CategorySelect.vue b/src/components/CategorySelect/CategorySelect.vue index 786061e..f4bd47d 100644 --- a/src/components/CategorySelect/CategorySelect.vue +++ b/src/components/CategorySelect/CategorySelect.vue @@ -12,7 +12,7 @@ 取消 - 确定 + 确定 + + + + + + + + + + diff --git a/src/components/PageLayout/PageLayout.vue b/src/components/PageLayout/PageLayout.vue index 03f3ff5..9ba8f11 100644 --- a/src/components/PageLayout/PageLayout.vue +++ b/src/components/PageLayout/PageLayout.vue @@ -24,6 +24,7 @@ + @@ -170,9 +171,10 @@ console.log('props:', props) } :deep(.wd-navbar) { background-color: transparent; + --wot-navbar-title-font-weight: 400; --wot-navbar-arrow-size: 18px; --wot-navbar-desc-font-size: 14px; - --wot-navbar-title-font-size: 14px; + --wot-navbar-title-font-size: 16px; } } .pageContent { @@ -182,5 +184,10 @@ console.log('props:', props) flex-direction: column; background-color: #f1f1f1; } + .tabbar { + /* #ifdef H5 */ + height: var(--window-bottom); + /* #endif */ + } } diff --git a/src/components/SelectDept/SelectDept.vue b/src/components/SelectDept/SelectDept.vue index e71640e..22328e3 100644 --- a/src/components/SelectDept/SelectDept.vue +++ b/src/components/SelectDept/SelectDept.vue @@ -2,7 +2,7 @@ 取消 - 确定 + 确定 item.key).join(',')) { // 说明是刚选完,内部已有翻译。不需要再请求 @@ -220,6 +221,16 @@ watch( justify-content: space-between; line-height: 40px; padding: 0 5px; + position: relative; + &::before { + content: ' '; + position: absolute; + bottom: 0; + left: 8px; + right: 8px; + height: 1px; + background-color: #e5e5e5; + } .cancel, .confrim { font-size: 15px; @@ -227,6 +238,9 @@ watch( min-width: 40px; text-align: center; } + .confrim { + color: var(--wot-color-theme); + } } :deep(.da-tree) { .da-tree-item__checkbox { diff --git a/src/components/SelectUser/SelectUser.vue b/src/components/SelectUser/SelectUser.vue index d18cfe2..2e9816a 100644 --- a/src/components/SelectUser/SelectUser.vue +++ b/src/components/SelectUser/SelectUser.vue @@ -2,7 +2,7 @@ { emit('update:modelValue', rowkey) emit('change', rowkey) } + watch( () => props.modelValue, () => { diff --git a/src/components/SelectUser/components/SelectUserModal.vue b/src/components/SelectUser/components/SelectUserModal.vue index 99f77ef..97cfc92 100644 --- a/src/components/SelectUser/components/SelectUserModal.vue +++ b/src/components/SelectUser/components/SelectUserModal.vue @@ -100,7 +100,7 @@ const props = defineProps({ }, modalTitle: { type: String, - default: '', + default: '选择用户', }, maxSelectCount: { type: Number, @@ -274,4 +274,9 @@ init() .wrap { height: 100%; } +:deep(.wd-popup-wrapper) { + .wd-popup { + top: 100px; + } +} diff --git a/src/components/TreeSelect/TreeSelect.vue b/src/components/TreeSelect/TreeSelect.vue index d59940e..e51571a 100644 --- a/src/components/TreeSelect/TreeSelect.vue +++ b/src/components/TreeSelect/TreeSelect.vue @@ -12,7 +12,7 @@ 取消 - 确定 + 确定 { justify-content: space-between; line-height: 40px; padding: 0 5px; + position: relative; + &::before { + content: ' '; + position: absolute; + bottom: 0; + left: 8px; + right: 8px; + height: 1px; + background-color: #e5e5e5; + } .cancel, .confrim { font-size: 15px; @@ -323,6 +333,9 @@ validateProp().then(() => { min-width: 40px; text-align: center; } + .confrim { + color: var(--wot-color-theme); + } } :deep(.da-tree) { .da-tree-item__checkbox { diff --git a/src/components/online/online-loader.vue b/src/components/online/online-loader.vue index e17af10..77fadd5 100644 --- a/src/components/online/online-loader.vue +++ b/src/components/online/online-loader.vue @@ -3,13 +3,18 @@ - + @@ -435,6 +447,16 @@ const navTitle = computed(() => { return props.title } }) +// 标题宽度 +const labelWidth = computed(() => { + return '100px' +}) +// 导航标题 +const get4Label = computed(() => { + return (lable) => { + return `${lable && lable.length > 4 ? lable.substring(0, 4) : lable}:` + } +}) onMounted(() => { console.log('开始渲染online表单') @@ -478,7 +500,7 @@ const isChecked = (opts: any, value: any) => { */ const switchOpt = (opts: any, index: any) => { const options = Array.isArray(opts) && opts.length > 0 ? opts : ['Y', 'N'] - return options[index]+'' + return options[index] + '' } /** * @@ -505,12 +527,14 @@ const fieldRequired = (item: any) => { * @param linkRecord * @param key */ -const linkRecordChange = (linkRecord,key) =>{ - let linkFieldArr = rootProperties.value.filter(item=>item.type==='link_table_field' && item?.formSchema?.dictTable == key); - linkFieldArr.forEach(field=>{ - let value = linkRecord.map(record=>record[field.formSchema.dictText]).join(","); - nextTick(()=>{ - formData.value[field.key] = value; +const linkRecordChange = (linkRecord, key) => { + let linkFieldArr = rootProperties.value.filter( + (item) => item.type === 'link_table_field' && item?.formSchema?.dictTable == key, + ) + linkFieldArr.forEach((field) => { + let value = linkRecord.map((record) => record[field.formSchema.dictText]).join(',') + nextTick(() => { + formData.value[field.key] = value }) }) } @@ -526,17 +550,19 @@ const backRoute = () => { * @param value */ function handleMultiOrDateField() { - let finalData = deepClone(formData.value); + let finalData = deepClone(formData.value) //日期字段 - let dateFieldArr = rootProperties.value.filter((item) => item.type === 'date' || item.type === 'datetime') + let dateFieldArr = rootProperties.value.filter( + (item) => item.type === 'date' || item.type === 'datetime', + ) //省市区字段 let pcaArr = rootProperties.value.filter((item) => item.type === 'pca') finalData = Object.keys(finalData).reduce((acc, key) => { let value = finalData[key] //省市区获取最后一位 - if (value && pcaArr.length > 0 && pcaArr.map(item=>item.key).includes(key)) { - console.log("省市区获取最后一位value",value) - value = isArray(value)?value[2]:value.split(",")[2]; + if (value && pcaArr.length > 0 && pcaArr.map((item) => item.key).includes(key)) { + console.log('省市区获取最后一位value', value) + value = isArray(value) ? value[2] : value.split(',')[2] } //是数组的就转换成字符串 if (value && isArray(value)) { @@ -842,19 +868,47 @@ defineExpose({ diff --git a/src/components/online/view/online-time.vue b/src/components/online/view/online-time.vue index 251c1a7..f76dd80 100644 --- a/src/components/online/view/online-time.vue +++ b/src/components/online/view/online-time.vue @@ -39,7 +39,6 @@ const props = defineProps({ // 定义 emits const emit = defineEmits(['input', 'change', 'update:value']) // 定义响应式数据; -const visible = ref(false) const currentTime = ref('') // 监听 value 的变化 diff --git a/src/pages-message/contacts/contacts.vue b/src/pages-message/contacts/contacts.vue index 1f7e60c..f222263 100644 --- a/src/pages-message/contacts/contacts.vue +++ b/src/pages-message/contacts/contacts.vue @@ -230,6 +230,7 @@ onLoad(() => { border-radius: 50%; overflow: hidden; margin-right: 10px; + background-color: #eee; } .content { display: flex; diff --git a/src/pages-sub/online/online.vue b/src/pages-sub/online/online.vue index 9153955..f4015f8 100644 --- a/src/pages-sub/online/online.vue +++ b/src/pages-sub/online/online.vue @@ -31,7 +31,10 @@