flat: 合并, 报错修复

This commit is contained in:
Apcallover
2024-04-21 16:38:25 +08:00
parent 1d0ef39fff
commit 3cb42d7be1
4 changed files with 219 additions and 238 deletions

View File

@@ -372,7 +372,7 @@ const addressColumn = [
}, },
{ {
value: '185', value: '185',
label: "绵竹市" label: "广汉市"
}, },
{ {
value: '143', value: '143',

View File

@@ -414,8 +414,7 @@
} }
}, },
cityNamed() { cityNamed() {
console.log('val', this.info, this.area.dic) if (this.info && typeof this.info.cityId !== 'undefined' && this.info.cityId !== -1 && this.area.dic) {
if (this.info && this.info.cityId !== -1 && this.area.dic) {
return this.area.dic[this.info.cityId].label return this.area.dic[this.info.cityId].label
} else { } else {
return '无' return '无'

View File

@@ -1,234 +1,216 @@
<template> <template>
<view <view class="u-icon" @tap="clickHandler" :class="['u-icon--' + labelPos]">
class="u-icon" <image class="u-icon__img" v-if="isImg" :src="name" :mode="imgMode"
@tap="clickHandler" :style="[imgStyle, $u.addStyle(customStyle)]"></image>
:class="['u-icon--' + labelPos]" <text v-else class="u-icon__icon" :class="uClasses" :style="[iconStyle, $u.addStyle(customStyle)]"
> :hover-class="hoverClass">{{icon}}</text>
<image <!-- 这里进行空字符串判断如果仅仅是v-if="label"可能会出现传递0的时候结果也无法显示 -->
class="u-icon__img" <text v-if="label !== ''" class="u-icon__label" :style="{
v-if="isImg"
:src="name"
:mode="imgMode"
:style="[imgStyle, $u.addStyle(customStyle)]"
></image>
<text
v-else
class="u-icon__icon"
:class="uClasses"
:style="[iconStyle, $u.addStyle(customStyle)]"
:hover-class="hoverClass"
>{{icon}}</text>
<!-- 这里进行空字符串判断如果仅仅是v-if="label"可能会出现传递0的时候结果也无法显示 -->
<text
v-if="label !== ''"
class="u-icon__label"
:style="{
color: labelColor, color: labelColor,
fontSize: $u.addUnit(labelSize), fontSize: $u.addUnit(labelSize),
marginLeft: labelPos == 'right' ? $u.addUnit(space) : 0, marginLeft: labelPos == 'right' ? $u.addUnit(space) : 0,
marginTop: labelPos == 'bottom' ? $u.addUnit(space) : 0, marginTop: labelPos == 'bottom' ? $u.addUnit(space) : 0,
marginRight: labelPos == 'left' ? $u.addUnit(space) : 0, marginRight: labelPos == 'left' ? $u.addUnit(space) : 0,
marginBottom: labelPos == 'top' ? $u.addUnit(space) : 0, marginBottom: labelPos == 'top' ? $u.addUnit(space) : 0,
}" }">{{ label }}</text>
>{{ label }}</text> </view>
</view>
</template> </template>
<script> <script>
// #ifdef APP-NVUE // #ifdef APP-NVUE
// nvue通过weex的dom模块引入字体相关文档地址如下 // nvue通过weex的dom模块引入字体相关文档地址如下
// https://weex.apache.org/zh/docs/modules/dom.html#addrule // https://weex.apache.org/zh/docs/modules/dom.html#addrule
const fontUrl = 'https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf' const fontUrl = 'https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf'
const domModule = weex.requireModule('dom') const domModule = weex.requireModule('dom')
domModule.addRule('fontFace', { domModule.addRule('fontFace', {
'fontFamily': "uicon-iconfont", 'fontFamily': "uicon-iconfont",
'src': `url('${fontUrl}')` 'src': `url('${fontUrl}')`
}) })
// #endif // #endif
// 引入图标名称已经对应的unicode // 引入图标名称已经对应的unicode
import icons from './icons' import icons from './icons'
import props from './props.js';; import props from './props.js';;
/** /**
* icon 图标 * icon 图标
* @description 基于字体的图标集,包含了大多数常见场景的图标。 * @description 基于字体的图标集,包含了大多数常见场景的图标。
* @tutorial https://www.uviewui.com/components/icon.html * @tutorial https://www.uviewui.com/components/icon.html
* @property {String} name 图标名称,见示例图标集 * @property {String} name 图标名称,见示例图标集
* @property {String} color 图标颜色,可接受主题色 (默认 color['u-content-color'] * @property {String} color 图标颜色,可接受主题色 (默认 color['u-content-color']
* @property {String | Number} size 图标字体大小单位px (默认 '16px' * @property {String | Number} size 图标字体大小单位px (默认 '16px'
* @property {Boolean} bold 是否显示粗体 (默认 false * @property {Boolean} bold 是否显示粗体 (默认 false
* @property {String | Number} index 点击图标的时候传递事件出去的index用于区分点击了哪一个 * @property {String | Number} index 点击图标的时候传递事件出去的index用于区分点击了哪一个
* @property {String} hoverClass 图标按下去的样式类用法同uni的view组件的hoverClass参数详情见官网 * @property {String} hoverClass 图标按下去的样式类用法同uni的view组件的hoverClass参数详情见官网
* @property {String} customPrefix 自定义扩展前缀,方便用户扩展自己的图标库 (默认 'uicon' * @property {String} customPrefix 自定义扩展前缀,方便用户扩展自己的图标库 (默认 'uicon'
* @property {String | Number} label 图标右侧的label文字 * @property {String | Number} label 图标右侧的label文字
* @property {String} labelPos label相对于图标的位置只能right或bottom (默认 'right' * @property {String} labelPos label相对于图标的位置只能right或bottom (默认 'right'
* @property {String | Number} labelSize label字体大小单位px (默认 '15px' * @property {String | Number} labelSize label字体大小单位px (默认 '15px'
* @property {String} labelColor 图标右侧的label文字颜色 默认 color['u-content-color'] * @property {String} labelColor 图标右侧的label文字颜色 默认 color['u-content-color']
* @property {String | Number} space label与图标的距离单位px (默认 '3px' * @property {String | Number} space label与图标的距离单位px (默认 '3px'
* @property {String} imgMode 图片的mode * @property {String} imgMode 图片的mode
* @property {String | Number} width 显示图片小图标时的宽度 * @property {String | Number} width 显示图片小图标时的宽度
* @property {String | Number} height 显示图片小图标时的高度 * @property {String | Number} height 显示图片小图标时的高度
* @property {String | Number} top 图标在垂直方向上的定位 用于解决某些情况下,让图标垂直居中的用途 (默认 0 * @property {String | Number} top 图标在垂直方向上的定位 用于解决某些情况下,让图标垂直居中的用途 (默认 0
* @property {Boolean} stop 是否阻止事件传播 (默认 false * @property {Boolean} stop 是否阻止事件传播 (默认 false
* @property {Object} customStyle icon的样式对象形式 * @property {Object} customStyle icon的样式对象形式
* @event {Function} click 点击图标时触发 * @event {Function} click 点击图标时触发
* @event {Function} touchstart 事件触摸时触发 * @event {Function} touchstart 事件触摸时触发
* @example <u-icon name="photo" color="#2979ff" size="28"></u-icon> * @example <u-icon name="photo" color="#2979ff" size="28"></u-icon>
*/ */
export default { export default {
name: 'u-icon', name: 'u-icon',
data() { data() {
return { return {
} }
}, },
mixins: [uni.$u.mpMixin, uni.$u.mixin,props], mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
computed: { computed: {
uClasses() { uClasses() {
let classes = [] let classes = []
classes.push(this.customPrefix + '-' + this.name) classes.push(this.customPrefix + '-' + this.name)
// // uView的自定义图标类名为u-iconfont // // uView的自定义图标类名为u-iconfont
// if (this.customPrefix == 'uicon') { // if (this.customPrefix == 'uicon') {
// classes.push('u-iconfont') // classes.push('u-iconfont')
// } else { // } else {
// classes.push(this.customPrefix) // classes.push(this.customPrefix)
// } // }
// 主题色,通过类配置 // 主题色,通过类配置
if (this.color && uni.$u.config.type.includes(this.color)) classes.push('u-icon__icon--' + this.color) if (this.color && uni.$u.config.type.includes(this.color)) classes.push('u-icon__icon--' + this.color)
// 阿里,头条,百度小程序通过数组绑定类名时,无法直接使用[a, b, c]的形式,否则无法识别 // 阿里,头条,百度小程序通过数组绑定类名时,无法直接使用[a, b, c]的形式,否则无法识别
// 故需将其拆成一个字符串的形式,通过空格隔开各个类名 // 故需将其拆成一个字符串的形式,通过空格隔开各个类名
//#ifdef MP-ALIPAY || MP-TOUTIAO || MP-BAIDU //#ifdef MP-ALIPAY || MP-TOUTIAO || MP-BAIDU
classes = classes.join(' ') classes = classes.join(' ')
//#endif //#endif
return classes return classes
}, },
iconStyle() { iconStyle() {
let style = {} let style = {}
style = { style = {
fontSize: uni.$u.addUnit(this.size), fontSize: uni.$u.addUnit(this.size),
lineHeight: uni.$u.addUnit(this.size), lineHeight: uni.$u.addUnit(this.size),
fontWeight: this.bold ? 'bold' : 'normal', fontWeight: this.bold ? 'bold' : 'normal',
// 某些特殊情况需要设置一个到顶部的距离,才能更好的垂直居中 // 某些特殊情况需要设置一个到顶部的距离,才能更好的垂直居中
top: uni.$u.addUnit(this.top) top: uni.$u.addUnit(this.top)
} }
// 非主题色值时,才当作颜色值 // 非主题色值时,才当作颜色值
if (this.color && !uni.$u.config.type.includes(this.color)) style.color = this.color if (this.color && !uni.$u.config.type.includes(this.color)) style.color = this.color
return style return style
}, },
// 判断传入的name属性是否图片路径只要带有"/"均认为是图片形式 // 判断传入的name属性是否图片路径只要带有"/"均认为是图片形式
isImg() { isImg() {
return this.name.indexOf('/') !== -1 return this.name.indexOf('/') !== -1
}, },
imgStyle() { imgStyle() {
let style = {} let style = {}
// 如果设置width和height属性则优先使用否则使用size属性 // 如果设置width和height属性则优先使用否则使用size属性
style.width = this.width ? uni.$u.addUnit(this.width) : uni.$u.addUnit(this.size) style.width = this.width ? uni.$u.addUnit(this.width) : uni.$u.addUnit(this.size)
style.height = this.height ? uni.$u.addUnit(this.height) : uni.$u.addUnit(this.size) style.height = this.height ? uni.$u.addUnit(this.height) : uni.$u.addUnit(this.size)
return style return style
}, },
// 通过图标名,查找对应的图标 // 通过图标名,查找对应的图标
icon() { icon() {
// 如果内置的图标中找不到对应的图标就直接返回name值因为用户可能传入的是unicode代码 // 如果内置的图标中找不到对应的图标就直接返回name值因为用户可能传入的是unicode代码
return icons['uicon-' + this.name] || this.name return icons['uicon-' + this.name] || this.name
} }
}, },
methods: { methods: {
clickHandler(e) { clickHandler(e) {
this.$emit('click', this.index) this.$emit('click', this.index)
// 是否阻止事件冒泡 // 是否阻止事件冒泡
this.stop && this.preventEvent(e) this.stop && this.preventEvent(e)
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../libs/css/components.scss"; @import "../../libs/css/components.scss";
// 变量定义 // 变量定义
$u-icon-primary: $u-primary !default; $u-icon-primary: $u-primary !default;
$u-icon-success: $u-success !default; $u-icon-success: $u-success !default;
$u-icon-info: $u-info !default; $u-icon-info: $u-info !default;
$u-icon-warning: $u-warning !default; $u-icon-warning: $u-warning !default;
$u-icon-error: $u-error !default; $u-icon-error: $u-error !default;
$u-icon-label-line-height:1 !default; $u-icon-label-line-height: 1 !default;
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
// 非nvue下加载字体 // 非nvue下加载字体
@font-face { @font-face {
font-family: 'uicon-iconfont'; font-family: 'uicon-iconfont';
src: url('https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf') format('truetype'); src: url('/static/font/font_2225171_8kdcwk4po24.ttf') format('truetype');
} }
/* #endif */ /* #endif */
.u-icon { .u-icon {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
align-items: center; align-items: center;
&--left { &--left {
flex-direction: row-reverse; flex-direction: row-reverse;
align-items: center; align-items: center;
} }
&--right { &--right {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
} }
&--top { &--top {
flex-direction: column-reverse; flex-direction: column-reverse;
justify-content: center; justify-content: center;
} }
&--bottom { &--bottom {
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
} }
&__icon { &__icon {
font-family: uicon-iconfont; font-family: uicon-iconfont;
position: relative; position: relative;
@include flex; @include flex;
align-items: center; align-items: center;
&--primary { &--primary {
color: $u-icon-primary; color: $u-icon-primary;
} }
&--success { &--success {
color: $u-icon-success; color: $u-icon-success;
} }
&--error { &--error {
color: $u-icon-error; color: $u-icon-error;
} }
&--warning { &--warning {
color: $u-icon-warning; color: $u-icon-warning;
} }
&--info { &--info {
color: $u-icon-info; color: $u-icon-info;
} }
} }
&__img { &__img {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
height: auto; height: auto;
will-change: transform; will-change: transform;
/* #endif */ /* #endif */
} }
&__label { &__label {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
line-height: $u-icon-label-line-height; line-height: $u-icon-label-line-height;
/* #endif */ /* #endif */
} }
} }
</style> </style>

View File

@@ -3,7 +3,7 @@ module.exports = {
port: 1887, port: 1887,
proxy: { proxy: {
'/api': { '/api': {
target: 'http://192.168.1.106:8000', target: 'http://10.165.0.173:8000',
ws: true, ws: true,
pathRewrite: { pathRewrite: {
'^/api': '/' '^/api': '/'