正在显示
50 个修改的文件
包含
3907 行增加
和
188 行删除
不能预览此文件类型
| @@ -9,6 +9,9 @@ export const userWxLogin = (data, config = {}) => http.post('/wechat/login', dat | @@ -9,6 +9,9 @@ export const userWxLogin = (data, config = {}) => http.post('/wechat/login', dat | ||
| 9 | // 发起登记流程 | 9 | // 发起登记流程 |
| 10 | export const carInfoAdd = (data) => http.post('/registration/add', data, {custom: {auth: true}}) | 10 | export const carInfoAdd = (data) => http.post('/registration/add', data, {custom: {auth: true}}) |
| 11 | 11 | ||
| 12 | +// 修改登记信息 | ||
| 13 | +export const carInfoEdit = (data) => http.post('/registration/edit', data, {custom: {auth: true}}) | ||
| 14 | + | ||
| 12 | // 办理一个用户任务 | 15 | // 办理一个用户任务 |
| 13 | export const disposeUser = (taskId) => http.post(`/registration/completeTask/${taskId}`, {}, {custom: {auth: true}}) | 16 | export const disposeUser = (taskId) => http.post(`/registration/completeTask/${taskId}`, {}, {custom: {auth: true}}) |
| 14 | 17 | ||
| @@ -27,6 +30,9 @@ export const getUserInfo = (data) => http.get('/system/user/profile', {custom: { | @@ -27,6 +30,9 @@ export const getUserInfo = (data) => http.get('/system/user/profile', {custom: { | ||
| 27 | // 修改用户信息 | 30 | // 修改用户信息 |
| 28 | export const updateUserInfo = (data) => http.put('/system/user/profile', data, {custom: {auth: true}}) | 31 | export const updateUserInfo = (data) => http.put('/system/user/profile', data, {custom: {auth: true}}) |
| 29 | 32 | ||
| 33 | +// 用户注销 | ||
| 34 | +export const userCancel = () => http.get('/system/user/deRegistration', {custom: {auth: true}}) | ||
| 35 | + | ||
| 30 | // 获取验证码 | 36 | // 获取验证码 |
| 31 | export const getCodeImg = (data) => http.get('/captchaImage') | 37 | export const getCodeImg = (data) => http.get('/captchaImage') |
| 32 | 38 |
| @@ -3,9 +3,18 @@ import { http } from '@/uni_modules/uview-plus' | @@ -3,9 +3,18 @@ import { http } from '@/uni_modules/uview-plus' | ||
| 3 | // 获取待办任务 | 3 | // 获取待办任务 |
| 4 | export const queryMyList = (data) => http.get(`/registration/mylist`, {params: data, custom: {auth: true}}) | 4 | export const queryMyList = (data) => http.get(`/registration/mylist`, {params: data, custom: {auth: true}}) |
| 5 | 5 | ||
| 6 | +// 查询待处理订单 | ||
| 7 | +export const queryPengdingList = (data) => http.get(`/registration/monitor/listPending`, {params: data, custom: {auth: true}}) | ||
| 8 | + | ||
| 6 | // 查询已处理订单 | 9 | // 查询已处理订单 |
| 7 | export const queryProcessedList = (data) => http.get(`/registration/monitor/listProcessed`, {params: data, custom: {auth: true}}) | 10 | export const queryProcessedList = (data) => http.get(`/registration/monitor/listProcessed`, {params: data, custom: {auth: true}}) |
| 8 | 11 | ||
| 12 | +// 查询进行中订单 | ||
| 13 | +export const queryOngoingList = (data) => http.get(`/registration/monitor/listOngoing`, {params: data, custom: {auth: true}}) | ||
| 14 | + | ||
| 15 | +// 查询已作废订单 | ||
| 16 | +export const queryDeprecatedList = (data) => http.get(`/registration/monitor/listDeprecated`, {params: data, custom: {auth: true}}) | ||
| 17 | + | ||
| 9 | // 查询已承接保单 | 18 | // 查询已承接保单 |
| 10 | export const queryContinueList = (data) => http.get(`/registration/monitor/listReports`, {params: data, custom: {auth: true}}) | 19 | export const queryContinueList = (data) => http.get(`/registration/monitor/listReports`, {params: data, custom: {auth: true}}) |
| 11 | 20 | ||
| @@ -19,4 +28,14 @@ export const disposeUser = (data, taskId) => http.post(`/registration/completeTa | @@ -19,4 +28,14 @@ export const disposeUser = (data, taskId) => http.post(`/registration/completeTa | ||
| 19 | export const transfer = (data, taskId) => http.post(`/registratiom/transferTask/${taskId}`, data, {custom: {auth: true}}) | 28 | export const transfer = (data, taskId) => http.post(`/registratiom/transferTask/${taskId}`, data, {custom: {auth: true}}) |
| 20 | 29 | ||
| 21 | // 获取人员列表 | 30 | // 获取人员列表 |
| 22 | -export const getUserList = (data) => http.post(`/system/user/otherEmployee`, data, {custom: {auth: true}}) | ||
| 31 | +export const getUserList = (data) => http.get(`/system/user/otherEmployee`, {params: data,custom: {auth: true}}) | ||
| 32 | + | ||
| 33 | +// 获取公司列表 | ||
| 34 | +export const listDept = (data) => http.get(`/system/dept/list`, {params: data, custom: {auth: true}}) | ||
| 35 | + | ||
| 36 | +// 查询保单回馈 | ||
| 37 | +export const queryResult = (data) => http.get(`/registration/monitor/getResult`, {params: data, custom: {auth: true}}) | ||
| 38 | + | ||
| 39 | +// 查询作废备注 | ||
| 40 | +export const queryDefeatContent = (data) => http.get(`/registration/monitor/getComment`, {params: data, custom: {auth: true}}) | ||
| 41 | + |
| @@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
| 4 | <slot name="center"></slot> | 4 | <slot name="center"></slot> |
| 5 | <view class="rowLine"></view> | 5 | <view class="rowLine"></view> |
| 6 | <slot name="footer"></slot> | 6 | <slot name="footer"></slot> |
| 7 | - <view class="tip" :style="{backgroundColor: bgColor, color: fontColor}">{{ carInfo?.status || tipContent }}</view> | 7 | + <view class="tip" :style="{backgroundColor: bgColor, color: fontColor}">{{ carInfo?.policyStatus ?? tipContent }}</view> |
| 8 | </view> | 8 | </view> |
| 9 | </template> | 9 | </template> |
| 10 | 10 | ||
| @@ -20,9 +20,8 @@ const props = defineProps({ | @@ -20,9 +20,8 @@ const props = defineProps({ | ||
| 20 | default: '' | 20 | default: '' |
| 21 | } | 21 | } |
| 22 | }) | 22 | }) |
| 23 | -const emit = defineEmits(['onSkip']) | ||
| 24 | const bgColor = computed(() => { | 23 | const bgColor = computed(() => { |
| 25 | - let index = props.carInfo.status | 24 | + let index = props.carInfo?.policyStatus || 0 |
| 26 | let objColor = { | 25 | let objColor = { |
| 27 | '进行中': '#D5E5FF', | 26 | '进行中': '#D5E5FF', |
| 28 | '已完成': '#dbf1e1', | 27 | '已完成': '#dbf1e1', |
| @@ -31,7 +30,7 @@ const bgColor = computed(() => { | @@ -31,7 +30,7 @@ const bgColor = computed(() => { | ||
| 31 | return objColor[index] || '#D5E5FF' | 30 | return objColor[index] || '#D5E5FF' |
| 32 | }) | 31 | }) |
| 33 | const fontColor = computed(() => { | 32 | const fontColor = computed(() => { |
| 34 | - let index = props.carInfo.status | 33 | + let index = props.carInfo?.policyStatus || 0 |
| 35 | let objColor = { | 34 | let objColor = { |
| 36 | '进行中': '#3680FE', | 35 | '进行中': '#3680FE', |
| 37 | '已完成': '#19be6b', | 36 | '已完成': '#19be6b', |
| @@ -39,10 +38,6 @@ const fontColor = computed(() => { | @@ -39,10 +38,6 @@ const fontColor = computed(() => { | ||
| 39 | } | 38 | } |
| 40 | return objColor[index] || '#3680FE' | 39 | return objColor[index] || '#3680FE' |
| 41 | }) | 40 | }) |
| 42 | - | ||
| 43 | -const skip = () => { | ||
| 44 | - emit('onSkip', props.carInfo.carId) | ||
| 45 | -} | ||
| 46 | </script> | 41 | </script> |
| 47 | 42 | ||
| 48 | <style lang="scss" scoped> | 43 | <style lang="scss" scoped> |
| @@ -62,8 +57,7 @@ const skip = () => { | @@ -62,8 +57,7 @@ const skip = () => { | ||
| 62 | position: absolute; | 57 | position: absolute; |
| 63 | top: 0; | 58 | top: 0; |
| 64 | right: 0; | 59 | right: 0; |
| 65 | - width: 120rpx; | ||
| 66 | - height: 40rpx; | 60 | + padding: 0 20rpx; |
| 67 | text-align: center; | 61 | text-align: center; |
| 68 | font-size: 20rpx; | 62 | font-size: 20rpx; |
| 69 | line-height: 40rpx; | 63 | line-height: 40rpx; |
| 1 | <template> | 1 | <template> |
| 2 | <view class="centerLine" :style="{color: fontColor}"> | 2 | <view class="centerLine" :style="{color: fontColor}"> |
| 3 | - <text @click="leftComfirn">{{ leftContent }}</text> | 3 | + <text @click="leftComfirnButton">{{ leftContent }}</text> |
| 4 | <text class="line" :style="{backgroundColor: fontColor}"></text> | 4 | <text class="line" :style="{backgroundColor: fontColor}"></text> |
| 5 | - <text @click="rightComfirn">{{ rightContent }}</text> | 5 | + <text @click="rightComfirnButton">{{ rightContent }}</text> |
| 6 | </view> | 6 | </view> |
| 7 | </template> | 7 | </template> |
| 8 | 8 |
| @@ -2,35 +2,158 @@ | @@ -2,35 +2,158 @@ | ||
| 2 | <view class="operate"> | 2 | <view class="operate"> |
| 3 | <view class="operate_list"> | 3 | <view class="operate_list"> |
| 4 | <view class="operate_item"> | 4 | <view class="operate_item"> |
| 5 | - <text class="operate_btn" :class="{active: current === 0 }" @click="handleReturn">退回</text> | 5 | + <text class="operate_btn" :class="{active: current === 0 }" @click="handleSuccess">通过</text> |
| 6 | </view> | 6 | </view> |
| 7 | <view class="operate_item"> | 7 | <view class="operate_item"> |
| 8 | - <text class="operate_btn" :class="{active: current === 1 }" @click="handleInvalid">作废</text> | 8 | + <text class="operate_btn" :class="{active: current === 1 }" @click="handleReturn">退回</text> |
| 9 | </view> | 9 | </view> |
| 10 | <view class="operate_item"> | 10 | <view class="operate_item"> |
| 11 | - <text class="operate_btn" :class="{active: current === 2 }" @click="handleUpdate">修改</text> | 11 | + <text class="operate_btn" :class="{active: current === 2 }" @click="handleInvalid">作废</text> |
| 12 | </view> | 12 | </view> |
| 13 | <view class="operate_item"> | 13 | <view class="operate_item"> |
| 14 | - <text class="operate_btn" :class="{active: current === 3 }" @click="handleCirculation">流转</text> | 14 | + <text class="operate_btn" :class="{active: current === 3 }" @click="handleUpdate">修改</text> |
| 15 | + </view> | ||
| 16 | + <view class="operate_item"> | ||
| 17 | + <text class="operate_btn" :class="{active: current === 4 }" @click="handleCirculation">流转</text> | ||
| 15 | </view> | 18 | </view> |
| 16 | </view> | 19 | </view> |
| 20 | + <!-- 作废回馈弹出框 --> | ||
| 21 | + <up-modal :show="showDefeat" showCancelButton title="填写作废回馈" @confirm="sunmitDeprecated" @cancel="showDefeat = false"> | ||
| 22 | + <up-textarea v-model="DefeatContent" placeholder="请输入内容" ></up-textarea> | ||
| 23 | + </up-modal> | ||
| 24 | + <!-- 分配保险公司 --> | ||
| 25 | + <up-modal :show="showCompany" showCancelButton closeOnClickOverlay title="选择分配项" @confirm="submitForm" @cancel="showCompany = false" @close="showCompany = false"> | ||
| 26 | + <view class="slot-content"> | ||
| 27 | + <view class="company_box"> | ||
| 28 | + <view class="header_top"> | ||
| 29 | + <up-input | ||
| 30 | + placeholder="请输入承保公司名称" | ||
| 31 | + prefixIcon="search" | ||
| 32 | + v-model="companyQueryParams.deptName" | ||
| 33 | + ></up-input> | ||
| 34 | + <view class="btn" @click="getDeptList">查询</view> | ||
| 35 | + </view> | ||
| 36 | + <up-radio-group v-model="deptId" placement="column"> | ||
| 37 | + <up-radio | ||
| 38 | + v-for="(item, index) in deptOptions" | ||
| 39 | + :key="index" | ||
| 40 | + :label="item.deptName" | ||
| 41 | + :name="item.deptId" | ||
| 42 | + /> | ||
| 43 | + </up-radio-group> | ||
| 44 | + </view> | ||
| 45 | + </view> | ||
| 46 | + </up-modal> | ||
| 17 | </view> | 47 | </view> |
| 18 | </template> | 48 | </template> |
| 19 | 49 | ||
| 20 | <script setup> | 50 | <script setup> |
| 21 | -import { ref } from 'vue' | 51 | +import { ref, reactive} from 'vue' |
| 52 | +import { disposeUser, listDept } from '@/api/work.js' | ||
| 53 | +const props = defineProps({ | ||
| 54 | + carInfo: { | ||
| 55 | + type: Object, | ||
| 56 | + require: true | ||
| 57 | + } | ||
| 58 | +}) | ||
| 59 | +const emit = defineEmits(['refreshList']) | ||
| 60 | +const deptOptions = ref([]); | ||
| 61 | +const companyQueryParams = reactive({ | ||
| 62 | + deptName: undefined, | ||
| 63 | + status: undefined, | ||
| 64 | +}); | ||
| 65 | +const deptId = ref(0) | ||
| 22 | const current = ref(9) | 66 | const current = ref(9) |
| 67 | +const showDefeat = ref(false) | ||
| 68 | +const DefeatContent = ref('') | ||
| 69 | +const showCompany = ref(false) | ||
| 70 | +// 通过 | ||
| 71 | +const handleSuccess = () => { | ||
| 72 | + current.value = 0 | ||
| 73 | + uni.showModal({ | ||
| 74 | + title: '提示', | ||
| 75 | + content: '是否通过', | ||
| 76 | + success: function (res) { | ||
| 77 | + if (res.confirm) { | ||
| 78 | + disposeUser({ associationapprove: '0' }, props.carInfo.taskId).then((res) => { | ||
| 79 | + uni.$u.toast('保单已通过') | ||
| 80 | + emit('refreshList') | ||
| 81 | + }); | ||
| 82 | + } else if (res.cancel) { | ||
| 83 | + console.log('用户点击取消'); | ||
| 84 | + } | ||
| 85 | + } | ||
| 86 | + }); | ||
| 87 | +} | ||
| 88 | +// 退回 | ||
| 23 | const handleReturn = () => { | 89 | const handleReturn = () => { |
| 24 | - current.value = 0 | 90 | + current.value = 1 |
| 91 | + uni.showModal({ | ||
| 92 | + title: '提示', | ||
| 93 | + content: '是否退回', | ||
| 94 | + success: function (res) { | ||
| 95 | + if (res.confirm) { | ||
| 96 | + disposeUser({ associationapprove: '1' }, props.carInfo.taskId).then((res) => { | ||
| 97 | + uni.$u.toast('保单已退回') | ||
| 98 | + emit('refreshList') | ||
| 99 | + }); | ||
| 100 | + } else if (res.cancel) { | ||
| 101 | + console.log('用户点击取消'); | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | + }); | ||
| 25 | } | 105 | } |
| 106 | + // 作废 | ||
| 26 | const handleInvalid = () => { | 107 | const handleInvalid = () => { |
| 27 | - current.value = 1 | 108 | + current.value = 2 |
| 109 | + showDefeat.value = true | ||
| 28 | } | 110 | } |
| 111 | + // 修改 | ||
| 29 | const handleUpdate = () => { | 112 | const handleUpdate = () => { |
| 30 | - current.value = 2 | 113 | + current.value = 3 |
| 114 | + const id = props.carInfo.businessKey | ||
| 115 | + uni.navigateTo({ | ||
| 116 | + url: `/pages/carDetail/carDetail?carInfoId=${id}&roleId=1` | ||
| 117 | + }) | ||
| 31 | } | 118 | } |
| 119 | + // 分配 | ||
| 32 | const handleCirculation = () => { | 120 | const handleCirculation = () => { |
| 33 | - current.value = 3 | 121 | + current.value = 4 |
| 122 | + getDeptList(); | ||
| 123 | + showCompany.value = true | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + /** 查询公司列表 */ | ||
| 127 | + const getDeptList = () => { | ||
| 128 | + listDept(companyQueryParams).then((response) => { | ||
| 129 | + deptOptions.value = response.data.filter((item) => item.parentId === 100); | ||
| 130 | + }); | ||
| 131 | + } | ||
| 132 | + // 提交作废表单 | ||
| 133 | + const sunmitDeprecated = () => { | ||
| 134 | + const data = { | ||
| 135 | + associationapprove: '2', | ||
| 136 | + comment: DefeatContent.value, | ||
| 137 | + }; | ||
| 138 | + const taskId = props.carInfo.taskId | ||
| 139 | + disposeUser(data, taskId).then((res) => { | ||
| 140 | + emit('refreshList') | ||
| 141 | + uni.$u.toast('保单已作废') | ||
| 142 | + showDefeat.value = false | ||
| 143 | + }); | ||
| 144 | + } | ||
| 145 | + /** 提交通过分配承保公司 */ | ||
| 146 | + const submitForm = () => { | ||
| 147 | + const data = { | ||
| 148 | + associationapprove: '0', | ||
| 149 | + deptid: deptId.value.toString(), | ||
| 150 | + }; | ||
| 151 | + const taskId = props.carInfo.taskId | ||
| 152 | + disposeUser(data, taskId).then((res) => { | ||
| 153 | + showCompany.value = false; | ||
| 154 | + emit('refreshList') | ||
| 155 | + uni.$u.toast('保单已分配成功') | ||
| 156 | + }); | ||
| 34 | } | 157 | } |
| 35 | </script> | 158 | </script> |
| 36 | 159 | ||
| @@ -64,4 +187,17 @@ const handleReturn = () => { | @@ -64,4 +187,17 @@ const handleReturn = () => { | ||
| 64 | } | 187 | } |
| 65 | } | 188 | } |
| 66 | } | 189 | } |
| 190 | +.header_top { | ||
| 191 | + display: flex; | ||
| 192 | + align-items: center; | ||
| 193 | + margin-bottom: 20rpx; | ||
| 194 | + .btn{ | ||
| 195 | + height: 68rpx; | ||
| 196 | + line-height: 68rpx; | ||
| 197 | + padding: 0 28rpx; | ||
| 198 | + font-size: 24rpx; | ||
| 199 | + color: #fff; | ||
| 200 | + background-color: #3c9cff; | ||
| 201 | + } | ||
| 202 | +} | ||
| 67 | </style> | 203 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="wordInfo u-line-1"> | 2 | <view class="wordInfo u-line-1"> |
| 3 | - <text style="min-width: 120rpx;">车主:{{ userName }}</text> | 3 | + <text style="min-width: 140rpx; margin-right: 20rpx;">车主:{{ userName }}</text> |
| 4 | <text style="min-width: 160rpx; margin-right: 20rpx;">联系电话:{{ phone }}</text> | 4 | <text style="min-width: 160rpx; margin-right: 20rpx;">联系电话:{{ phone }}</text> |
| 5 | <text>上年承保公司:{{ company }}</text> | 5 | <text>上年承保公司:{{ company }}</text> |
| 6 | </view> | 6 | </view> |
| @@ -52,8 +52,10 @@ | @@ -52,8 +52,10 @@ | ||
| 52 | "mp-weixin" : { | 52 | "mp-weixin" : { |
| 53 | "appid" : "wx2884bf0a53ee40b3", | 53 | "appid" : "wx2884bf0a53ee40b3", |
| 54 | "setting" : { | 54 | "setting" : { |
| 55 | - "urlCheck" : false, | ||
| 56 | - "minified" : true | 55 | + "urlCheck" : true, |
| 56 | + "minified" : true, | ||
| 57 | + "es6" : true, | ||
| 58 | + "postcss" : true | ||
| 57 | }, | 59 | }, |
| 58 | "usingComponents" : true, | 60 | "usingComponents" : true, |
| 59 | "lazyCodeLoading" : "requiredComponents", | 61 | "lazyCodeLoading" : "requiredComponents", |
| @@ -20,7 +20,8 @@ | @@ -20,7 +20,8 @@ | ||
| 20 | "path": "pages/index/index", | 20 | "path": "pages/index/index", |
| 21 | "style": { | 21 | "style": { |
| 22 | "navigationBarTitleText": "客户首页", | 22 | "navigationBarTitleText": "客户首页", |
| 23 | - "navigationStyle": "custom" | 23 | + "navigationStyle": "custom", |
| 24 | + "enablePullDownRefresh": true | ||
| 24 | } | 25 | } |
| 25 | }, | 26 | }, |
| 26 | { | 27 | { |
| @@ -51,7 +52,8 @@ | @@ -51,7 +52,8 @@ | ||
| 51 | "style" : | 52 | "style" : |
| 52 | { | 53 | { |
| 53 | "navigationBarTitleText" : "公司员工首页", | 54 | "navigationBarTitleText" : "公司员工首页", |
| 54 | - "navigationStyle": "custom" | 55 | + "navigationStyle": "custom", |
| 56 | + "enablePullDownRefresh": true | ||
| 55 | } | 57 | } |
| 56 | }, | 58 | }, |
| 57 | { | 59 | { |
| @@ -75,7 +77,8 @@ | @@ -75,7 +77,8 @@ | ||
| 75 | "style" : | 77 | "style" : |
| 76 | { | 78 | { |
| 77 | "navigationBarTitleText" : "协会员工首页", | 79 | "navigationBarTitleText" : "协会员工首页", |
| 78 | - "navigationStyle": "custom" | 80 | + "navigationStyle": "custom", |
| 81 | + "enablePullDownRefresh": true | ||
| 79 | } | 82 | } |
| 80 | }, | 83 | }, |
| 81 | { | 84 | { |
| @@ -90,7 +93,17 @@ | @@ -90,7 +93,17 @@ | ||
| 90 | "path" : "pages/employeeRealName/employeeRealName", | 93 | "path" : "pages/employeeRealName/employeeRealName", |
| 91 | "style" : | 94 | "style" : |
| 92 | { | 95 | { |
| 93 | - "navigationBarTitleText" : "" | 96 | + "navigationBarTitleText" : "员工实名页面", |
| 97 | + "navigationStyle": "custom" | ||
| 98 | + } | ||
| 99 | + }, | ||
| 100 | + { | ||
| 101 | + "path" : "pages/societyOrder/societyOrder", | ||
| 102 | + "style" : | ||
| 103 | + { | ||
| 104 | + "navigationBarTitleText" : "协会保单页", | ||
| 105 | + "navigationStyle": "custom", | ||
| 106 | + "enablePullDownRefresh": true | ||
| 94 | } | 107 | } |
| 95 | } | 108 | } |
| 96 | ], | 109 | ], |
| @@ -22,49 +22,49 @@ | @@ -22,49 +22,49 @@ | ||
| 22 | <view class="carInfo"> | 22 | <view class="carInfo"> |
| 23 | <view class="card_title">车主信息</view> | 23 | <view class="card_title">车主信息</view> |
| 24 | <up-form-item label="车主姓名" prop="name"> | 24 | <up-form-item label="车主姓名" prop="name"> |
| 25 | - <up-input v-model="form.name" fontSize="28rpx" color="#999" placeholder="请输入真实姓名" border="none" inputAlign="right" /> | 25 | + <up-input v-model="userInfo.nickName" disabled disabledColor="#fff" fontSize="28rpx" color="#999" placeholder="请输入真实姓名" border="none" inputAlign="right" /> |
| 26 | </up-form-item> | 26 | </up-form-item> |
| 27 | <up-form-item label="身份证号" prop="identificationNumber"> | 27 | <up-form-item label="身份证号" prop="identificationNumber"> |
| 28 | - <up-input v-model="form.identificationNumber" fontSize="28rpx" color="#999" placeholder="请输入身份证号" border="none" inputAlign="right" /> | 28 | + <up-input v-model="userInfo.identificationNumber" disabled disabledColor="#fff" fontSize="28rpx" color="#999" placeholder="请输入身份证号" border="none" inputAlign="right" /> |
| 29 | </up-form-item> | 29 | </up-form-item> |
| 30 | </view> | 30 | </view> |
| 31 | <!-- 行驶信息 --> | 31 | <!-- 行驶信息 --> |
| 32 | <view class="carInfo"> | 32 | <view class="carInfo"> |
| 33 | <view class="card_title">行驶证信息</view> | 33 | <view class="card_title">行驶证信息</view> |
| 34 | - <up-form-item label="车牌号码" prop="licensePlateNumber"> | 34 | + <up-form-item label="车牌号码" prop="licensePlateNumber" required> |
| 35 | <up-input v-model="form.licensePlateNumber" fontSize="28rpx" color="#999" placeholder="请输入车牌号码" border="none" inputAlign="right" /> | 35 | <up-input v-model="form.licensePlateNumber" fontSize="28rpx" color="#999" placeholder="请输入车牌号码" border="none" inputAlign="right" /> |
| 36 | </up-form-item> | 36 | </up-form-item> |
| 37 | - <up-form-item label="号牌种类" prop="lincensePlateType"> | 37 | + <up-form-item label="号牌种类" prop="lincensePlateTypeId" required> |
| 38 | <uni-data-select | 38 | <uni-data-select |
| 39 | v-model="form.lincensePlateTypeId" | 39 | v-model="form.lincensePlateTypeId" |
| 40 | :localdata="carNumOption" | 40 | :localdata="carNumOption" |
| 41 | placeholder="请选择号牌种类" | 41 | placeholder="请选择号牌种类" |
| 42 | /> | 42 | /> |
| 43 | </up-form-item> | 43 | </up-form-item> |
| 44 | - <up-form-item label="车架号" prop="frameNumber"> | 44 | + <up-form-item label="车架号" prop="frameNumber" required> |
| 45 | <up-input v-model="form.frameNumber" fontSize="28rpx" color="#999" placeholder="请输入车架号" border="none" inputAlign="right" /> | 45 | <up-input v-model="form.frameNumber" fontSize="28rpx" color="#999" placeholder="请输入车架号" border="none" inputAlign="right" /> |
| 46 | </up-form-item> | 46 | </up-form-item> |
| 47 | - <up-form-item label="发动机号" prop="engineNumber"> | 47 | + <up-form-item label="发动机号" prop="engineNumber" required> |
| 48 | <up-input v-model="form.engineNumber" fontSize="28rpx" color="#999" placeholder="请输入发动机号" border="none" inputAlign="right" /> | 48 | <up-input v-model="form.engineNumber" fontSize="28rpx" color="#999" placeholder="请输入发动机号" border="none" inputAlign="right" /> |
| 49 | </up-form-item> | 49 | </up-form-item> |
| 50 | - <up-form-item label="车辆类型" prop="vehicleType"> | 50 | + <up-form-item label="车辆类型" prop="vehicleTypeId" required> |
| 51 | <uni-data-select | 51 | <uni-data-select |
| 52 | v-model="form.vehicleTypeId" | 52 | v-model="form.vehicleTypeId" |
| 53 | :localdata="carTypeOption" | 53 | :localdata="carTypeOption" |
| 54 | placeholder="请选择车辆类型" | 54 | placeholder="请选择车辆类型" |
| 55 | /> | 55 | /> |
| 56 | </up-form-item> | 56 | </up-form-item> |
| 57 | - <up-form-item label="车辆使用性质" prop="vehicleNature"> | 57 | + <up-form-item label="车辆使用性质" prop="vehicleNatureId" required> |
| 58 | <uni-data-select | 58 | <uni-data-select |
| 59 | v-model="form.vehicleNatureId" | 59 | v-model="form.vehicleNatureId" |
| 60 | :localdata="carNatureOption" | 60 | :localdata="carNatureOption" |
| 61 | placeholder="请选择车辆使用性质" | 61 | placeholder="请选择车辆使用性质" |
| 62 | /> | 62 | /> |
| 63 | </up-form-item> | 63 | </up-form-item> |
| 64 | - <up-form-item label="核定客载数(人)" prop="passengersNumber"> | 64 | + <up-form-item label="核定客载数(人)" prop="passengersNumber" required> |
| 65 | <up-input v-model="form.passengersNumber" fontSize="28rpx" color="#999" placeholder="请输入核载人数" border="none" inputAlign="right" /> | 65 | <up-input v-model="form.passengersNumber" fontSize="28rpx" color="#999" placeholder="请输入核载人数" border="none" inputAlign="right" /> |
| 66 | </up-form-item> | 66 | </up-form-item> |
| 67 | - <up-form-item label="核定载质量(千克)" prop="passengerCapacity"> | 67 | + <up-form-item label="核定载质量(千克)" prop="passengerCapacity" required> |
| 68 | <up-input v-model="form.passengerCapacity" fontSize="28rpx" color="#999" placeholder="请输入核载重量" border="none" inputAlign="right" /> | 68 | <up-input v-model="form.passengerCapacity" fontSize="28rpx" color="#999" placeholder="请输入核载重量" border="none" inputAlign="right" /> |
| 69 | </up-form-item> | 69 | </up-form-item> |
| 70 | <up-form-item label="排量毫升" prop="emissions"> | 70 | <up-form-item label="排量毫升" prop="emissions"> |
| @@ -92,7 +92,7 @@ | @@ -92,7 +92,7 @@ | ||
| 92 | <up-form-item v-else label="中文品牌" prop="vehicleBrand"> | 92 | <up-form-item v-else label="中文品牌" prop="vehicleBrand"> |
| 93 | <up-input v-model="form.customizeVehicleBrand" fontSize="28rpx" color="#999" placeholder="请填写中文品牌" border="none" inputAlign="right" /> | 93 | <up-input v-model="form.customizeVehicleBrand" fontSize="28rpx" color="#999" placeholder="请填写中文品牌" border="none" inputAlign="right" /> |
| 94 | </up-form-item> | 94 | </up-form-item> |
| 95 | - <up-form-item label="准牵引质量" prop="tractionMass"> | 95 | + <up-form-item label="准牵引质量" prop="tractionMass" required> |
| 96 | <up-input v-model="form.tractionMass" fontSize="28rpx" color="#999" placeholder="请填写准牵引准质量" border="none" inputAlign="right" /> | 96 | <up-input v-model="form.tractionMass" fontSize="28rpx" color="#999" placeholder="请填写准牵引准质量" border="none" inputAlign="right" /> |
| 97 | </up-form-item> | 97 | </up-form-item> |
| 98 | <up-form-item label="保险需求" prop="requirements"> | 98 | <up-form-item label="保险需求" prop="requirements"> |
| @@ -106,7 +106,8 @@ | @@ -106,7 +106,8 @@ | ||
| 106 | 106 | ||
| 107 | <view class="tip">请认真核实车辆信息,实际投保车辆信息以保险公司确认为准</view> | 107 | <view class="tip">请认真核实车辆信息,实际投保车辆信息以保险公司确认为准</view> |
| 108 | 108 | ||
| 109 | - <view class="btn confirmBtn" @click="submitInfo">确认</view> | 109 | + <view v-show="!isEdit" class="btn confirmBtn" @click="submitInfo">确认</view> |
| 110 | + <view v-show="isRole" class="btn confirmBtn" @click="submitEdit">提交修改</view> | ||
| 110 | </up-form> | 111 | </up-form> |
| 111 | <up-popup :show="showTip" mode="center" :safeAreaInsetBottom="false" round="20" @close="showTip = false"> | 112 | <up-popup :show="showTip" mode="center" :safeAreaInsetBottom="false" round="20" @close="showTip = false"> |
| 112 | <view class="notice"> | 113 | <view class="notice"> |
| @@ -124,10 +125,13 @@ | @@ -124,10 +125,13 @@ | ||
| 124 | import { debounce } from '@/uni_modules/uview-plus'; | 125 | import { debounce } from '@/uni_modules/uview-plus'; |
| 125 | import { computed, reactive, ref } from 'vue'; | 126 | import { computed, reactive, ref } from 'vue'; |
| 126 | import navTop from '@/components/navTop.vue'; | 127 | import navTop from '@/components/navTop.vue'; |
| 127 | -import { carInfoAdd } from '@/api/user.js' | ||
| 128 | -import { onLoad } from '@dcloudio/uni-app' | 128 | +import { carInfoAdd, carInfoEdit } from '@/api/user.js' |
| 129 | +import { onLoad, onReady } from '@dcloudio/uni-app' | ||
| 130 | +import { disposeUser } from '@/api/work.js' | ||
| 131 | +import useUserStore from '@/store/modules/user'; | ||
| 129 | import { getCarNumApi, getCarTypeApi, getCarNatureApi, getCarBrandApi, getCarModelApi, getNeedApi, getListDeptApi, getCarDetail } from '@/api/car.js' | 132 | import { getCarNumApi, getCarTypeApi, getCarNatureApi, getCarBrandApi, getCarModelApi, getNeedApi, getListDeptApi, getCarDetail } from '@/api/car.js' |
| 130 | const showTip = ref(true) | 133 | const showTip = ref(true) |
| 134 | +const { userInfo } = useUserStore() | ||
| 131 | const brandTitle = ref('请选择中文品牌') | 135 | const brandTitle = ref('请选择中文品牌') |
| 132 | const disable = ref(false) | 136 | const disable = ref(false) |
| 133 | const labelStyle = { | 137 | const labelStyle = { |
| @@ -135,8 +139,13 @@ const labelStyle = { | @@ -135,8 +139,13 @@ const labelStyle = { | ||
| 135 | lineHeight: '38rpx', | 139 | lineHeight: '38rpx', |
| 136 | color: '#3D3D3D' | 140 | color: '#3D3D3D' |
| 137 | } | 141 | } |
| 142 | +// 表单引用 | ||
| 143 | +const uFormRef = ref(null) | ||
| 138 | const isShowHeader = ref(false) | 144 | const isShowHeader = ref(false) |
| 139 | const isCustom = ref(false) | 145 | const isCustom = ref(false) |
| 146 | +const taskId = ref('') | ||
| 147 | +const isEdit = ref(false) | ||
| 148 | +const isRole = ref(false) | ||
| 140 | const searchList = ref([]) | 149 | const searchList = ref([]) |
| 141 | const showList = ref(false) | 150 | const showList = ref(false) |
| 142 | const form = ref({ | 151 | const form = ref({ |
| @@ -171,11 +180,41 @@ const queryModelParams = reactive({ | @@ -171,11 +180,41 @@ const queryModelParams = reactive({ | ||
| 171 | pageNum: 1, | 180 | pageNum: 1, |
| 172 | modelName: undefined | 181 | modelName: undefined |
| 173 | }) | 182 | }) |
| 183 | + | ||
| 184 | +const rules = { | ||
| 185 | + licensePlateNumber: [{ required: true, message: '请输入车牌号', trigger: ['blur', 'change']}], | ||
| 186 | + lincensePlateTypeId: [{ required: true, message: '请选择号牌种类', trigger: ['change']}], | ||
| 187 | + frameNumber: [{ required: true, message: '请输入车架号', trigger: ['blur', 'change']}], | ||
| 188 | + engineNumber: [{ required: true, message: '请输入发动机号', trigger: ['blur', 'change']}], | ||
| 189 | + vehicleTypeId: [{ required: true, message: '请选择车辆类型', trigger: ['change']}], | ||
| 190 | + vehicleNatureId: [{ required: true, message: '请选择车辆使用性质', trigger: ['blur', 'change']}], | ||
| 191 | + passengersNumber: [ | ||
| 192 | + { required: true, message: '请输入载客人数', trigger: ['blur', 'change']}, | ||
| 193 | + { type: 'number', message: '请输入整数', trigger: ['blur', 'change']} | ||
| 194 | + ], | ||
| 195 | + passengerCapacity: [ | ||
| 196 | + { required: true, message: '请输入核定载质量', trigger: ['blur', 'change']}, | ||
| 197 | + { type: 'number', message: '请输入整数', trigger: ['blur', 'change']} | ||
| 198 | + ], | ||
| 199 | + tractionMass: [ | ||
| 200 | + { required: true, message: '请输入准牵引质量', trigger: ['blur', 'change']}, | ||
| 201 | + { type: 'number', message: '请输入整数', trigger: ['blur', 'change']} | ||
| 202 | + ] | ||
| 203 | +} | ||
| 204 | +// 微信小程序需要在此注册校验规则 | ||
| 205 | +onReady(() => { | ||
| 206 | + uFormRef.value.setRules(rules) | ||
| 207 | +}) | ||
| 174 | onLoad(async (options) => { | 208 | onLoad(async (options) => { |
| 209 | + if(options.roleId !== undefined || options.taskId !== undefined){ | ||
| 210 | + isRole.value = true | ||
| 211 | + taskId.value = options.taskId | ||
| 212 | + } | ||
| 175 | if(options.carInfoId !== undefined) { | 213 | if(options.carInfoId !== undefined) { |
| 176 | const { data } = await getCarDetail(options.carInfoId) | 214 | const { data } = await getCarDetail(options.carInfoId) |
| 177 | form.value = data | 215 | form.value = data |
| 178 | isCustom.value = data.isCustomizeBrandAndModel == "0" | 216 | isCustom.value = data.isCustomizeBrandAndModel == "0" |
| 217 | + isEdit.value = true | ||
| 179 | isShowHeader.value = true | 218 | isShowHeader.value = true |
| 180 | } | 219 | } |
| 181 | }) | 220 | }) |
| @@ -187,7 +226,7 @@ const getCompanyOption = () => { | @@ -187,7 +226,7 @@ const getCompanyOption = () => { | ||
| 187 | const newList = data.filter(item => item.parentId === 100) | 226 | const newList = data.filter(item => item.parentId === 100) |
| 188 | const arrList = newList.map(item => { | 227 | const arrList = newList.map(item => { |
| 189 | return { | 228 | return { |
| 190 | - value: item.deptId, | 229 | + value: item.deptId.toString(), |
| 191 | text: item.deptName | 230 | text: item.deptName |
| 192 | } | 231 | } |
| 193 | }) | 232 | }) |
| @@ -299,10 +338,52 @@ const selectModel = (item) => { | @@ -299,10 +338,52 @@ const selectModel = (item) => { | ||
| 299 | isCustom.value = true | 338 | isCustom.value = true |
| 300 | form.value.isCustomizeBrandAndModel = '0' | 339 | form.value.isCustomizeBrandAndModel = '0' |
| 301 | } | 340 | } |
| 302 | - | 341 | +// 添加车辆信息 |
| 303 | const submitInfo = async () => { | 342 | const submitInfo = async () => { |
| 304 | - await carInfoAdd(form.value) | ||
| 305 | - uni.$u.toast('添加成功') | 343 | + if(form.value.isCustomizeBrandAndModel === '1') { |
| 344 | + if(form.value.customizeVehicleBrand === '' || form.value.customizeVehicleModel === '') { | ||
| 345 | + return uni.$u.toast('车辆型号和品牌必须填写') | ||
| 346 | + } | ||
| 347 | + }else { | ||
| 348 | + if(form.value.vehicleBrandId === '' || form.value.vehicleModelId === '') { | ||
| 349 | + return uni.$u.toast('车辆型号和品牌必须填写') | ||
| 350 | + } | ||
| 351 | + } | ||
| 352 | + uFormRef.value.validate().then(async valid => { | ||
| 353 | + if (valid) { | ||
| 354 | + await carInfoAdd(form.value) | ||
| 355 | + uni.$u.toast('添加成功') | ||
| 356 | + uni.navigateBack() | ||
| 357 | + } else { | ||
| 358 | + uni.$u.toast('校验失败') | ||
| 359 | + } | ||
| 360 | + }).catch((err) => { | ||
| 361 | + // 处理验证错误 | ||
| 362 | + uni.$u.toast('校验失败') | ||
| 363 | + }); | ||
| 364 | +} | ||
| 365 | +// 提交修改 | ||
| 366 | +const submitEdit = async () => { | ||
| 367 | + if(form.value.isCustomizeBrandAndModel === '1') { | ||
| 368 | + if(form.value.customizeVehicleBrand === '' || form.value.customizeVehicleModel === '') { | ||
| 369 | + return uni.$u.toast('车辆型号和品牌必须填写') | ||
| 370 | + } | ||
| 371 | + }else { | ||
| 372 | + if(form.value.vehicleBrandId === '' || form.value.vehicleModelId === '') { | ||
| 373 | + return uni.$u.toast('车辆型号和品牌必须填写') | ||
| 374 | + } | ||
| 375 | + } | ||
| 376 | + if(!taskId.value === undefined) { | ||
| 377 | + await carInfoEdit(form.value) | ||
| 378 | + uni.$u.toast('修改成功') | ||
| 379 | + uni.navigateBack() | ||
| 380 | + }else { | ||
| 381 | + await carInfoEdit(form.value) | ||
| 382 | + disposeUser({reregistration:'true'}, taskId.value).then(res => { | ||
| 383 | + uni.$u.toast('提交成功') | ||
| 384 | + }) | ||
| 385 | + uni.navigateBack() | ||
| 386 | + } | ||
| 306 | } | 387 | } |
| 307 | </script> | 388 | </script> |
| 308 | 389 |
| @@ -25,7 +25,8 @@ | @@ -25,7 +25,8 @@ | ||
| 25 | <wordInfo :phone="carItem.phone" :userName="carItem.name" :company="carItem.sysDeptName" /> | 25 | <wordInfo :phone="carItem.phone" :userName="carItem.name" :company="carItem.sysDeptName" /> |
| 26 | </template> | 26 | </template> |
| 27 | <template #footer> | 27 | <template #footer> |
| 28 | - <centerLine leftContent="承接" rightContent="转办" @leftComfirn="handleContinue(carItem.taskId)" @rightComfirn="handleSharing(carItem.taskId)"></centerLine> | 28 | + <centerLine v-if="carItem.orderProgress === '已承接'" leftContent="承接回馈" rightContent="疑难件" @leftComfirn="handleFeedback(carItem.taskId)" @rightComfirn="handleTroubleshooting(carItem.taskId)"></centerLine> |
| 29 | + <centerLine v-else leftContent="承接" rightContent="转办" @leftComfirn="handleContinue(carItem.taskId)" @rightComfirn="handleSharing(carItem.taskId)"></centerLine> | ||
| 29 | </template> | 30 | </template> |
| 30 | </carCard> | 31 | </carCard> |
| 31 | <up-empty | 32 | <up-empty |
| @@ -33,6 +34,10 @@ | @@ -33,6 +34,10 @@ | ||
| 33 | mode="list" | 34 | mode="list" |
| 34 | text="暂无待办事项" | 35 | text="暂无待办事项" |
| 35 | /> | 36 | /> |
| 37 | + <!-- 分页器 --> | ||
| 38 | + <view v-show="List.length > 0"> | ||
| 39 | + <uni-pagination :total="allTotal" v-model="queryParams.pageNum" :pageSize="queryParams.pageSize" @change="getList" /> | ||
| 40 | + </view> | ||
| 36 | </view> | 41 | </view> |
| 37 | </scroll-view> | 42 | </scroll-view> |
| 38 | </view> | 43 | </view> |
| @@ -57,6 +62,10 @@ | @@ -57,6 +62,10 @@ | ||
| 57 | mode="list" | 62 | mode="list" |
| 58 | text="暂无数据" | 63 | text="暂无数据" |
| 59 | /> | 64 | /> |
| 65 | + <!-- 分页器 --> | ||
| 66 | + <view v-show="ProcessedList.length > 0"> | ||
| 67 | + <uni-pagination :total="allTotal" v-model="continueQueryParams.pageNum" :pageSize="continueQueryParams.pageSize" @change="getProcessedList" /> | ||
| 68 | + </view> | ||
| 60 | </view> | 69 | </view> |
| 61 | </scroll-view> | 70 | </scroll-view> |
| 62 | </view> | 71 | </view> |
| @@ -70,11 +79,11 @@ | @@ -70,11 +79,11 @@ | ||
| 70 | <navTop :carNum="carItem.licensePlateNumber" /> | 79 | <navTop :carNum="carItem.licensePlateNumber" /> |
| 71 | </template> | 80 | </template> |
| 72 | <template #center> | 81 | <template #center> |
| 73 | - <ownerInfo :carInfo="carItem" /> | 82 | + <wordInfo :phone="carItem.phone" :userName="carItem.name" :company="carItem.sysDeptName" /> |
| 74 | </template> | 83 | </template> |
| 75 | <template #footer> | 84 | <template #footer> |
| 76 | <view class="delInfo"> | 85 | <view class="delInfo"> |
| 77 | - <text @click="goCarDetail">查看详情</text> | 86 | + <text @click="lookRemark(carItem.processInstanceId)">查看回馈</text> |
| 78 | </view> | 87 | </view> |
| 79 | </template> | 88 | </template> |
| 80 | </carCard> | 89 | </carCard> |
| @@ -83,6 +92,10 @@ | @@ -83,6 +92,10 @@ | ||
| 83 | mode="list" | 92 | mode="list" |
| 84 | text="暂无数据" | 93 | text="暂无数据" |
| 85 | /> | 94 | /> |
| 95 | + <!-- 分页器 --> | ||
| 96 | + <view v-show="EndedList.length > 0"> | ||
| 97 | + <uni-pagination :total="allTotal" v-model="queryParams.pageNum" :pageSize="queryParams.pageSize" @change="getEndedList" /> | ||
| 98 | + </view> | ||
| 86 | </view> | 99 | </view> |
| 87 | </scroll-view> | 100 | </scroll-view> |
| 88 | </view> | 101 | </view> |
| @@ -92,33 +105,37 @@ | @@ -92,33 +105,37 @@ | ||
| 92 | 105 | ||
| 93 | </view> | 106 | </view> |
| 94 | <!-- 填写承接回馈弹出框 --> | 107 | <!-- 填写承接回馈弹出框 --> |
| 95 | - <up-modal :show="showFeedback" title="填写回馈及单号" @confirm="submitFeedback" @cancel="showFeedback = false"> | ||
| 96 | - <view class="slot-content"> | ||
| 97 | - <up-form :model="FeedbackForm"> | ||
| 98 | - <up-form-item label="承保单号" prop="name"> | ||
| 99 | - <up-input v-model="FeedbackForm.policynumber" /> | ||
| 100 | - </up-form-item> | ||
| 101 | - <up-form-item label="回馈内容" prop="name"> | ||
| 102 | - <rich-text :nodes="FeedbackForm.message"></rich-text> | ||
| 103 | - </up-form-item> | ||
| 104 | - </up-form> | ||
| 105 | - </view> | 108 | + <up-modal :show="showFeedback" showCancelButton title="填写回馈及单号" @confirm="submitFeedback" @cancel="showFeedback = false"> |
| 109 | + <up-form :model="FeedbackForm" labelWidth="80"> | ||
| 110 | + <up-form-item label="承保单号" prop="name"> | ||
| 111 | + <up-input v-model="FeedbackForm.policynumber" /> | ||
| 112 | + </up-form-item> | ||
| 113 | + <up-form-item label="回馈内容" prop="name"> | ||
| 114 | + <up-textarea v-model="FeedbackForm.message" placeholder="请输入内容" ></up-textarea> | ||
| 115 | + </up-form-item> | ||
| 116 | + </up-form> | ||
| 117 | + </up-modal> | ||
| 118 | + <!-- 查看回馈弹出框 --> | ||
| 119 | + <up-modal :show="showRemark" title="回馈内容" @confirm="showRemark = false"> | ||
| 120 | + <up-form :model="remarkForm" labelWidth="80"> | ||
| 121 | + <up-form-item label="承保单号" prop="name"> | ||
| 122 | + <up-input v-model="remarkForm.policyNumber" /> | ||
| 123 | + </up-form-item> | ||
| 124 | + <up-form-item label="回馈内容" prop="name"> | ||
| 125 | + <up-parse :content="remarkForm.message"></up-parse> | ||
| 126 | + </up-form-item> | ||
| 127 | + </up-form> | ||
| 106 | </up-modal> | 128 | </up-modal> |
| 107 | - | ||
| 108 | <!-- 转办弹出框 --> | 129 | <!-- 转办弹出框 --> |
| 109 | - <up-modal :show="showSharing" title="选择转办人员" @confirm="submitSharing" @cancel="showSharing = false"> | ||
| 110 | - <view class="slot-content"> | ||
| 111 | - <up-radio-group | ||
| 112 | - v-model="transferForm.username" | ||
| 113 | - > | ||
| 114 | - <up-radio | ||
| 115 | - v-for="(item, index) in transferOptions" | ||
| 116 | - :key="index" | ||
| 117 | - :label="item.userName" | ||
| 118 | - :name="item.userName" | ||
| 119 | - /> | ||
| 120 | - </up-radio-group> | ||
| 121 | - </view> | 130 | + <up-modal :show="showSharing" showCancelButton title="选择转办人员" @confirm="submitSharing" @cancel="showSharing = false"> |
| 131 | + <up-radio-group v-model="transferForm.username"> | ||
| 132 | + <up-radio | ||
| 133 | + v-for="(item, index) in transferOptions" | ||
| 134 | + :key="index" | ||
| 135 | + :label="item.userName" | ||
| 136 | + :name="item.userName" | ||
| 137 | + /> | ||
| 138 | + </up-radio-group> | ||
| 122 | </up-modal> | 139 | </up-modal> |
| 123 | <!-- 底部导航栏 --> | 140 | <!-- 底部导航栏 --> |
| 124 | <up-tabbar | 141 | <up-tabbar |
| @@ -145,7 +162,7 @@ | @@ -145,7 +162,7 @@ | ||
| 145 | import centerLine from '@/components/centerLine.vue'; | 162 | import centerLine from '@/components/centerLine.vue'; |
| 146 | import wordInfo from '@/components/wordInfo.vue'; | 163 | import wordInfo from '@/components/wordInfo.vue'; |
| 147 | import navTop from '@/components/navTop.vue'; | 164 | import navTop from '@/components/navTop.vue'; |
| 148 | - import { queryMyList, queryContinueList, queryEndedList ,disposeUser, getUserList, transfer } from '@/api/work.js' | 165 | + import { queryMyList, queryContinueList, queryEndedList ,disposeUser, getUserList, transfer, queryResult } from '@/api/work.js' |
| 149 | import ownerInfo from '@/components/ownerInfo.vue'; | 166 | import ownerInfo from '@/components/ownerInfo.vue'; |
| 150 | import useTabbarStore from '@/store/modules/tabbar.js' | 167 | import useTabbarStore from '@/store/modules/tabbar.js' |
| 151 | const useTabbar = useTabbarStore() | 168 | const useTabbar = useTabbarStore() |
| @@ -153,13 +170,19 @@ | @@ -153,13 +170,19 @@ | ||
| 153 | const ProcessedList = ref([]) // 已处理列表 | 170 | const ProcessedList = ref([]) // 已处理列表 |
| 154 | const EndedList = ref([]) // 已完结列表 | 171 | const EndedList = ref([]) // 已完结列表 |
| 155 | const expertActive = ref(0) | 172 | const expertActive = ref(0) |
| 173 | + const allTotal = ref(0) | ||
| 156 | const transferForm = ref({ | 174 | const transferForm = ref({ |
| 157 | username: '', | 175 | username: '', |
| 158 | taskId: '' | 176 | taskId: '' |
| 159 | }) | 177 | }) |
| 160 | - const transferOptions = reactive([]); | 178 | + const transferOptions = ref([]); |
| 161 | const showFeedback = ref(false) | 179 | const showFeedback = ref(false) |
| 162 | const showSharing = ref(false) | 180 | const showSharing = ref(false) |
| 181 | + const showRemark = ref(false) | ||
| 182 | + const remarkForm = ref({ | ||
| 183 | + message: "", | ||
| 184 | + policyNumber: "" | ||
| 185 | + }) | ||
| 163 | const FeedbackForm = ref({ | 186 | const FeedbackForm = ref({ |
| 164 | policystatus: "2", | 187 | policystatus: "2", |
| 165 | message: "", | 188 | message: "", |
| @@ -167,11 +190,11 @@ | @@ -167,11 +190,11 @@ | ||
| 167 | }) | 190 | }) |
| 168 | const queryParams = reactive({ | 191 | const queryParams = reactive({ |
| 169 | pageNum: 1, | 192 | pageNum: 1, |
| 170 | - pageSize: 20 | 193 | + pageSize: 10 |
| 171 | }); | 194 | }); |
| 172 | const continueQueryParams = reactive({ | 195 | const continueQueryParams = reactive({ |
| 173 | pageNum: 1, | 196 | pageNum: 1, |
| 174 | - pageSize: 20, | 197 | + pageSize: 10, |
| 175 | orderprogress: 1, | 198 | orderprogress: 1, |
| 176 | policystatus: 0 | 199 | policystatus: 0 |
| 177 | }); | 200 | }); |
| @@ -205,6 +228,7 @@ | @@ -205,6 +228,7 @@ | ||
| 205 | const getList = async () => { | 228 | const getList = async () => { |
| 206 | const { data } = await queryMyList(queryParams); | 229 | const { data } = await queryMyList(queryParams); |
| 207 | List.value = data.rows; | 230 | List.value = data.rows; |
| 231 | + allTotal.value = data.total | ||
| 208 | useTabbar.companyTotal = data.total; | 232 | useTabbar.companyTotal = data.total; |
| 209 | }; | 233 | }; |
| 210 | 234 | ||
| @@ -212,12 +236,14 @@ | @@ -212,12 +236,14 @@ | ||
| 212 | const getProcessedList = async () => { | 236 | const getProcessedList = async () => { |
| 213 | const { rows, total } = await queryContinueList(continueQueryParams); | 237 | const { rows, total } = await queryContinueList(continueQueryParams); |
| 214 | ProcessedList.value = rows; | 238 | ProcessedList.value = rows; |
| 239 | + allTotal.value = total | ||
| 215 | useTabbar.companyTotal = total; | 240 | useTabbar.companyTotal = total; |
| 216 | }; | 241 | }; |
| 217 | // 获取已完结保单 | 242 | // 获取已完结保单 |
| 218 | const getEndedList = async () => { | 243 | const getEndedList = async () => { |
| 219 | const { rows, total } = await queryEndedList(queryParams); | 244 | const { rows, total } = await queryEndedList(queryParams); |
| 220 | EndedList.value = rows; | 245 | EndedList.value = rows; |
| 246 | + allTotal.value = total | ||
| 221 | useTabbar.companyTotal = total; | 247 | useTabbar.companyTotal = total; |
| 222 | }; | 248 | }; |
| 223 | 249 | ||
| @@ -295,11 +321,13 @@ | @@ -295,11 +321,13 @@ | ||
| 295 | url: '/pages/companyMy/companyMy' | 321 | url: '/pages/companyMy/companyMy' |
| 296 | }) | 322 | }) |
| 297 | } | 323 | } |
| 298 | - // 车主详情 | ||
| 299 | - const goCarDetail = () => { | ||
| 300 | - uni.navigateTo({ | ||
| 301 | - url: '/pages/ownerDetail/ownerDetail' | ||
| 302 | - }) | 324 | + /**查看保单回馈 */ |
| 325 | + const lookRemark = (processInstanceId) => { | ||
| 326 | + queryResult({ processInstanceId }).then((res) => { | ||
| 327 | + remarkForm.value.policyNumber = res?.data?.policyNumber; | ||
| 328 | + remarkForm.value.message = res?.data?.message; | ||
| 329 | + showRemark.value = true; | ||
| 330 | + }); | ||
| 303 | } | 331 | } |
| 304 | getList() | 332 | getList() |
| 305 | </script> | 333 | </script> |
| @@ -11,34 +11,34 @@ | @@ -11,34 +11,34 @@ | ||
| 11 | <up-form-item prop="nickName"> | 11 | <up-form-item prop="nickName"> |
| 12 | <up-input v-model="userInfo.nickName" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> | 12 | <up-input v-model="userInfo.nickName" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> |
| 13 | <template #prefix> | 13 | <template #prefix> |
| 14 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> | 14 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> |
| 15 | </template> | 15 | </template> |
| 16 | </up-input> | 16 | </up-input> |
| 17 | </up-form-item> | 17 | </up-form-item> |
| 18 | <up-form-item prop="identificationNumber"> | 18 | <up-form-item prop="identificationNumber"> |
| 19 | <up-input v-model="userInfo.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> | 19 | <up-input v-model="userInfo.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> |
| 20 | <template #prefix> | 20 | <template #prefix> |
| 21 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> | 21 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> |
| 22 | </template> | 22 | </template> |
| 23 | </up-input> | 23 | </up-input> |
| 24 | </up-form-item> | 24 | </up-form-item> |
| 25 | <up-form-item prop="phonenumber"> | 25 | <up-form-item prop="phonenumber"> |
| 26 | <up-input v-model="userInfo.phonenumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入手机号码"> | 26 | <up-input v-model="userInfo.phonenumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入手机号码"> |
| 27 | <template #prefix> | 27 | <template #prefix> |
| 28 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/phone.png" mode="widthFix"></image> | 28 | + <image style="width: 32rpx;height: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/phone.png" mode="widthFix"></image> |
| 29 | </template> | 29 | </template> |
| 30 | </up-input> | 30 | </up-input> |
| 31 | </up-form-item> | 31 | </up-form-item> |
| 32 | </up-form> | 32 | </up-form> |
| 33 | </view> | 33 | </view> |
| 34 | - <!-- <view class="line_title"> | 34 | + <view class="line_title"> |
| 35 | <text class="left_title">状态设置</text> | 35 | <text class="left_title">状态设置</text> |
| 36 | - </view> --> | 36 | + </view> |
| 37 | 37 | ||
| 38 | - <!-- <view class="status"> | ||
| 39 | - <view class="statusBtn" :class="{active: status === 0}" @click="status = 0">在岗</view> | ||
| 40 | - <view class="statusBtn" :class="{active: status === 1}" @click="status = 1">离岗</view> | ||
| 41 | - </view> --> | 38 | + <view class="status"> |
| 39 | + <view class="statusBtn" :class="{active: userInfo.jobStatus === '0'}" @click="changeStatus('0')">在岗</view> | ||
| 40 | + <view class="statusBtn" :class="{active: userInfo.jobStatus === '1'}" @click="changeStatus('1')">离岗</view> | ||
| 41 | + </view> | ||
| 42 | 42 | ||
| 43 | <view class="loginBtn" @click="loginOut">退出登录</view> | 43 | <view class="loginBtn" @click="loginOut">退出登录</view> |
| 44 | </view> | 44 | </view> |
| @@ -60,9 +60,8 @@ import { updateUserInfo } from '@/api/user.js' | @@ -60,9 +60,8 @@ import { updateUserInfo } from '@/api/user.js' | ||
| 60 | import { onReady } from '@dcloudio/uni-app' | 60 | import { onReady } from '@dcloudio/uni-app' |
| 61 | import useTabbarStore from '@/store/modules/tabbar.js' | 61 | import useTabbarStore from '@/store/modules/tabbar.js' |
| 62 | import useUserStore from '@/store/modules/user.js'; | 62 | import useUserStore from '@/store/modules/user.js'; |
| 63 | -const { userInfo, Logout } = useUserStore() | 63 | +const { userInfo, Logout, getUser } = useUserStore() |
| 64 | const useTabbar = useTabbarStore() | 64 | const useTabbar = useTabbarStore() |
| 65 | -const status = ref(0) | ||
| 66 | const showNotice = ref(true) | 65 | const showNotice = ref(true) |
| 67 | const customStyle = { | 66 | const customStyle = { |
| 68 | height: '80rpx', | 67 | height: '80rpx', |
| @@ -138,11 +137,19 @@ const goRouter = (index) => { | @@ -138,11 +137,19 @@ const goRouter = (index) => { | ||
| 138 | }) | 137 | }) |
| 139 | } | 138 | } |
| 140 | 139 | ||
| 140 | +// 设置在岗状态 | ||
| 141 | +const changeStatus = async (status) => { | ||
| 142 | + userInfo.jobStatus = status | ||
| 143 | + await updateUserInfo(userInfo) | ||
| 144 | + await getUser() | ||
| 145 | + uni.$u.toast('更新成功') | ||
| 146 | +} | ||
| 141 | // 提交方法 | 147 | // 提交方法 |
| 142 | const submit = () => { | 148 | const submit = () => { |
| 143 | userFormRef.value.validate().then(async valid => { | 149 | userFormRef.value.validate().then(async valid => { |
| 144 | if (valid) { | 150 | if (valid) { |
| 145 | await updateUserInfo(userInfo) | 151 | await updateUserInfo(userInfo) |
| 152 | + await getUser() | ||
| 146 | uni.$u.toast('更新成功') | 153 | uni.$u.toast('更新成功') |
| 147 | } else { | 154 | } else { |
| 148 | uni.$u.toast('校验失败') | 155 | uni.$u.toast('校验失败') |
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | <up-navbar placeholder :leftIconSize="0" bgColor="transparent" /> | 3 | <up-navbar placeholder :leftIconSize="0" bgColor="transparent" /> |
| 4 | <view class="car_list"> | 4 | <view class="car_list"> |
| 5 | <view class="title">车辆管理</view> | 5 | <view class="title">车辆管理</view> |
| 6 | - <carCard v-for="carItem in carList" :key="carItem.id" :carInfo="carItem"> | 6 | + <carCard v-for="carItem in carList" :key="carItem.id" tipContent="车辆信息" :carInfo="carItem"> |
| 7 | <template #header> | 7 | <template #header> |
| 8 | <navTop :carNum="carItem.licensePlateNumber" /> | 8 | <navTop :carNum="carItem.licensePlateNumber" /> |
| 9 | </template> | 9 | </template> |
| @@ -31,8 +31,9 @@ | @@ -31,8 +31,9 @@ | ||
| 31 | 31 | ||
| 32 | <script setup> | 32 | <script setup> |
| 33 | import { reactive, ref } from 'vue' | 33 | import { reactive, ref } from 'vue' |
| 34 | -import { onShow } from '@dcloudio/uni-app' | 34 | +import { onShow, onPullDownRefresh } from '@dcloudio/uni-app' |
| 35 | import { getUserCarInfo, getNotice } from '@/api/user.js' | 35 | import { getUserCarInfo, getNotice } from '@/api/user.js' |
| 36 | +import { queryMyList } from '@/api/work.js' | ||
| 36 | import carCard from '@/components/carCard.vue'; | 37 | import carCard from '@/components/carCard.vue'; |
| 37 | import centerLine from '@/components/centerLine.vue'; | 38 | import centerLine from '@/components/centerLine.vue'; |
| 38 | import navTop from '@/components/navTop.vue'; | 39 | import navTop from '@/components/navTop.vue'; |
| @@ -40,14 +41,17 @@ import useUserStore from '@/store/modules/user'; | @@ -40,14 +41,17 @@ import useUserStore from '@/store/modules/user'; | ||
| 40 | const carList = ref([]) | 41 | const carList = ref([]) |
| 41 | const advertisingTitle = ref('') | 42 | const advertisingTitle = ref('') |
| 42 | const advertisingContent = ref('') | 43 | const advertisingContent = ref('') |
| 44 | +const myTotal = ref('0') | ||
| 43 | const userStore = useUserStore() | 45 | const userStore = useUserStore() |
| 44 | const queryParams = reactive({ | 46 | const queryParams = reactive({ |
| 45 | pageNum: 1, | 47 | pageNum: 1, |
| 46 | - pageSize: 10 | 48 | + pageSize: 20 |
| 47 | }) | 49 | }) |
| 48 | const getMyList = async () => { | 50 | const getMyList = async () => { |
| 49 | const { data } = await getUserCarInfo(queryParams) | 51 | const { data } = await getUserCarInfo(queryParams) |
| 50 | carList.value = data.records | 52 | carList.value = data.records |
| 53 | + const { data:myData } = await queryMyList(queryParams) | ||
| 54 | + myTotal.value = myData.total.toString() | ||
| 51 | } | 55 | } |
| 52 | const addCarInfo = () => { | 56 | const addCarInfo = () => { |
| 53 | uni.navigateTo({ | 57 | uni.navigateTo({ |
| @@ -67,18 +71,36 @@ const getNoticeDetail = async () => { | @@ -67,18 +71,36 @@ const getNoticeDetail = async () => { | ||
| 67 | const { data } = await getNotice(10) | 71 | const { data } = await getNotice(10) |
| 68 | advertisingContent.value = data.noticeContent | 72 | advertisingContent.value = data.noticeContent |
| 69 | advertisingTitle.value = data.noticeTitle | 73 | advertisingTitle.value = data.noticeTitle |
| 74 | + userStore.isShowAdver = true | ||
| 70 | } | 75 | } |
| 71 | getNoticeDetail() | 76 | getNoticeDetail() |
| 72 | -onShow(() => { | ||
| 73 | - getMyList() | 77 | +// 用户下拉刷新 |
| 78 | +onPullDownRefresh(async () => { | ||
| 79 | + carList.value = [] | ||
| 80 | + //调用获取数据方法 | ||
| 81 | + await getMyList() | ||
| 82 | + uni.stopPullDownRefresh() | ||
| 83 | +}) | ||
| 84 | +onShow(async () => { | ||
| 85 | + await getMyList() | ||
| 86 | + if(myTotal.value !== '0') { | ||
| 87 | + uni.setTabBarBadge({ | ||
| 88 | + index: 1, | ||
| 89 | + text: myTotal.value | ||
| 90 | + }) | ||
| 91 | + }else { | ||
| 92 | + uni.removeTabBarBadge({ | ||
| 93 | + index: 1 | ||
| 94 | + }) | ||
| 95 | + } | ||
| 74 | }) | 96 | }) |
| 75 | </script> | 97 | </script> |
| 76 | 98 | ||
| 77 | <style lang="scss" scoped> | 99 | <style lang="scss" scoped> |
| 78 | .app-container{ | 100 | .app-container{ |
| 79 | width: 100%; | 101 | width: 100%; |
| 80 | - height: 100vh; | ||
| 81 | - padding: 0 30rpx; | 102 | + min-height: 100vh; |
| 103 | + padding: 0 30rpx 30rpx; | ||
| 82 | background: url('http://bxhd.crgx.net/profile/avatar/2024/09/25/bg-index_20240925113012A004.png') no-repeat; | 104 | background: url('http://bxhd.crgx.net/profile/avatar/2024/09/25/bg-index_20240925113012A004.png') no-repeat; |
| 83 | background-size: 100% 100%; | 105 | background-size: 100% 100%; |
| 84 | overflow: hidden; | 106 | overflow: hidden; |
| @@ -123,7 +145,12 @@ onShow(() => { | @@ -123,7 +145,12 @@ onShow(() => { | ||
| 123 | .notice_content{ | 145 | .notice_content{ |
| 124 | font-size: 28rpx; | 146 | font-size: 28rpx; |
| 125 | line-height: 38rpx; | 147 | line-height: 38rpx; |
| 148 | + height: 375rpx; | ||
| 126 | color: #999; | 149 | color: #999; |
| 150 | + overflow-y: scroll; | ||
| 151 | + image{ | ||
| 152 | + width: 100%; | ||
| 153 | + } | ||
| 127 | } | 154 | } |
| 128 | .btn{ | 155 | .btn{ |
| 129 | position: absolute; | 156 | position: absolute; |
| @@ -135,6 +162,7 @@ onShow(() => { | @@ -135,6 +162,7 @@ onShow(() => { | ||
| 135 | height: 100rpx; | 162 | height: 100rpx; |
| 136 | color: #3680FE; | 163 | color: #3680FE; |
| 137 | font-size: 28rpx; | 164 | font-size: 28rpx; |
| 165 | + background-color: #fff; | ||
| 138 | border-top: 2rpx solid #eee; | 166 | border-top: 2rpx solid #eee; |
| 139 | } | 167 | } |
| 140 | } | 168 | } |
| @@ -6,14 +6,14 @@ | @@ -6,14 +6,14 @@ | ||
| 6 | <up-form-item prop="username"> | 6 | <up-form-item prop="username"> |
| 7 | <up-input v-model="loginForm.username" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入用户名"> | 7 | <up-input v-model="loginForm.username" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入用户名"> |
| 8 | <template #prefix> | 8 | <template #prefix> |
| 9 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> | 9 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> |
| 10 | </template> | 10 | </template> |
| 11 | </up-input> | 11 | </up-input> |
| 12 | </up-form-item> | 12 | </up-form-item> |
| 13 | <up-form-item prop="password"> | 13 | <up-form-item prop="password"> |
| 14 | <up-input v-model="loginForm.password" type="password" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入密码"> | 14 | <up-input v-model="loginForm.password" type="password" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入密码"> |
| 15 | <template #prefix> | 15 | <template #prefix> |
| 16 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> | 16 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> |
| 17 | </template> | 17 | </template> |
| 18 | </up-input> | 18 | </up-input> |
| 19 | </up-form-item> | 19 | </up-form-item> |
| @@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
| 21 | <view style="display: flex;"> | 21 | <view style="display: flex;"> |
| 22 | <up-input v-model="loginForm.code" placeholder="验证码" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="codeCustomStyle"> | 22 | <up-input v-model="loginForm.code" placeholder="验证码" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="codeCustomStyle"> |
| 23 | <template #prefix> | 23 | <template #prefix> |
| 24 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/code.png" mode="widthFix"></image> | 24 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/code.png" mode="widthFix"></image> |
| 25 | </template> | 25 | </template> |
| 26 | </up-input> | 26 | </up-input> |
| 27 | <view class="login-code"> | 27 | <view class="login-code"> |
| @@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
| 33 | </view> | 33 | </view> |
| 34 | 34 | ||
| 35 | <view class="tip"> | 35 | <view class="tip"> |
| 36 | - 未注册或绑定该车型平台的身份证号,将帮你注册新账号,点击登录即代表你同意<text style="color: #3680FE;" @click="goPrivacy">《隐私政策》</text> | 36 | + 未注册或绑定该平台的身份证号,将帮你注册新账号,点击登录即代表你同意<text style="color: #3680FE;" @click="goPrivacy">《隐私政策》</text> |
| 37 | </view> | 37 | </view> |
| 38 | <view class="log-btn" @click="submit">登录</view> | 38 | <view class="log-btn" @click="submit">登录</view> |
| 39 | </view> | 39 | </view> |
| @@ -45,7 +45,7 @@ import { onReady } from '@dcloudio/uni-app' | @@ -45,7 +45,7 @@ import { onReady } from '@dcloudio/uni-app' | ||
| 45 | import { getCodeImg } from '@/api/user.js' | 45 | import { getCodeImg } from '@/api/user.js' |
| 46 | import { encrypt } from "@/utils/jsencrypt"; | 46 | import { encrypt } from "@/utils/jsencrypt"; |
| 47 | import useUserStore from '@/store/modules/user' | 47 | import useUserStore from '@/store/modules/user' |
| 48 | - | 48 | +import storage from '@/utils/storage.js' |
| 49 | const userStore = useUserStore() | 49 | const userStore = useUserStore() |
| 50 | // 登录参数 | 50 | // 登录参数 |
| 51 | const loginForm = ref({ | 51 | const loginForm = ref({ |
| @@ -60,7 +60,7 @@ const logFormRef = ref(null) | @@ -60,7 +60,7 @@ const logFormRef = ref(null) | ||
| 60 | // 校验规则 | 60 | // 校验规则 |
| 61 | const rules = { | 61 | const rules = { |
| 62 | username: [{ required: true, message: '请输入用户名', trigger: ['blur', 'change'] }], | 62 | username: [{ required: true, message: '请输入用户名', trigger: ['blur', 'change'] }], |
| 63 | - password: [{ required: true, message: '请输入身份证号', trigger: ['blur', 'change']}], | 63 | + password: [{ required: true, message: '请输入密码', trigger: ['blur', 'change']}], |
| 64 | code: [{ required: true, message: '请输入验证码', trigger: ['blur', 'change']}] | 64 | code: [{ required: true, message: '请输入验证码', trigger: ['blur', 'change']}] |
| 65 | } | 65 | } |
| 66 | const customStyle = { | 66 | const customStyle = { |
| @@ -104,6 +104,7 @@ const submit = () => { | @@ -104,6 +104,7 @@ const submit = () => { | ||
| 104 | // 调用action的登录方法 | 104 | // 调用action的登录方法 |
| 105 | userStore.userlogin(loginForm.value).then(async () => { | 105 | userStore.userlogin(loginForm.value).then(async () => { |
| 106 | const { data, roleGroup } = await userStore.getUser() | 106 | const { data, roleGroup } = await userStore.getUser() |
| 107 | + storage.set('crgx_roleGroup', roleGroup) | ||
| 107 | if(data.identificationNumber !== null) { | 108 | if(data.identificationNumber !== null) { |
| 108 | if(roleGroup === '公司员工'){ | 109 | if(roleGroup === '公司员工'){ |
| 109 | uni.redirectTo({ | 110 | uni.redirectTo({ |
| @@ -14,54 +14,70 @@ | @@ -14,54 +14,70 @@ | ||
| 14 | <up-form-item prop="nickName"> | 14 | <up-form-item prop="nickName"> |
| 15 | <up-input v-model="userInfo.nickName" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> | 15 | <up-input v-model="userInfo.nickName" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> |
| 16 | <template #prefix> | 16 | <template #prefix> |
| 17 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> | 17 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> |
| 18 | </template> | 18 | </template> |
| 19 | </up-input> | 19 | </up-input> |
| 20 | </up-form-item> | 20 | </up-form-item> |
| 21 | <up-form-item prop="identificationNumber"> | 21 | <up-form-item prop="identificationNumber"> |
| 22 | <up-input v-model="userInfo.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> | 22 | <up-input v-model="userInfo.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> |
| 23 | <template #prefix> | 23 | <template #prefix> |
| 24 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> | 24 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> |
| 25 | </template> | 25 | </template> |
| 26 | </up-input> | 26 | </up-input> |
| 27 | </up-form-item> | 27 | </up-form-item> |
| 28 | <up-form-item prop="phonenumber"> | 28 | <up-form-item prop="phonenumber"> |
| 29 | <up-input v-model="userInfo.phonenumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> | 29 | <up-input v-model="userInfo.phonenumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> |
| 30 | <template #prefix> | 30 | <template #prefix> |
| 31 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> | 31 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> |
| 32 | </template> | 32 | </template> |
| 33 | </up-input> | 33 | </up-input> |
| 34 | </up-form-item> | 34 | </up-form-item> |
| 35 | </up-form> | 35 | </up-form> |
| 36 | </view> | 36 | </view> |
| 37 | <view class="line_title"> | 37 | <view class="line_title"> |
| 38 | - <text class="left_title">我的车辆</text> | 38 | + <text class="left_title">我的待办</text> |
| 39 | <text>去修改车辆信息</text> | 39 | <text>去修改车辆信息</text> |
| 40 | </view> | 40 | </view> |
| 41 | 41 | ||
| 42 | - <view class="car_data"> | ||
| 43 | - <view v-for="carItem in carList" :key="carItem.id" class="car_item"> | 42 | + <carCard v-for="carItem in carList" :key="carItem.taskId" tipContent="等待修改" :carInfo="carItem"> |
| 43 | + <template #header> | ||
| 44 | <navTop :carNum="carItem.licensePlateNumber" /> | 44 | <navTop :carNum="carItem.licensePlateNumber" /> |
| 45 | + </template> | ||
| 46 | + <template #center> | ||
| 45 | <centerLine :leftContent="carItem.customizeVehicleBrand || carItem.vehicleBrand" fontColor="#999" :rightContent="carItem.customizeVehicleModel || carItem.vehicleModel"></centerLine> | 47 | <centerLine :leftContent="carItem.customizeVehicleBrand || carItem.vehicleBrand" fontColor="#999" :rightContent="carItem.customizeVehicleModel || carItem.vehicleModel"></centerLine> |
| 46 | - </view> | ||
| 47 | - </view> | ||
| 48 | - <view class="loginBtn" @click="loginOut">退出登录</view> | 48 | + </template> |
| 49 | + <template #footer> | ||
| 50 | + <view style="display: flex;gap: 30rpx;"> | ||
| 51 | + <view style="color: #3680FE;font-size: 24rpx;" @click="updateCarInfo(carItem.businessKey,carItem.taskId)">修改提交</view> | ||
| 52 | + <view style="color: #3680FE;font-size: 24rpx;" @click="dropEdit(carItem.taskId)">放弃修改</view> | ||
| 53 | + </view> | ||
| 54 | + </template> | ||
| 55 | + </carCard> | ||
| 56 | + <up-empty | ||
| 57 | + :show="carList.length == 0" | ||
| 58 | + mode="list" | ||
| 59 | + text="暂无待办事项" | ||
| 60 | + /> | ||
| 61 | + <view class="loginBtn" @click="loginOut">注销信息</view> | ||
| 49 | </view> | 62 | </view> |
| 50 | </view> | 63 | </view> |
| 51 | </template> | 64 | </template> |
| 52 | 65 | ||
| 53 | <script setup> | 66 | <script setup> |
| 54 | import { ref, reactive } from 'vue' | 67 | import { ref, reactive } from 'vue' |
| 55 | -import { onReady } from '@dcloudio/uni-app' | 68 | +import { onReady, onShow } from '@dcloudio/uni-app' |
| 69 | +import carCard from '@/components/carCard.vue'; | ||
| 56 | import centerLine from '@/components/centerLine.vue'; | 70 | import centerLine from '@/components/centerLine.vue'; |
| 57 | import navTop from '@/components/navTop.vue'; | 71 | import navTop from '@/components/navTop.vue'; |
| 58 | -import { updateUserInfo, getUserCarInfo } from '@/api/user.js' | 72 | +import { updateUserInfo, userCancel } from '@/api/user.js' |
| 73 | +import { queryMyList, disposeUser } from '@/api/work.js' | ||
| 59 | import useUserStore from '@/store/modules/user.js' | 74 | import useUserStore from '@/store/modules/user.js' |
| 60 | const { userInfo, Logout } = useUserStore() | 75 | const { userInfo, Logout } = useUserStore() |
| 61 | const carList = ref([]) | 76 | const carList = ref([]) |
| 77 | +const myTotal = ref('0') | ||
| 62 | const queryParams = reactive({ | 78 | const queryParams = reactive({ |
| 63 | pageNum: 1, | 79 | pageNum: 1, |
| 64 | - pageSize: 10 | 80 | + pageSize: 20 |
| 65 | }) | 81 | }) |
| 66 | const customStyle = { | 82 | const customStyle = { |
| 67 | height: '80rpx', | 83 | height: '80rpx', |
| @@ -108,6 +124,13 @@ const rules = { | @@ -108,6 +124,13 @@ const rules = { | ||
| 108 | } | 124 | } |
| 109 | ] | 125 | ] |
| 110 | } | 126 | } |
| 127 | +// 修改车辆信息 | ||
| 128 | +const updateCarInfo = (id, taskId) => { | ||
| 129 | + uni.navigateTo({ | ||
| 130 | + url: `/pages/carDetail/carDetail?carInfoId=${id}&taskId=${taskId}` | ||
| 131 | + }) | ||
| 132 | +} | ||
| 133 | + | ||
| 111 | // 微信小程序需要在此注册校验规则 | 134 | // 微信小程序需要在此注册校验规则 |
| 112 | onReady(() => { | 135 | onReady(() => { |
| 113 | userFormRef.value.setRules(rules) | 136 | userFormRef.value.setRules(rules) |
| @@ -115,12 +138,13 @@ onReady(() => { | @@ -115,12 +138,13 @@ onReady(() => { | ||
| 115 | const loginOut = () => { | 138 | const loginOut = () => { |
| 116 | uni.showModal({ | 139 | uni.showModal({ |
| 117 | title: '提示', | 140 | title: '提示', |
| 118 | - content: '是否退出登录', | 141 | + content: '是否要注销信息 \n1、点击注销后工作人员在七个工作日内像你发送短信确认\n 2、注销后将删除你在该平台的所有信息', |
| 119 | success: async (res) => { | 142 | success: async (res) => { |
| 120 | if (res.confirm) { | 143 | if (res.confirm) { |
| 144 | + await userCancel() | ||
| 121 | await Logout() | 145 | await Logout() |
| 122 | - uni.$u.toast('退出成功') | ||
| 123 | - uni.navigateTo({ | 146 | + uni.$u.toast('注销成功') |
| 147 | + uni.redirectTo({ | ||
| 124 | url: '/pages/realName/realName' | 148 | url: '/pages/realName/realName' |
| 125 | }) | 149 | }) |
| 126 | } else if (res.cancel) { | 150 | } else if (res.cancel) { |
| @@ -130,8 +154,25 @@ const loginOut = () => { | @@ -130,8 +154,25 @@ const loginOut = () => { | ||
| 130 | }); | 154 | }); |
| 131 | } | 155 | } |
| 132 | const getMyList = async () => { | 156 | const getMyList = async () => { |
| 133 | - const { data } = await getUserCarInfo(queryParams) | ||
| 134 | - carList.value = data.records | 157 | + const { data } = await queryMyList(queryParams) |
| 158 | + carList.value = data.rows | ||
| 159 | + myTotal.value = data.total.toString() | ||
| 160 | + if(myTotal.value !== '0') { | ||
| 161 | + uni.setTabBarBadge({ | ||
| 162 | + index: 1, | ||
| 163 | + text: myTotal.value | ||
| 164 | + }) | ||
| 165 | + }else { | ||
| 166 | + uni.removeTabBarBadge({ | ||
| 167 | + index: 1 | ||
| 168 | + }) | ||
| 169 | + } | ||
| 170 | +} | ||
| 171 | +// 放弃修改 | ||
| 172 | +const dropEdit = async (taskId) => { | ||
| 173 | + await disposeUser({reregistration:'false'}, taskId) | ||
| 174 | + uni.$u.toast('已放弃修改') | ||
| 175 | + getMyList() | ||
| 135 | } | 176 | } |
| 136 | 177 | ||
| 137 | // 提交方法 | 178 | // 提交方法 |
| @@ -148,7 +189,9 @@ const submit = () => { | @@ -148,7 +189,9 @@ const submit = () => { | ||
| 148 | uni.$u.toast('校验失败') | 189 | uni.$u.toast('校验失败') |
| 149 | }); | 190 | }); |
| 150 | } | 191 | } |
| 151 | -getMyList() | 192 | +onShow(() => { |
| 193 | + getMyList() | ||
| 194 | +}) | ||
| 152 | </script> | 195 | </script> |
| 153 | 196 | ||
| 154 | <style lang="scss" scoped> | 197 | <style lang="scss" scoped> |
| 1 | <template> | 1 | <template> |
| 2 | - <view class="privacy"> | ||
| 3 | - 隐私政策 | ||
| 4 | - </view> | 2 | + <view class="myOne"> |
| 3 | + <view class="my-div"> | ||
| 4 | + <text class="yhxy">隐私政策</text> | ||
| 5 | + <view> | ||
| 6 | + 本应用非常重视用户隐私政策并严格遵守相关的法律规定。请您仔细阅读《隐私政策》后再继续使用。 | ||
| 7 | + 如果您继续使用我们的服务,表示您已经充分阅读和理解我们协议的全部内容。 | ||
| 8 | + </view> | ||
| 9 | + <view> | ||
| 10 | + 本小程序尊重并保护所有使用服务用户的个人隐私权。 | ||
| 11 | + 为了给您提供更准确、更优质的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。 | ||
| 12 | + 除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。 | ||
| 13 | + 本应用会不时更新本隐私权政策。您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。 | ||
| 14 | + </view> | ||
| 15 | + <view> | ||
| 16 | + 1. 适用范围 | ||
| 17 | + <view> | ||
| 18 | + (a) 在您注册本应用小程序帐号时,您根据小程序要求提供的个人注册信息。 | ||
| 19 | + (b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息, | ||
| 20 | + 包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据。 | ||
| 21 | + (c) 本应用通过合法途径从商业伙伴处取得的用户个人数据。 | ||
| 22 | + (d) 本应用严禁用户发布不良信息,如裸露、色情和亵渎内容,发布的内容我们会进行审核,一经发现不良信息,会禁用该用户的所有权限,予以封号处理。 | ||
| 23 | + </view> | ||
| 24 | + </view> | ||
| 25 | + <view> | ||
| 26 | + 2. 信息使用 | ||
| 27 | + <view> | ||
| 28 | + (a) 本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人登录信息。如果我们存储发生维修或升级,我们会事先发出推送消息来通知您,请您提前允许本应用消息通知。 | ||
| 29 | + (b) 本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据。 | ||
| 30 | + (c) 为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息, | ||
| 31 | + 或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息。(后者需要您的事先同意) | ||
| 32 | + | ||
| 33 | + </view> | ||
| 34 | + <view> | ||
| 35 | + 3. 信息披露 | ||
| 36 | + <view> | ||
| 37 | + 在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息: | ||
| 38 | + (a) 未经您事先同意,我们不会向第三方披露。 | ||
| 39 | + (b) 为提供您所要求的产品和服务,而必须和第三方分享您的个人信息。 | ||
| 40 | + (c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露。 | ||
| 41 | + (d) 如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露。 | ||
| 42 | + (e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷 | ||
| 43 | + </view> | ||
| 44 | + </view> | ||
| 45 | + | ||
| 46 | + | ||
| 47 | + <view> | ||
| 48 | + 4. 信息存储和交换 | ||
| 49 | + <view> | ||
| 50 | + 本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。 | ||
| 51 | + </view> | ||
| 52 | + </view> | ||
| 53 | + | ||
| 54 | + | ||
| 55 | + <view> | ||
| 56 | + 5. Cookie的使用 | ||
| 57 | + <view> | ||
| 58 | + (a) 在您未拒绝接受cookies的情况下,本应用会在您的计算机上设定或取用cookies,以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务,包括推广服务。 | ||
| 59 | + (b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。 | ||
| 60 | + 但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的本应用网络服务或功能 | ||
| 61 | + (c) 通过本应用所设cookies所取得的有关信息,将适用本政策。 | ||
| 62 | + </view> | ||
| 63 | + </view> | ||
| 64 | + | ||
| 65 | + <view> | ||
| 66 | + 6.本隐私政策的更改 | ||
| 67 | + <view> | ||
| 68 | + (a) 如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。 | ||
| 69 | + (b) 本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。 | ||
| 70 | + </view> | ||
| 71 | + </view> | ||
| 72 | + | ||
| 73 | + <view> | ||
| 74 | + 请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是本应用用户名及密码发生泄露,请您立即联络本应用客服,以便本应用采取相应措施。 | ||
| 75 | + </view> | ||
| 76 | + <view> | ||
| 77 | + 感谢您花时间了解我们的隐私政策!我们将尽全力保护您的个人信息和合法权益,再次感谢您的信任! | ||
| 78 | + </view> | ||
| 79 | + | ||
| 80 | + | ||
| 81 | + </view> | ||
| 82 | + </view> | ||
| 83 | + </view> | ||
| 5 | </template> | 84 | </template> |
| 6 | - | ||
| 7 | -<script setup> | 85 | + |
| 86 | +<script> | ||
| 87 | + export default { | ||
| 88 | + data() { | ||
| 89 | + return { | ||
| 90 | + | ||
| 91 | + } | ||
| 92 | + }, | ||
| 93 | + methods: { | ||
| 94 | + | ||
| 95 | + } | ||
| 96 | + } | ||
| 8 | </script> | 97 | </script> |
| 9 | - | ||
| 10 | -<style lang="scss" scoped> | ||
| 11 | - | ||
| 12 | -</style> | 98 | + |
| 99 | +<style> | ||
| 100 | +.myOne{ | ||
| 101 | + width: 100%; | ||
| 102 | + display: flex; | ||
| 103 | + justify-content: center; | ||
| 104 | +} | ||
| 105 | +.my-div{ | ||
| 106 | + width: 80%; | ||
| 107 | + margin: auto; | ||
| 108 | +} | ||
| 109 | +.yhxy{ | ||
| 110 | + justify-content: center; | ||
| 111 | + color: black; | ||
| 112 | + font-size: 40rpx; | ||
| 113 | + font-weight: 600; | ||
| 114 | +} | ||
| 115 | +</style> |
| @@ -29,7 +29,7 @@ | @@ -29,7 +29,7 @@ | ||
| 29 | </view> | 29 | </view> |
| 30 | 30 | ||
| 31 | <view class="tip"> | 31 | <view class="tip"> |
| 32 | - 未注册或绑定该车型平台的身份证号,将帮你注册新账号,点击提交即代表你同意<text style="color: #3680FE;" @click="goPrivacy">《隐私政策》</text> | 32 | + 未注册或绑定该平台的身份证号,将帮你注册新账号,点击提交即代表你同意<text style="color: #3680FE;" @click="goPrivacy">《隐私政策》</text> |
| 33 | </view> | 33 | </view> |
| 34 | <view class="log-btn" @click="submit">提交</view> | 34 | <view class="log-btn" @click="submit">提交</view> |
| 35 | </view> | 35 | </view> |
| @@ -40,40 +40,42 @@ import { reactive, ref } from 'vue'; | @@ -40,40 +40,42 @@ import { reactive, ref } from 'vue'; | ||
| 40 | import { userWxLogin, updateUserInfo } from '@/api/user.js' | 40 | import { userWxLogin, updateUserInfo } from '@/api/user.js' |
| 41 | import { onReady, onLoad } from '@dcloudio/uni-app' | 41 | import { onReady, onLoad } from '@dcloudio/uni-app' |
| 42 | import useUserStore from '@/store/modules/user.js' | 42 | import useUserStore from '@/store/modules/user.js' |
| 43 | +import storage from '@/utils/storage.js' | ||
| 44 | +import { test } from '@/uni_modules/uview-plus'; | ||
| 43 | const { userInfo, login, getUser } = useUserStore() | 45 | const { userInfo, login, getUser } = useUserStore() |
| 44 | // 表单引用 | 46 | // 表单引用 |
| 45 | const logFormRef = ref(null) | 47 | const logFormRef = ref(null) |
| 46 | // 校验规则 | 48 | // 校验规则 |
| 47 | const rules = { | 49 | const rules = { |
| 48 | nickName: [ | 50 | nickName: [ |
| 49 | - { required: true, message: '请输入姓名', trigger: ['blur', 'change'] }, | ||
| 50 | - { min: 2, max: 6, message: '名字应在2到6个字', trigger: ['blur', 'change'] }, | 51 | + { required: true, message: '请输入姓名', trigger: ['blur'] }, |
| 52 | + { min: 2, max: 6, message: '名字应在2到6个字', trigger: ['blur'] }, | ||
| 51 | { validator: (rule, value, callback) => { | 53 | { validator: (rule, value, callback) => { |
| 52 | - return uni.$u.test.chinese(value) | 54 | + return test.chinese(value) |
| 53 | }, | 55 | }, |
| 54 | message: '请输入中文', | 56 | message: '请输入中文', |
| 55 | // 触发器可以同时用blur和change | 57 | // 触发器可以同时用blur和change |
| 56 | - trigger: ['change','blur'], | 58 | + trigger: ['blur'], |
| 57 | } | 59 | } |
| 58 | ], | 60 | ], |
| 59 | identificationNumber: [ | 61 | identificationNumber: [ |
| 60 | - { required: true, message: '请输入身份证号', trigger: ['blur', 'change'] }, | 62 | + { required: true, message: '请输入身份证号', trigger: ['blur'] }, |
| 61 | { validator: (rule, value, callback) => { | 63 | { validator: (rule, value, callback) => { |
| 62 | - return uni.$u.test.idCard(value) | 64 | + return test.idCard(value) |
| 63 | }, | 65 | }, |
| 64 | message: '身份证号码不正确', | 66 | message: '身份证号码不正确', |
| 65 | // 触发器可以同时用blur和change | 67 | // 触发器可以同时用blur和change |
| 66 | - trigger: ['change','blur'], | 68 | + trigger: ['blur'], |
| 67 | } | 69 | } |
| 68 | ], | 70 | ], |
| 69 | phonenumber: [ | 71 | phonenumber: [ |
| 70 | - { required: true, message: '请输入手机号', trigger: ['blur', 'change'] }, | 72 | + { required: true, message: '请输入手机号', trigger: ['blur'] }, |
| 71 | { validator: (rule, value, callback) => { | 73 | { validator: (rule, value, callback) => { |
| 72 | - return uni.$u.test.mobile(value) | 74 | + return test.mobile(value) |
| 73 | }, | 75 | }, |
| 74 | message: '手机号码不正确', | 76 | message: '手机号码不正确', |
| 75 | // 触发器可以同时用blur和change | 77 | // 触发器可以同时用blur和change |
| 76 | - trigger: ['change','blur'], | 78 | + trigger: ['blur'], |
| 77 | } | 79 | } |
| 78 | ] | 80 | ] |
| 79 | } | 81 | } |
| @@ -94,7 +96,8 @@ onLoad((options) => { | @@ -94,7 +96,8 @@ onLoad((options) => { | ||
| 94 | uni.login({ | 96 | uni.login({ |
| 95 | success: async (loginRes) => { | 97 | success: async (loginRes) => { |
| 96 | await login({code: loginRes.code, type: 0}) | 98 | await login({code: loginRes.code, type: 0}) |
| 97 | - const { data } = await getUser() | 99 | + const { data, roleGroup } = await getUser() |
| 100 | + storage.set('crgx_roleGroup', roleGroup) | ||
| 98 | if(data.identificationNumber !== null) { | 101 | if(data.identificationNumber !== null) { |
| 99 | uni.switchTab({ | 102 | uni.switchTab({ |
| 100 | url: '/pages/index/index' | 103 | url: '/pages/index/index' |
| @@ -113,6 +116,7 @@ const submit = () => { | @@ -113,6 +116,7 @@ const submit = () => { | ||
| 113 | logFormRef.value.validate().then(async valid => { | 116 | logFormRef.value.validate().then(async valid => { |
| 114 | if (valid) { | 117 | if (valid) { |
| 115 | await updateUserInfo(userInfo) | 118 | await updateUserInfo(userInfo) |
| 119 | + await getUser() | ||
| 116 | uni.$u.toast('登录成功') | 120 | uni.$u.toast('登录成功') |
| 117 | uni.switchTab({ | 121 | uni.switchTab({ |
| 118 | url: '/pages/index/index' | 122 | url: '/pages/index/index' |
| @@ -3,17 +3,26 @@ | @@ -3,17 +3,26 @@ | ||
| 3 | <up-navbar placeholder :leftIconSize="0" bgColor="transparent" /> | 3 | <up-navbar placeholder :leftIconSize="0" bgColor="transparent" /> |
| 4 | <view class="work_box"> | 4 | <view class="work_box"> |
| 5 | <view class="work_list"> | 5 | <view class="work_list"> |
| 6 | - <carCard v-for="carItem in carList" :key="carItem.carId" tipContent="待办" :carInfo="carItem"> | 6 | + <carCard v-for="carItem in List" :key="carItem.taskId" tipContent="待办" :carInfo="carItem"> |
| 7 | <template #header> | 7 | <template #header> |
| 8 | - <navTop :carNum="carItem.carNum" /> | 8 | + <navTop :carNum="carItem.licensePlateNumber" /> |
| 9 | </template> | 9 | </template> |
| 10 | <template #center> | 10 | <template #center> |
| 11 | - <wordInfo :carType="carItem.carType" :userName="carItem.name" :applyTime="carItem.createTime" /> | 11 | + <wordInfo :phone="carItem.phone" :userName="carItem.name" :company="carItem.sysDeptName" /> |
| 12 | </template> | 12 | </template> |
| 13 | <template #footer> | 13 | <template #footer> |
| 14 | - <operateList /> | 14 | + <operateList :carInfo="carItem" @refreshList="getList" /> |
| 15 | </template> | 15 | </template> |
| 16 | </carCard> | 16 | </carCard> |
| 17 | + <up-empty | ||
| 18 | + :show="List.length == 0" | ||
| 19 | + mode="list" | ||
| 20 | + text="暂无待办事项" | ||
| 21 | + /> | ||
| 22 | + </view> | ||
| 23 | + <!-- 分页器 --> | ||
| 24 | + <view v-show="List.length > 0"> | ||
| 25 | + <uni-pagination :total="allTotal" v-model="queryParams.pageNum" :pageSize="queryParams.pageSize" @change="getList" /> | ||
| 17 | </view> | 26 | </view> |
| 18 | </view> | 27 | </view> |
| 19 | 28 | ||
| @@ -23,7 +32,7 @@ | @@ -23,7 +32,7 @@ | ||
| 23 | activeColor="#3680FE" | 32 | activeColor="#3680FE" |
| 24 | inactiveColor="#707070" | 33 | inactiveColor="#707070" |
| 25 | > | 34 | > |
| 26 | - <up-tabbar-item text="主页" icon="home" badge="11"></up-tabbar-item> | 35 | + <up-tabbar-item text="主页" icon="home" :badge="useTabbar.societyTotal"></up-tabbar-item> |
| 27 | <up-tabbar-item text="我的" icon="account" @click="goRouter"> | 36 | <up-tabbar-item text="我的" icon="account" @click="goRouter"> |
| 28 | <template #active-icon> | 37 | <template #active-icon> |
| 29 | <image style="width: 48rpx;" class="u-page__item__slot-icon" src="@/static/tabbarIcon/my-active.png" mode="widthFix"></image> | 38 | <image style="width: 48rpx;" class="u-page__item__slot-icon" src="@/static/tabbarIcon/my-active.png" mode="widthFix"></image> |
| @@ -38,37 +47,47 @@ | @@ -38,37 +47,47 @@ | ||
| 38 | </template> | 47 | </template> |
| 39 | 48 | ||
| 40 | <script setup> | 49 | <script setup> |
| 41 | - import { ref } from 'vue'; | 50 | + import { ref, reactive } from 'vue'; |
| 51 | + import { onPullDownRefresh } from '@dcloudio/uni-app' | ||
| 52 | + import { queryMyList } from '@/api/work.js' | ||
| 42 | import carCard from '@/components/carCard.vue'; | 53 | import carCard from '@/components/carCard.vue'; |
| 43 | import navTop from '@/components/navTop.vue'; | 54 | import navTop from '@/components/navTop.vue'; |
| 44 | import wordInfo from '@/components/wordInfo.vue'; | 55 | import wordInfo from '@/components/wordInfo.vue'; |
| 45 | import operateList from '@/components/operateList.vue'; | 56 | import operateList from '@/components/operateList.vue'; |
| 46 | import useTabbarStore from '@/store/modules/tabbar.js' | 57 | import useTabbarStore from '@/store/modules/tabbar.js' |
| 47 | const useTabbar = useTabbarStore() | 58 | const useTabbar = useTabbarStore() |
| 48 | - const carList = ref([ | ||
| 49 | - { carId: 1, carNum: '桂A·66666', carType: '奔驰C级', name: '张三', createTime: '2024-09-08 10:12' }, | ||
| 50 | - { carId: 2, carNum: '桂A·77777', carType: '奔驰C级', name: '李四', createTime: '2024-09-08 10:12' }, | ||
| 51 | - { carId: 3, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 52 | - { carId: 4, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 53 | - { carId: 5, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 54 | - { carId: 6, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 55 | - { carId: 7, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 56 | - { carId: 8, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 57 | - { carId: 9, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 58 | - { carId: 10, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 59 | - { carId: 11, carNum: '桂A·77777', carType: '梅赛德斯奔驰', name: '王五', createTime: '2024-09-08 10:12' }, | ||
| 60 | - ]) | 59 | + const List = ref([]) |
| 60 | + const allTotal = ref(0) | ||
| 61 | const titleStyle = { | 61 | const titleStyle = { |
| 62 | fontSize: '36rpx', | 62 | fontSize: '36rpx', |
| 63 | color: '#fff', | 63 | color: '#fff', |
| 64 | fontWeight: 500 | 64 | fontWeight: 500 |
| 65 | } | 65 | } |
| 66 | + const queryParams = reactive({ | ||
| 67 | + pageNum: 1, | ||
| 68 | + pageSize: 10 | ||
| 69 | + }); | ||
| 70 | + // 获取待办任务 | ||
| 71 | + const getList = async () => { | ||
| 72 | + const { data } = await queryMyList(queryParams); | ||
| 73 | + List.value = data.rows; | ||
| 74 | + allTotal.value = data.total; | ||
| 75 | + useTabbar.societyTotal = data.total; | ||
| 76 | + } | ||
| 77 | + // 用户下拉刷新 | ||
| 78 | + onPullDownRefresh(async () => { | ||
| 79 | + queryParams.pageNum = 1 | ||
| 80 | + List.value = [] | ||
| 81 | + await getList() | ||
| 82 | + uni.stopPullDownRefresh() | ||
| 83 | + }) | ||
| 66 | const goRouter = (index) => { | 84 | const goRouter = (index) => { |
| 67 | useTabbar.societyCurrent = index | 85 | useTabbar.societyCurrent = index |
| 68 | uni.redirectTo({ | 86 | uni.redirectTo({ |
| 69 | url: '/pages/societyMy/societyMy' | 87 | url: '/pages/societyMy/societyMy' |
| 70 | }) | 88 | }) |
| 71 | } | 89 | } |
| 90 | + getList() | ||
| 72 | </script> | 91 | </script> |
| 73 | 92 | ||
| 74 | <style lang="scss" scoped> | 93 | <style lang="scss" scoped> |
| @@ -87,6 +106,7 @@ | @@ -87,6 +106,7 @@ | ||
| 87 | display: flex; | 106 | display: flex; |
| 88 | flex-direction: column; | 107 | flex-direction: column; |
| 89 | gap: 20rpx; | 108 | gap: 20rpx; |
| 109 | + margin-bottom: 30rpx; | ||
| 90 | } | 110 | } |
| 91 | } | 111 | } |
| 92 | } | 112 | } |
| @@ -7,40 +7,75 @@ | @@ -7,40 +7,75 @@ | ||
| 7 | <text style="color: #fff;">更新实名信息</text> | 7 | <text style="color: #fff;">更新实名信息</text> |
| 8 | </view> | 8 | </view> |
| 9 | <view class="user-box"> | 9 | <view class="user-box"> |
| 10 | - <up-form :model="userForm" ref="userFormRef"> | 10 | + <up-form :model="userInfo" ref="userFormRef"> |
| 11 | <up-form-item prop="name"> | 11 | <up-form-item prop="name"> |
| 12 | - <up-input v-model="userForm.name" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> | 12 | + <up-input v-model="userInfo.nickName" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入真实姓名"> |
| 13 | <template #prefix> | 13 | <template #prefix> |
| 14 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> | 14 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/user.png" mode="widthFix"></image> |
| 15 | </template> | 15 | </template> |
| 16 | </up-input> | 16 | </up-input> |
| 17 | </up-form-item> | 17 | </up-form-item> |
| 18 | <up-form-item prop="identificationNumber"> | 18 | <up-form-item prop="identificationNumber"> |
| 19 | - <up-input v-model="userForm.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> | 19 | + <up-input v-model="userInfo.identificationNumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入身份证号"> |
| 20 | <template #prefix> | 20 | <template #prefix> |
| 21 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> | 21 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/IdCard.png" mode="widthFix"></image> |
| 22 | </template> | 22 | </template> |
| 23 | </up-input> | 23 | </up-input> |
| 24 | </up-form-item> | 24 | </up-form-item> |
| 25 | <up-form-item prop="phone"> | 25 | <up-form-item prop="phone"> |
| 26 | - <up-input v-model="userForm.phone" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入手机号码"> | 26 | + <up-input v-model="userInfo.phonenumber" shape="circle" border="none" fontSize="28rpx" color="#bbb" :placeholderStyle="placeholderStyle" :customStyle="customStyle" placeholder="请输入手机号码"> |
| 27 | <template #prefix> | 27 | <template #prefix> |
| 28 | - <image style="width: 32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/phone.png" mode="widthFix"></image> | 28 | + <image style="width: 32rpx;height:32rpx;margin-right: 18rpx;margin-top: 10rpx;" src="@/static/commonImage/phone.png" mode="widthFix"></image> |
| 29 | </template> | 29 | </template> |
| 30 | </up-input> | 30 | </up-input> |
| 31 | </up-form-item> | 31 | </up-form-item> |
| 32 | </up-form> | 32 | </up-form> |
| 33 | </view> | 33 | </view> |
| 34 | 34 | ||
| 35 | + <!-- 操作行 --> | ||
| 36 | + <view class="navList"> | ||
| 37 | + <view class="navItem"> | ||
| 38 | + <image style="width: 48rpx;height: 48rpx;" src="http://bxhd.crgx.net/profile/avatar/2024/10/12/pending_20241012174056A003.png" mode="widthFix" @click="goOrder(0)"></image> | ||
| 39 | + <text>待处理</text> | ||
| 40 | + </view> | ||
| 41 | + <view class="navItem"> | ||
| 42 | + <image style="width: 48rpx;height: 48rpx;" src="http://bxhd.crgx.net/profile/avatar/2024/10/12/processed_20241012173936A002.png" mode="widthFix" @click="goOrder(1)"></image> | ||
| 43 | + <text>已处理</text> | ||
| 44 | + </view> | ||
| 45 | + <view class="navItem"> | ||
| 46 | + <image style="width: 48rpx;height: 48rpx;" src="http://bxhd.crgx.net/profile/avatar/2024/10/12/ongoing_20241012174132A004.png" mode="widthFix" @click="goOrder(2)"></image> | ||
| 47 | + <text>进行中</text> | ||
| 48 | + </view> | ||
| 49 | + <view class="navItem"> | ||
| 50 | + <image style="width: 48rpx;height: 48rpx;" src="http://bxhd.crgx.net/profile/avatar/2024/10/12/deprecated_20241012174204A005.png" mode="widthFix" @click="goOrder(4)"></image> | ||
| 51 | + <text>已作废</text> | ||
| 52 | + </view> | ||
| 53 | + <view class="navItem"> | ||
| 54 | + <image style="width: 48rpx;height: 48rpx;" src="http://bxhd.crgx.net/profile/avatar/2024/10/12/ended_20241012174234A006.png" mode="widthFix" @click="goOrder(3)"></image> | ||
| 55 | + <text>已完结</text> | ||
| 56 | + </view> | ||
| 57 | + </view> | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + <view class="line_title"> | ||
| 61 | + <text class="left_title">状态设置</text> | ||
| 62 | + </view> | ||
| 63 | + | ||
| 64 | + <view class="status"> | ||
| 65 | + <view class="statusBtn" :class="{active: userInfo.jobStatus === '0'}" @click="changeStatus('0')">在岗</view> | ||
| 66 | + <view class="statusBtn" :class="{active: userInfo.jobStatus === '1'}" @click="changeStatus('1')">离岗</view> | ||
| 67 | + </view> | ||
| 68 | + | ||
| 35 | <view class="loginBtn" @click="loginOut">退出登录</view> | 69 | <view class="loginBtn" @click="loginOut">退出登录</view> |
| 36 | </view> | 70 | </view> |
| 71 | + | ||
| 37 | <!-- 底部导航栏 --> | 72 | <!-- 底部导航栏 --> |
| 38 | <up-tabbar | 73 | <up-tabbar |
| 39 | :value="useTabbar.societyCurrent" | 74 | :value="useTabbar.societyCurrent" |
| 40 | activeColor="#3680FE" | 75 | activeColor="#3680FE" |
| 41 | inactiveColor="#707070" | 76 | inactiveColor="#707070" |
| 42 | > | 77 | > |
| 43 | - <up-tabbar-item text="主页" icon="home" @click="goRouter"></up-tabbar-item> | 78 | + <up-tabbar-item text="主页" icon="home" :badge="useTabbar.societyTotal" @click="goRouter"></up-tabbar-item> |
| 44 | <up-tabbar-item text="我的" icon="account"></up-tabbar-item> | 79 | <up-tabbar-item text="我的" icon="account"></up-tabbar-item> |
| 45 | </up-tabbar> | 80 | </up-tabbar> |
| 46 | </view> | 81 | </view> |
| @@ -48,16 +83,13 @@ | @@ -48,16 +83,13 @@ | ||
| 48 | 83 | ||
| 49 | <script setup> | 84 | <script setup> |
| 50 | import { ref } from 'vue' | 85 | import { ref } from 'vue' |
| 86 | +import { updateUserInfo } from '@/api/user.js' | ||
| 51 | import { onReady } from '@dcloudio/uni-app' | 87 | import { onReady } from '@dcloudio/uni-app' |
| 52 | import useTabbarStore from '@/store/modules/tabbar.js' | 88 | import useTabbarStore from '@/store/modules/tabbar.js' |
| 89 | +import useUserStore from '@/store/modules/user.js' | ||
| 90 | +const { userInfo, Logout, getUser } = useUserStore() | ||
| 53 | const useTabbar = useTabbarStore() | 91 | const useTabbar = useTabbarStore() |
| 54 | const showNotice = ref(true) | 92 | const showNotice = ref(true) |
| 55 | -// 用户参数 | ||
| 56 | -const userForm = ref({ | ||
| 57 | - name: '', | ||
| 58 | - identificationNumber: '', | ||
| 59 | - phone: '' | ||
| 60 | -}) | ||
| 61 | const customStyle = { | 93 | const customStyle = { |
| 62 | height: '80rpx', | 94 | height: '80rpx', |
| 63 | backgroundColor: '#F9F9F9', | 95 | backgroundColor: '#F9F9F9', |
| @@ -108,7 +140,27 @@ onReady(() => { | @@ -108,7 +140,27 @@ onReady(() => { | ||
| 108 | userFormRef.value.setRules(rules) | 140 | userFormRef.value.setRules(rules) |
| 109 | }) | 141 | }) |
| 110 | const loginOut = () => { | 142 | const loginOut = () => { |
| 111 | - | 143 | + uni.showModal({ |
| 144 | + title: '提示', | ||
| 145 | + content: '是否退出登录', | ||
| 146 | + success: async (res) => { | ||
| 147 | + if (res.confirm) { | ||
| 148 | + await Logout() | ||
| 149 | + uni.$u.toast('退出成功') | ||
| 150 | + uni.redirectTo({ | ||
| 151 | + url: '/pages/login/login' | ||
| 152 | + }) | ||
| 153 | + } else if (res.cancel) { | ||
| 154 | + console.log('用户点击取消'); | ||
| 155 | + } | ||
| 156 | + } | ||
| 157 | + }); | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +const goOrder = (index) => { | ||
| 161 | + uni.navigateTo({ | ||
| 162 | + url: '/pages/societyOrder/societyOrder?type=' + index | ||
| 163 | + }) | ||
| 112 | } | 164 | } |
| 113 | 165 | ||
| 114 | const goRouter = (index) => { | 166 | const goRouter = (index) => { |
| @@ -117,11 +169,22 @@ const goRouter = (index) => { | @@ -117,11 +169,22 @@ const goRouter = (index) => { | ||
| 117 | url: '/pages/societyHome/societyHome' | 169 | url: '/pages/societyHome/societyHome' |
| 118 | }) | 170 | }) |
| 119 | } | 171 | } |
| 172 | + | ||
| 173 | +// 设置在岗状态 | ||
| 174 | +const changeStatus = async (status) => { | ||
| 175 | + userInfo.jobStatus = status | ||
| 176 | + await updateUserInfo(userInfo) | ||
| 177 | + await getUser() | ||
| 178 | + uni.$u.toast('更新成功') | ||
| 179 | +} | ||
| 180 | + | ||
| 120 | // 提交方法 | 181 | // 提交方法 |
| 121 | const submit = () => { | 182 | const submit = () => { |
| 122 | userFormRef.value.validate().then(async valid => { | 183 | userFormRef.value.validate().then(async valid => { |
| 123 | if (valid) { | 184 | if (valid) { |
| 124 | - uni.$u.toast('登录成功') | 185 | + await updateUserInfo(userInfo) |
| 186 | + await getUser() | ||
| 187 | + uni.$u.toast('更新成功') | ||
| 125 | } else { | 188 | } else { |
| 126 | uni.$u.toast('校验失败') | 189 | uni.$u.toast('校验失败') |
| 127 | } | 190 | } |
| @@ -182,6 +245,51 @@ const submit = () => { | @@ -182,6 +245,51 @@ const submit = () => { | ||
| 182 | } | 245 | } |
| 183 | } | 246 | } |
| 184 | } | 247 | } |
| 248 | + | ||
| 249 | + .navList{ | ||
| 250 | + display: flex; | ||
| 251 | + align-items: center; | ||
| 252 | + justify-content: space-between; | ||
| 253 | + padding: 25rpx 33rpx; | ||
| 254 | + background: #FFFFFF; | ||
| 255 | + box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(0,0,0,0.06); | ||
| 256 | + border-radius: 40rpx; | ||
| 257 | + margin-bottom: 40rpx; | ||
| 258 | + .navItem{ | ||
| 259 | + display: flex; | ||
| 260 | + flex-direction: column; | ||
| 261 | + align-items: center; | ||
| 262 | + gap: 10rpx; | ||
| 263 | + font-size: 24rpx; | ||
| 264 | + line-height: 32rpx; | ||
| 265 | + color: #333; | ||
| 266 | + } | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + .status{ | ||
| 270 | + display: flex; | ||
| 271 | + align-items: center; | ||
| 272 | + justify-content: space-between; | ||
| 273 | + padding: 40rpx 46rpx; | ||
| 274 | + background: #FFFFFF; | ||
| 275 | + box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(10,22,44,0.06); | ||
| 276 | + border-radius: 40rpx; | ||
| 277 | + .statusBtn{ | ||
| 278 | + width: 280rpx; | ||
| 279 | + height: 80rpx; | ||
| 280 | + text-align: center; | ||
| 281 | + line-height: 80rpx; | ||
| 282 | + color: #999; | ||
| 283 | + background: #FFFFFF; | ||
| 284 | + border-radius: 200rpx; | ||
| 285 | + border: 2rpx solid #BBBBBB; | ||
| 286 | + &.active{ | ||
| 287 | + color: #fff; | ||
| 288 | + background: #75A8FF; | ||
| 289 | + } | ||
| 290 | + } | ||
| 291 | + } | ||
| 292 | + | ||
| 185 | .loginBtn{ | 293 | .loginBtn{ |
| 186 | width: 100%; | 294 | width: 100%; |
| 187 | height: 80rpx; | 295 | height: 80rpx; |
pages/societyOrder/societyOrder.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="company_container"> | ||
| 3 | + <up-navbar placeholder leftIconColor="#fff" autoBack bgColor="transparent" /> | ||
| 4 | + <view class="work_box"> | ||
| 5 | + <view class="work_list"> | ||
| 6 | + <carCard v-for="carItem in List" :key="carItem.taskId" :tipContent="tipContent" :carInfo="carItem"> | ||
| 7 | + <template #header> | ||
| 8 | + <navTop :carNum="carItem.licensePlateNumber" /> | ||
| 9 | + </template> | ||
| 10 | + <template #center> | ||
| 11 | + <wordInfo :phone="carItem.phone" :userName="carItem.name" :company="carItem.sysDeptName" /> | ||
| 12 | + </template> | ||
| 13 | + <template #footer> | ||
| 14 | + <operateList v-if="typeId === 0" :carInfo="carItem" @refreshList="getList"/> | ||
| 15 | + <view style="display: flex;align-items: center;gap: 30rpx;"> | ||
| 16 | + <view class="btn" @click="lookDetail(carItem.businessKey)">查看详情</view> | ||
| 17 | + <view v-if="typeId === 3" class="btn" @click="lookFeedback(carItem.processInstanceId)">查看回馈</view> | ||
| 18 | + <view v-if="typeId === 4" class="btn" @click="lookRemark(carItem.processInstanceId)">查看备注</view> | ||
| 19 | + </view> | ||
| 20 | + </template> | ||
| 21 | + </carCard> | ||
| 22 | + <up-empty | ||
| 23 | + :show="List.length == 0" | ||
| 24 | + mode="list" | ||
| 25 | + text="暂无待办事项" | ||
| 26 | + /> | ||
| 27 | + </view> | ||
| 28 | + <!-- 分页器 --> | ||
| 29 | + <view v-show="List.length > 0"> | ||
| 30 | + <uni-pagination :total="allTotal" v-model="queryParams.pageNum" :pageSize="queryParams.pageSize" @change="getList(typeId)"/> | ||
| 31 | + </view> | ||
| 32 | + </view> | ||
| 33 | + <!-- 保单回馈 --> | ||
| 34 | + <up-modal :show="showFeedback" title="保单回馈" @confirm="showFeedback = false" > | ||
| 35 | + <up-parse :content="feedbakcForm.message"></up-parse> | ||
| 36 | + </up-modal> | ||
| 37 | + <!-- 作废备注 --> | ||
| 38 | + <up-modal :show="showDefeat" title="作废备注" @confirm="showDefeat = false" > | ||
| 39 | + <up-parse :content="defeatForm.message"></up-parse> | ||
| 40 | + </up-modal> | ||
| 41 | + </view> | ||
| 42 | +</template> | ||
| 43 | + | ||
| 44 | +<script setup> | ||
| 45 | + import { ref, reactive } from 'vue'; | ||
| 46 | + import { onLoad, onPullDownRefresh } from '@dcloudio/uni-app' | ||
| 47 | + import { queryMyList, queryProcessedList, queryOngoingList, queryEndedList, queryDeprecatedList, queryDefeatContent, queryResult } from '@/api/work.js' | ||
| 48 | + import carCard from '@/components/carCard.vue'; | ||
| 49 | + import navTop from '@/components/navTop.vue'; | ||
| 50 | + import wordInfo from '@/components/wordInfo.vue'; | ||
| 51 | + import operateList from '@/components/operateList.vue'; | ||
| 52 | + const List = ref([]) | ||
| 53 | + const allTotal = ref(0) | ||
| 54 | + const typeId = ref(0) | ||
| 55 | + const showFeedback = ref(false) | ||
| 56 | + const showDefeat = ref(false) | ||
| 57 | + const feedbakcForm = ref({ | ||
| 58 | + policyNumber: '', | ||
| 59 | + message: '' | ||
| 60 | + }) | ||
| 61 | + const defeatForm = ref({ | ||
| 62 | + message: '' | ||
| 63 | + }) | ||
| 64 | + const titleStyle = { | ||
| 65 | + fontSize: '36rpx', | ||
| 66 | + color: '#fff', | ||
| 67 | + fontWeight: 500 | ||
| 68 | + } | ||
| 69 | + const queryParams = reactive({ | ||
| 70 | + pageNum: 1, | ||
| 71 | + pageSize: 10 | ||
| 72 | + }); | ||
| 73 | + const tipContent = ref('') | ||
| 74 | + // 初始加载数据 | ||
| 75 | + onLoad((options) => { | ||
| 76 | + typeId.value = Number(options.type) | ||
| 77 | + getList(typeId.value) | ||
| 78 | + }) | ||
| 79 | + | ||
| 80 | + // 用户下拉刷新 | ||
| 81 | + onPullDownRefresh(async () => { | ||
| 82 | + queryParams.pageNum = 1 | ||
| 83 | + List.value = [] | ||
| 84 | + getList(typeId.value) | ||
| 85 | + }) | ||
| 86 | + | ||
| 87 | + const getList = (id) => { | ||
| 88 | + //调用获取数据方法 | ||
| 89 | + switch (id) { | ||
| 90 | + case 0: | ||
| 91 | + tipContent.value = '待处理' | ||
| 92 | + queryMyList(queryParams).then(res => { | ||
| 93 | + List.value = res.data.rows | ||
| 94 | + allTotal.value = res.data.total | ||
| 95 | + uni.stopPullDownRefresh() | ||
| 96 | + }) | ||
| 97 | + break; | ||
| 98 | + case 1: | ||
| 99 | + tipContent.value = '已处理' | ||
| 100 | + queryProcessedList(queryParams).then(res => { | ||
| 101 | + List.value = res.rows | ||
| 102 | + allTotal.value = res.total | ||
| 103 | + uni.stopPullDownRefresh() | ||
| 104 | + }) | ||
| 105 | + break; | ||
| 106 | + case 2: | ||
| 107 | + tipContent.value = '进行中' | ||
| 108 | + queryOngoingList(queryParams).then(res => { | ||
| 109 | + List.value = res.rows | ||
| 110 | + allTotal.value = res.total | ||
| 111 | + uni.stopPullDownRefresh() | ||
| 112 | + }) | ||
| 113 | + break; | ||
| 114 | + case 3: | ||
| 115 | + tipContent.value = '已完结' | ||
| 116 | + queryEndedList(queryParams).then(res => { | ||
| 117 | + List.value = res.rows | ||
| 118 | + allTotal.value = res.total | ||
| 119 | + uni.stopPullDownRefresh() | ||
| 120 | + }) | ||
| 121 | + break; | ||
| 122 | + case 4: | ||
| 123 | + tipContent.value = '已作废' | ||
| 124 | + queryDeprecatedList(queryParams).then(res => { | ||
| 125 | + List.value = res.rows | ||
| 126 | + allTotal.value = res.total | ||
| 127 | + uni.stopPullDownRefresh() | ||
| 128 | + }) | ||
| 129 | + break; | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + // 查看详情 | ||
| 134 | + const lookDetail = (id) => { | ||
| 135 | + uni.navigateTo({ | ||
| 136 | + url: `/pages/carDetail/carDetail?carInfoId=${id}` | ||
| 137 | + }) | ||
| 138 | + } | ||
| 139 | + // 查看回馈 | ||
| 140 | + const lookFeedback = (processInstanceId) => { | ||
| 141 | + queryResult({ processInstanceId}).then((res) => { | ||
| 142 | + feedbakcForm.value.policyNumber = res?.data?.policyNumber; | ||
| 143 | + feedbakcForm.value.message = res?.data?.message; | ||
| 144 | + showFeedback.value = true; | ||
| 145 | + }); | ||
| 146 | + } | ||
| 147 | + // 查看备注 | ||
| 148 | + const lookRemark = (processInstanceId) => { | ||
| 149 | + queryDefeatContent({ processInstanceId}).then((res) => { | ||
| 150 | + defeatForm.value.message = res?.data?.message; | ||
| 151 | + showDefeat.value = true; | ||
| 152 | + }); | ||
| 153 | + } | ||
| 154 | +</script> | ||
| 155 | + | ||
| 156 | +<style lang="scss" scoped> | ||
| 157 | +.company_container{ | ||
| 158 | + width: 100%; | ||
| 159 | + height: 100vh; | ||
| 160 | + background: url('http://bxhd.crgx.net/profile/avatar/2024/09/25/bg-index_20240925113012A004.png') no-repeat; | ||
| 161 | + background-size: 100% 100%; | ||
| 162 | + overflow: hidden; | ||
| 163 | + .work_box{ | ||
| 164 | + padding: 20rpx 30rpx; | ||
| 165 | + height: calc(100vh - 288rpx); | ||
| 166 | + background-color: #F8F9FF; | ||
| 167 | + overflow-y: scroll; | ||
| 168 | + .work_list{ | ||
| 169 | + display: flex; | ||
| 170 | + flex-direction: column; | ||
| 171 | + gap: 20rpx; | ||
| 172 | + margin-bottom: 30rpx; | ||
| 173 | + } | ||
| 174 | + } | ||
| 175 | +} | ||
| 176 | +.btn { | ||
| 177 | + width: 100rpx; | ||
| 178 | + height: 40rpx; | ||
| 179 | + line-height: 40rpx; | ||
| 180 | + font-size: 24rpx; | ||
| 181 | + text-align: center; | ||
| 182 | + color: #3c9cff; | ||
| 183 | +} | ||
| 184 | +</style> |
不能预览此文件类型
不能预览此文件类型
static/commonImage/deprecated.png
0 → 100644
713 字节
static/commonImage/ended.png
0 → 100644
1.1 KB
static/commonImage/ongoing.png
0 → 100644
863 字节
static/commonImage/pending.png
0 → 100644
805 字节
static/commonImage/processed.png
0 → 100644
710 字节
| @@ -6,7 +6,8 @@ const useTabbarStore = defineStore('tabbar', { | @@ -6,7 +6,8 @@ const useTabbarStore = defineStore('tabbar', { | ||
| 6 | return { | 6 | return { |
| 7 | employeeCurrent: 0, | 7 | employeeCurrent: 0, |
| 8 | societyCurrent: 0, | 8 | societyCurrent: 0, |
| 9 | - companyTotal: 0 | 9 | + companyTotal: 0, |
| 10 | + societyTotal: 0 | ||
| 10 | } | 11 | } |
| 11 | } | 12 | } |
| 12 | }) | 13 | }) |
| @@ -2,14 +2,14 @@ import { defineStore } from 'pinia' | @@ -2,14 +2,14 @@ import { defineStore } from 'pinia' | ||
| 2 | import storage from '@/utils/storage.js' | 2 | import storage from '@/utils/storage.js' |
| 3 | import { userWxLogin, getUserInfo, userLogin } from '@/api/user.js' | 3 | import { userWxLogin, getUserInfo, userLogin } from '@/api/user.js' |
| 4 | 4 | ||
| 5 | - | ||
| 6 | const useUserStore = defineStore('user', { | 5 | const useUserStore = defineStore('user', { |
| 7 | unistorage: true, // 是否持久化到内存 | 6 | unistorage: true, // 是否持久化到内存 |
| 8 | state: () => { | 7 | state: () => { |
| 9 | return { | 8 | return { |
| 10 | token: storage.get('crgx_token', ''), | 9 | token: storage.get('crgx_token', ''), |
| 11 | userInfo: storage.get('crgx_userInfo', null), | 10 | userInfo: storage.get('crgx_userInfo', null), |
| 12 | - isShowAdver: true | 11 | + roleGroup: storage.get('crgx_roleGroup', null), |
| 12 | + isShowAdver: false | ||
| 13 | } | 13 | } |
| 14 | }, | 14 | }, |
| 15 | actions: { | 15 | actions: { |
| @@ -54,9 +54,10 @@ const useUserStore = defineStore('user', { | @@ -54,9 +54,10 @@ const useUserStore = defineStore('user', { | ||
| 54 | const userInfo = response.data | 54 | const userInfo = response.data |
| 55 | // 过期时间30天 | 55 | // 过期时间30天 |
| 56 | const expiryTime = 30 * 86400 | 56 | const expiryTime = 30 * 86400 |
| 57 | - storage.set('crgx_userInfo', userInfo, expiryTime) | ||
| 58 | // 记录到store全局变量 | 57 | // 记录到store全局变量 |
| 59 | this.userInfo = userInfo | 58 | this.userInfo = userInfo |
| 59 | + this.userInfo.nickName = uni.$u.trim(userInfo.nickName, 'all') | ||
| 60 | + storage.set('crgx_userInfo', this.userInfo, expiryTime) | ||
| 60 | resolve(response) | 61 | resolve(response) |
| 61 | }) | 62 | }) |
| 62 | .catch(reject) | 63 | .catch(reject) |
uni_modules/uni-icons/changelog.md
0 → 100644
| 1 | +## 2.0.10(2024-06-07) | ||
| 2 | +- 优化 uni-app x 中,size 属性的类型 | ||
| 3 | +## 2.0.9(2024-01-12) | ||
| 4 | +fix: 修复图标大小默认值错误的问题 | ||
| 5 | +## 2.0.8(2023-12-14) | ||
| 6 | +- 修复 项目未使用 ts 情况下,打包报错的bug | ||
| 7 | +## 2.0.7(2023-12-14) | ||
| 8 | +- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug | ||
| 9 | +## 2.0.6(2023-12-11) | ||
| 10 | +- 优化 兼容老版本icon类型,如 top ,bottom 等 | ||
| 11 | +## 2.0.5(2023-12-11) | ||
| 12 | +- 优化 兼容老版本icon类型,如 top ,bottom 等 | ||
| 13 | +## 2.0.4(2023-12-06) | ||
| 14 | +- 优化 uni-app x 下示例项目图标排序 | ||
| 15 | +## 2.0.3(2023-12-06) | ||
| 16 | +- 修复 nvue下引入组件报错的bug | ||
| 17 | +## 2.0.2(2023-12-05) | ||
| 18 | +-优化 size 属性支持单位 | ||
| 19 | +## 2.0.1(2023-12-05) | ||
| 20 | +- 新增 uni-app x 支持定义图标 | ||
| 21 | +## 1.3.5(2022-01-24) | ||
| 22 | +- 优化 size 属性可以传入不带单位的字符串数值 | ||
| 23 | +## 1.3.4(2022-01-24) | ||
| 24 | +- 优化 size 支持其他单位 | ||
| 25 | +## 1.3.3(2022-01-17) | ||
| 26 | +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 | ||
| 27 | +## 1.3.2(2021-12-01) | ||
| 28 | +- 优化 示例可复制图标名称 | ||
| 29 | +## 1.3.1(2021-11-23) | ||
| 30 | +- 优化 兼容旧组件 type 值 | ||
| 31 | +## 1.3.0(2021-11-19) | ||
| 32 | +- 新增 更多图标 | ||
| 33 | +- 优化 自定义图标使用方式 | ||
| 34 | +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) | ||
| 35 | +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) | ||
| 36 | +## 1.1.7(2021-11-08) | ||
| 37 | +## 1.2.0(2021-07-30) | ||
| 38 | +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) | ||
| 39 | +## 1.1.5(2021-05-12) | ||
| 40 | +- 新增 组件示例地址 | ||
| 41 | +## 1.1.4(2021-02-05) | ||
| 42 | +- 调整为uni_modules目录规范 |
| 1 | +<template> | ||
| 2 | + <text class="uni-icons" :style="styleObj"> | ||
| 3 | + <slot>{{unicode}}</slot> | ||
| 4 | + </text> | ||
| 5 | +</template> | ||
| 6 | + | ||
| 7 | +<script> | ||
| 8 | + import { fontData, IconsDataItem } from './uniicons_file' | ||
| 9 | + | ||
| 10 | + /** | ||
| 11 | + * Icons 图标 | ||
| 12 | + * @description 用于展示 icon 图标 | ||
| 13 | + * @tutorial https://ext.dcloud.net.cn/plugin?id=28 | ||
| 14 | + * @property {Number,String} size 图标大小 | ||
| 15 | + * @property {String} type 图标图案,参考示例 | ||
| 16 | + * @property {String} color 图标颜色 | ||
| 17 | + * @property {String} customPrefix 自定义图标 | ||
| 18 | + * @event {Function} click 点击 Icon 触发事件 | ||
| 19 | + */ | ||
| 20 | + export default { | ||
| 21 | + name: "uni-icons", | ||
| 22 | + props: { | ||
| 23 | + type: { | ||
| 24 | + type: String, | ||
| 25 | + default: '' | ||
| 26 | + }, | ||
| 27 | + color: { | ||
| 28 | + type: String, | ||
| 29 | + default: '#333333' | ||
| 30 | + }, | ||
| 31 | + size: { | ||
| 32 | + type: [Number, String], | ||
| 33 | + default: 16 | ||
| 34 | + }, | ||
| 35 | + fontFamily: { | ||
| 36 | + type: String, | ||
| 37 | + default: '' | ||
| 38 | + } | ||
| 39 | + }, | ||
| 40 | + data() { | ||
| 41 | + return {}; | ||
| 42 | + }, | ||
| 43 | + computed: { | ||
| 44 | + unicode() : string { | ||
| 45 | + let codes = fontData.find((item : IconsDataItem) : boolean => { return item.font_class == this.type }) | ||
| 46 | + if (codes !== null) { | ||
| 47 | + return codes.unicode | ||
| 48 | + } | ||
| 49 | + return '' | ||
| 50 | + }, | ||
| 51 | + iconSize() : string { | ||
| 52 | + const size = this.size | ||
| 53 | + if (typeof size == 'string') { | ||
| 54 | + const reg = /^[0-9]*$/g | ||
| 55 | + return reg.test(size as string) ? '' + size + 'px' : '' + size; | ||
| 56 | + // return '' + this.size | ||
| 57 | + } | ||
| 58 | + return this.getFontSize(size as number) | ||
| 59 | + }, | ||
| 60 | + styleObj() : UTSJSONObject { | ||
| 61 | + if (this.fontFamily !== '') { | ||
| 62 | + return { color: this.color, fontSize: this.iconSize, fontFamily: this.fontFamily } | ||
| 63 | + } | ||
| 64 | + return { color: this.color, fontSize: this.iconSize } | ||
| 65 | + } | ||
| 66 | + }, | ||
| 67 | + created() { }, | ||
| 68 | + methods: { | ||
| 69 | + /** | ||
| 70 | + * 字体大小 | ||
| 71 | + */ | ||
| 72 | + getFontSize(size : number) : string { | ||
| 73 | + return size + 'px'; | ||
| 74 | + }, | ||
| 75 | + }, | ||
| 76 | + } | ||
| 77 | +</script> | ||
| 78 | + | ||
| 79 | +<style scoped> | ||
| 80 | + @font-face { | ||
| 81 | + font-family: UniIconsFontFamily; | ||
| 82 | + src: url('./uniicons.ttf'); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + .uni-icons { | ||
| 86 | + font-family: UniIconsFontFamily; | ||
| 87 | + font-size: 18px; | ||
| 88 | + font-style: normal; | ||
| 89 | + color: #333; | ||
| 90 | + } | ||
| 91 | +</style> |
| 1 | +<template> | ||
| 2 | + <!-- #ifdef APP-NVUE --> | ||
| 3 | + <text :style="styleObj" class="uni-icons" @click="_onClick">{{unicode}}</text> | ||
| 4 | + <!-- #endif --> | ||
| 5 | + <!-- #ifndef APP-NVUE --> | ||
| 6 | + <text :style="styleObj" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"> | ||
| 7 | + <slot></slot> | ||
| 8 | + </text> | ||
| 9 | + <!-- #endif --> | ||
| 10 | +</template> | ||
| 11 | + | ||
| 12 | +<script> | ||
| 13 | + import { fontData } from './uniicons_file_vue.js'; | ||
| 14 | + | ||
| 15 | + const getVal = (val) => { | ||
| 16 | + const reg = /^[0-9]*$/g | ||
| 17 | + return (typeof val === 'number' || reg.test(val)) ? val + 'px' : val; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + // #ifdef APP-NVUE | ||
| 21 | + var domModule = weex.requireModule('dom'); | ||
| 22 | + import iconUrl from './uniicons.ttf' | ||
| 23 | + domModule.addRule('fontFace', { | ||
| 24 | + 'fontFamily': "uniicons", | ||
| 25 | + 'src': "url('" + iconUrl + "')" | ||
| 26 | + }); | ||
| 27 | + // #endif | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * Icons 图标 | ||
| 31 | + * @description 用于展示 icons 图标 | ||
| 32 | + * @tutorial https://ext.dcloud.net.cn/plugin?id=28 | ||
| 33 | + * @property {Number} size 图标大小 | ||
| 34 | + * @property {String} type 图标图案,参考示例 | ||
| 35 | + * @property {String} color 图标颜色 | ||
| 36 | + * @property {String} customPrefix 自定义图标 | ||
| 37 | + * @event {Function} click 点击 Icon 触发事件 | ||
| 38 | + */ | ||
| 39 | + export default { | ||
| 40 | + name: 'UniIcons', | ||
| 41 | + emits: ['click'], | ||
| 42 | + props: { | ||
| 43 | + type: { | ||
| 44 | + type: String, | ||
| 45 | + default: '' | ||
| 46 | + }, | ||
| 47 | + color: { | ||
| 48 | + type: String, | ||
| 49 | + default: '#333333' | ||
| 50 | + }, | ||
| 51 | + size: { | ||
| 52 | + type: [Number, String], | ||
| 53 | + default: 16 | ||
| 54 | + }, | ||
| 55 | + customPrefix: { | ||
| 56 | + type: String, | ||
| 57 | + default: '' | ||
| 58 | + }, | ||
| 59 | + fontFamily: { | ||
| 60 | + type: String, | ||
| 61 | + default: '' | ||
| 62 | + } | ||
| 63 | + }, | ||
| 64 | + data() { | ||
| 65 | + return { | ||
| 66 | + icons: fontData | ||
| 67 | + } | ||
| 68 | + }, | ||
| 69 | + computed: { | ||
| 70 | + unicode() { | ||
| 71 | + let code = this.icons.find(v => v.font_class === this.type) | ||
| 72 | + if (code) { | ||
| 73 | + return code.unicode | ||
| 74 | + } | ||
| 75 | + return '' | ||
| 76 | + }, | ||
| 77 | + iconSize() { | ||
| 78 | + return getVal(this.size) | ||
| 79 | + }, | ||
| 80 | + styleObj() { | ||
| 81 | + if (this.fontFamily !== '') { | ||
| 82 | + return `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};` | ||
| 83 | + } | ||
| 84 | + return `color: ${this.color}; font-size: ${this.iconSize};` | ||
| 85 | + } | ||
| 86 | + }, | ||
| 87 | + methods: { | ||
| 88 | + _onClick() { | ||
| 89 | + this.$emit('click') | ||
| 90 | + } | ||
| 91 | + } | ||
| 92 | + } | ||
| 93 | +</script> | ||
| 94 | + | ||
| 95 | +<style lang="scss"> | ||
| 96 | + /* #ifndef APP-NVUE */ | ||
| 97 | + @import './uniicons.css'; | ||
| 98 | + | ||
| 99 | + @font-face { | ||
| 100 | + font-family: uniicons; | ||
| 101 | + src: url('./uniicons.ttf'); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + /* #endif */ | ||
| 105 | + .uni-icons { | ||
| 106 | + font-family: uniicons; | ||
| 107 | + text-decoration: none; | ||
| 108 | + text-align: center; | ||
| 109 | + } | ||
| 110 | +</style> |
| 1 | + | ||
| 2 | +.uniui-cart-filled:before { | ||
| 3 | + content: "\e6d0"; | ||
| 4 | +} | ||
| 5 | + | ||
| 6 | +.uniui-gift-filled:before { | ||
| 7 | + content: "\e6c4"; | ||
| 8 | +} | ||
| 9 | + | ||
| 10 | +.uniui-color:before { | ||
| 11 | + content: "\e6cf"; | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +.uniui-wallet:before { | ||
| 15 | + content: "\e6b1"; | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +.uniui-settings-filled:before { | ||
| 19 | + content: "\e6ce"; | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +.uniui-auth-filled:before { | ||
| 23 | + content: "\e6cc"; | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +.uniui-shop-filled:before { | ||
| 27 | + content: "\e6cd"; | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +.uniui-staff-filled:before { | ||
| 31 | + content: "\e6cb"; | ||
| 32 | +} | ||
| 33 | + | ||
| 34 | +.uniui-vip-filled:before { | ||
| 35 | + content: "\e6c6"; | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +.uniui-plus-filled:before { | ||
| 39 | + content: "\e6c7"; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.uniui-folder-add-filled:before { | ||
| 43 | + content: "\e6c8"; | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +.uniui-color-filled:before { | ||
| 47 | + content: "\e6c9"; | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +.uniui-tune-filled:before { | ||
| 51 | + content: "\e6ca"; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +.uniui-calendar-filled:before { | ||
| 55 | + content: "\e6c0"; | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +.uniui-notification-filled:before { | ||
| 59 | + content: "\e6c1"; | ||
| 60 | +} | ||
| 61 | + | ||
| 62 | +.uniui-wallet-filled:before { | ||
| 63 | + content: "\e6c2"; | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +.uniui-medal-filled:before { | ||
| 67 | + content: "\e6c3"; | ||
| 68 | +} | ||
| 69 | + | ||
| 70 | +.uniui-fire-filled:before { | ||
| 71 | + content: "\e6c5"; | ||
| 72 | +} | ||
| 73 | + | ||
| 74 | +.uniui-refreshempty:before { | ||
| 75 | + content: "\e6bf"; | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +.uniui-location-filled:before { | ||
| 79 | + content: "\e6af"; | ||
| 80 | +} | ||
| 81 | + | ||
| 82 | +.uniui-person-filled:before { | ||
| 83 | + content: "\e69d"; | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +.uniui-personadd-filled:before { | ||
| 87 | + content: "\e698"; | ||
| 88 | +} | ||
| 89 | + | ||
| 90 | +.uniui-arrowthinleft:before { | ||
| 91 | + content: "\e6d2"; | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +.uniui-arrowthinup:before { | ||
| 95 | + content: "\e6d3"; | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +.uniui-arrowthindown:before { | ||
| 99 | + content: "\e6d4"; | ||
| 100 | +} | ||
| 101 | + | ||
| 102 | +.uniui-back:before { | ||
| 103 | + content: "\e6b9"; | ||
| 104 | +} | ||
| 105 | + | ||
| 106 | +.uniui-forward:before { | ||
| 107 | + content: "\e6ba"; | ||
| 108 | +} | ||
| 109 | + | ||
| 110 | +.uniui-arrow-right:before { | ||
| 111 | + content: "\e6bb"; | ||
| 112 | +} | ||
| 113 | + | ||
| 114 | +.uniui-arrow-left:before { | ||
| 115 | + content: "\e6bc"; | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +.uniui-arrow-up:before { | ||
| 119 | + content: "\e6bd"; | ||
| 120 | +} | ||
| 121 | + | ||
| 122 | +.uniui-arrow-down:before { | ||
| 123 | + content: "\e6be"; | ||
| 124 | +} | ||
| 125 | + | ||
| 126 | +.uniui-arrowthinright:before { | ||
| 127 | + content: "\e6d1"; | ||
| 128 | +} | ||
| 129 | + | ||
| 130 | +.uniui-down:before { | ||
| 131 | + content: "\e6b8"; | ||
| 132 | +} | ||
| 133 | + | ||
| 134 | +.uniui-bottom:before { | ||
| 135 | + content: "\e6b8"; | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +.uniui-arrowright:before { | ||
| 139 | + content: "\e6d5"; | ||
| 140 | +} | ||
| 141 | + | ||
| 142 | +.uniui-right:before { | ||
| 143 | + content: "\e6b5"; | ||
| 144 | +} | ||
| 145 | + | ||
| 146 | +.uniui-up:before { | ||
| 147 | + content: "\e6b6"; | ||
| 148 | +} | ||
| 149 | + | ||
| 150 | +.uniui-top:before { | ||
| 151 | + content: "\e6b6"; | ||
| 152 | +} | ||
| 153 | + | ||
| 154 | +.uniui-left:before { | ||
| 155 | + content: "\e6b7"; | ||
| 156 | +} | ||
| 157 | + | ||
| 158 | +.uniui-arrowup:before { | ||
| 159 | + content: "\e6d6"; | ||
| 160 | +} | ||
| 161 | + | ||
| 162 | +.uniui-eye:before { | ||
| 163 | + content: "\e651"; | ||
| 164 | +} | ||
| 165 | + | ||
| 166 | +.uniui-eye-filled:before { | ||
| 167 | + content: "\e66a"; | ||
| 168 | +} | ||
| 169 | + | ||
| 170 | +.uniui-eye-slash:before { | ||
| 171 | + content: "\e6b3"; | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +.uniui-eye-slash-filled:before { | ||
| 175 | + content: "\e6b4"; | ||
| 176 | +} | ||
| 177 | + | ||
| 178 | +.uniui-info-filled:before { | ||
| 179 | + content: "\e649"; | ||
| 180 | +} | ||
| 181 | + | ||
| 182 | +.uniui-reload:before { | ||
| 183 | + content: "\e6b2"; | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | +.uniui-micoff-filled:before { | ||
| 187 | + content: "\e6b0"; | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | +.uniui-map-pin-ellipse:before { | ||
| 191 | + content: "\e6ac"; | ||
| 192 | +} | ||
| 193 | + | ||
| 194 | +.uniui-map-pin:before { | ||
| 195 | + content: "\e6ad"; | ||
| 196 | +} | ||
| 197 | + | ||
| 198 | +.uniui-location:before { | ||
| 199 | + content: "\e6ae"; | ||
| 200 | +} | ||
| 201 | + | ||
| 202 | +.uniui-starhalf:before { | ||
| 203 | + content: "\e683"; | ||
| 204 | +} | ||
| 205 | + | ||
| 206 | +.uniui-star:before { | ||
| 207 | + content: "\e688"; | ||
| 208 | +} | ||
| 209 | + | ||
| 210 | +.uniui-star-filled:before { | ||
| 211 | + content: "\e68f"; | ||
| 212 | +} | ||
| 213 | + | ||
| 214 | +.uniui-calendar:before { | ||
| 215 | + content: "\e6a0"; | ||
| 216 | +} | ||
| 217 | + | ||
| 218 | +.uniui-fire:before { | ||
| 219 | + content: "\e6a1"; | ||
| 220 | +} | ||
| 221 | + | ||
| 222 | +.uniui-medal:before { | ||
| 223 | + content: "\e6a2"; | ||
| 224 | +} | ||
| 225 | + | ||
| 226 | +.uniui-font:before { | ||
| 227 | + content: "\e6a3"; | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +.uniui-gift:before { | ||
| 231 | + content: "\e6a4"; | ||
| 232 | +} | ||
| 233 | + | ||
| 234 | +.uniui-link:before { | ||
| 235 | + content: "\e6a5"; | ||
| 236 | +} | ||
| 237 | + | ||
| 238 | +.uniui-notification:before { | ||
| 239 | + content: "\e6a6"; | ||
| 240 | +} | ||
| 241 | + | ||
| 242 | +.uniui-staff:before { | ||
| 243 | + content: "\e6a7"; | ||
| 244 | +} | ||
| 245 | + | ||
| 246 | +.uniui-vip:before { | ||
| 247 | + content: "\e6a8"; | ||
| 248 | +} | ||
| 249 | + | ||
| 250 | +.uniui-folder-add:before { | ||
| 251 | + content: "\e6a9"; | ||
| 252 | +} | ||
| 253 | + | ||
| 254 | +.uniui-tune:before { | ||
| 255 | + content: "\e6aa"; | ||
| 256 | +} | ||
| 257 | + | ||
| 258 | +.uniui-auth:before { | ||
| 259 | + content: "\e6ab"; | ||
| 260 | +} | ||
| 261 | + | ||
| 262 | +.uniui-person:before { | ||
| 263 | + content: "\e699"; | ||
| 264 | +} | ||
| 265 | + | ||
| 266 | +.uniui-email-filled:before { | ||
| 267 | + content: "\e69a"; | ||
| 268 | +} | ||
| 269 | + | ||
| 270 | +.uniui-phone-filled:before { | ||
| 271 | + content: "\e69b"; | ||
| 272 | +} | ||
| 273 | + | ||
| 274 | +.uniui-phone:before { | ||
| 275 | + content: "\e69c"; | ||
| 276 | +} | ||
| 277 | + | ||
| 278 | +.uniui-email:before { | ||
| 279 | + content: "\e69e"; | ||
| 280 | +} | ||
| 281 | + | ||
| 282 | +.uniui-personadd:before { | ||
| 283 | + content: "\e69f"; | ||
| 284 | +} | ||
| 285 | + | ||
| 286 | +.uniui-chatboxes-filled:before { | ||
| 287 | + content: "\e692"; | ||
| 288 | +} | ||
| 289 | + | ||
| 290 | +.uniui-contact:before { | ||
| 291 | + content: "\e693"; | ||
| 292 | +} | ||
| 293 | + | ||
| 294 | +.uniui-chatbubble-filled:before { | ||
| 295 | + content: "\e694"; | ||
| 296 | +} | ||
| 297 | + | ||
| 298 | +.uniui-contact-filled:before { | ||
| 299 | + content: "\e695"; | ||
| 300 | +} | ||
| 301 | + | ||
| 302 | +.uniui-chatboxes:before { | ||
| 303 | + content: "\e696"; | ||
| 304 | +} | ||
| 305 | + | ||
| 306 | +.uniui-chatbubble:before { | ||
| 307 | + content: "\e697"; | ||
| 308 | +} | ||
| 309 | + | ||
| 310 | +.uniui-upload-filled:before { | ||
| 311 | + content: "\e68e"; | ||
| 312 | +} | ||
| 313 | + | ||
| 314 | +.uniui-upload:before { | ||
| 315 | + content: "\e690"; | ||
| 316 | +} | ||
| 317 | + | ||
| 318 | +.uniui-weixin:before { | ||
| 319 | + content: "\e691"; | ||
| 320 | +} | ||
| 321 | + | ||
| 322 | +.uniui-compose:before { | ||
| 323 | + content: "\e67f"; | ||
| 324 | +} | ||
| 325 | + | ||
| 326 | +.uniui-qq:before { | ||
| 327 | + content: "\e680"; | ||
| 328 | +} | ||
| 329 | + | ||
| 330 | +.uniui-download-filled:before { | ||
| 331 | + content: "\e681"; | ||
| 332 | +} | ||
| 333 | + | ||
| 334 | +.uniui-pyq:before { | ||
| 335 | + content: "\e682"; | ||
| 336 | +} | ||
| 337 | + | ||
| 338 | +.uniui-sound:before { | ||
| 339 | + content: "\e684"; | ||
| 340 | +} | ||
| 341 | + | ||
| 342 | +.uniui-trash-filled:before { | ||
| 343 | + content: "\e685"; | ||
| 344 | +} | ||
| 345 | + | ||
| 346 | +.uniui-sound-filled:before { | ||
| 347 | + content: "\e686"; | ||
| 348 | +} | ||
| 349 | + | ||
| 350 | +.uniui-trash:before { | ||
| 351 | + content: "\e687"; | ||
| 352 | +} | ||
| 353 | + | ||
| 354 | +.uniui-videocam-filled:before { | ||
| 355 | + content: "\e689"; | ||
| 356 | +} | ||
| 357 | + | ||
| 358 | +.uniui-spinner-cycle:before { | ||
| 359 | + content: "\e68a"; | ||
| 360 | +} | ||
| 361 | + | ||
| 362 | +.uniui-weibo:before { | ||
| 363 | + content: "\e68b"; | ||
| 364 | +} | ||
| 365 | + | ||
| 366 | +.uniui-videocam:before { | ||
| 367 | + content: "\e68c"; | ||
| 368 | +} | ||
| 369 | + | ||
| 370 | +.uniui-download:before { | ||
| 371 | + content: "\e68d"; | ||
| 372 | +} | ||
| 373 | + | ||
| 374 | +.uniui-help:before { | ||
| 375 | + content: "\e679"; | ||
| 376 | +} | ||
| 377 | + | ||
| 378 | +.uniui-navigate-filled:before { | ||
| 379 | + content: "\e67a"; | ||
| 380 | +} | ||
| 381 | + | ||
| 382 | +.uniui-plusempty:before { | ||
| 383 | + content: "\e67b"; | ||
| 384 | +} | ||
| 385 | + | ||
| 386 | +.uniui-smallcircle:before { | ||
| 387 | + content: "\e67c"; | ||
| 388 | +} | ||
| 389 | + | ||
| 390 | +.uniui-minus-filled:before { | ||
| 391 | + content: "\e67d"; | ||
| 392 | +} | ||
| 393 | + | ||
| 394 | +.uniui-micoff:before { | ||
| 395 | + content: "\e67e"; | ||
| 396 | +} | ||
| 397 | + | ||
| 398 | +.uniui-closeempty:before { | ||
| 399 | + content: "\e66c"; | ||
| 400 | +} | ||
| 401 | + | ||
| 402 | +.uniui-clear:before { | ||
| 403 | + content: "\e66d"; | ||
| 404 | +} | ||
| 405 | + | ||
| 406 | +.uniui-navigate:before { | ||
| 407 | + content: "\e66e"; | ||
| 408 | +} | ||
| 409 | + | ||
| 410 | +.uniui-minus:before { | ||
| 411 | + content: "\e66f"; | ||
| 412 | +} | ||
| 413 | + | ||
| 414 | +.uniui-image:before { | ||
| 415 | + content: "\e670"; | ||
| 416 | +} | ||
| 417 | + | ||
| 418 | +.uniui-mic:before { | ||
| 419 | + content: "\e671"; | ||
| 420 | +} | ||
| 421 | + | ||
| 422 | +.uniui-paperplane:before { | ||
| 423 | + content: "\e672"; | ||
| 424 | +} | ||
| 425 | + | ||
| 426 | +.uniui-close:before { | ||
| 427 | + content: "\e673"; | ||
| 428 | +} | ||
| 429 | + | ||
| 430 | +.uniui-help-filled:before { | ||
| 431 | + content: "\e674"; | ||
| 432 | +} | ||
| 433 | + | ||
| 434 | +.uniui-paperplane-filled:before { | ||
| 435 | + content: "\e675"; | ||
| 436 | +} | ||
| 437 | + | ||
| 438 | +.uniui-plus:before { | ||
| 439 | + content: "\e676"; | ||
| 440 | +} | ||
| 441 | + | ||
| 442 | +.uniui-mic-filled:before { | ||
| 443 | + content: "\e677"; | ||
| 444 | +} | ||
| 445 | + | ||
| 446 | +.uniui-image-filled:before { | ||
| 447 | + content: "\e678"; | ||
| 448 | +} | ||
| 449 | + | ||
| 450 | +.uniui-locked-filled:before { | ||
| 451 | + content: "\e668"; | ||
| 452 | +} | ||
| 453 | + | ||
| 454 | +.uniui-info:before { | ||
| 455 | + content: "\e669"; | ||
| 456 | +} | ||
| 457 | + | ||
| 458 | +.uniui-locked:before { | ||
| 459 | + content: "\e66b"; | ||
| 460 | +} | ||
| 461 | + | ||
| 462 | +.uniui-camera-filled:before { | ||
| 463 | + content: "\e658"; | ||
| 464 | +} | ||
| 465 | + | ||
| 466 | +.uniui-chat-filled:before { | ||
| 467 | + content: "\e659"; | ||
| 468 | +} | ||
| 469 | + | ||
| 470 | +.uniui-camera:before { | ||
| 471 | + content: "\e65a"; | ||
| 472 | +} | ||
| 473 | + | ||
| 474 | +.uniui-circle:before { | ||
| 475 | + content: "\e65b"; | ||
| 476 | +} | ||
| 477 | + | ||
| 478 | +.uniui-checkmarkempty:before { | ||
| 479 | + content: "\e65c"; | ||
| 480 | +} | ||
| 481 | + | ||
| 482 | +.uniui-chat:before { | ||
| 483 | + content: "\e65d"; | ||
| 484 | +} | ||
| 485 | + | ||
| 486 | +.uniui-circle-filled:before { | ||
| 487 | + content: "\e65e"; | ||
| 488 | +} | ||
| 489 | + | ||
| 490 | +.uniui-flag:before { | ||
| 491 | + content: "\e65f"; | ||
| 492 | +} | ||
| 493 | + | ||
| 494 | +.uniui-flag-filled:before { | ||
| 495 | + content: "\e660"; | ||
| 496 | +} | ||
| 497 | + | ||
| 498 | +.uniui-gear-filled:before { | ||
| 499 | + content: "\e661"; | ||
| 500 | +} | ||
| 501 | + | ||
| 502 | +.uniui-home:before { | ||
| 503 | + content: "\e662"; | ||
| 504 | +} | ||
| 505 | + | ||
| 506 | +.uniui-home-filled:before { | ||
| 507 | + content: "\e663"; | ||
| 508 | +} | ||
| 509 | + | ||
| 510 | +.uniui-gear:before { | ||
| 511 | + content: "\e664"; | ||
| 512 | +} | ||
| 513 | + | ||
| 514 | +.uniui-smallcircle-filled:before { | ||
| 515 | + content: "\e665"; | ||
| 516 | +} | ||
| 517 | + | ||
| 518 | +.uniui-map-filled:before { | ||
| 519 | + content: "\e666"; | ||
| 520 | +} | ||
| 521 | + | ||
| 522 | +.uniui-map:before { | ||
| 523 | + content: "\e667"; | ||
| 524 | +} | ||
| 525 | + | ||
| 526 | +.uniui-refresh-filled:before { | ||
| 527 | + content: "\e656"; | ||
| 528 | +} | ||
| 529 | + | ||
| 530 | +.uniui-refresh:before { | ||
| 531 | + content: "\e657"; | ||
| 532 | +} | ||
| 533 | + | ||
| 534 | +.uniui-cloud-upload:before { | ||
| 535 | + content: "\e645"; | ||
| 536 | +} | ||
| 537 | + | ||
| 538 | +.uniui-cloud-download-filled:before { | ||
| 539 | + content: "\e646"; | ||
| 540 | +} | ||
| 541 | + | ||
| 542 | +.uniui-cloud-download:before { | ||
| 543 | + content: "\e647"; | ||
| 544 | +} | ||
| 545 | + | ||
| 546 | +.uniui-cloud-upload-filled:before { | ||
| 547 | + content: "\e648"; | ||
| 548 | +} | ||
| 549 | + | ||
| 550 | +.uniui-redo:before { | ||
| 551 | + content: "\e64a"; | ||
| 552 | +} | ||
| 553 | + | ||
| 554 | +.uniui-images-filled:before { | ||
| 555 | + content: "\e64b"; | ||
| 556 | +} | ||
| 557 | + | ||
| 558 | +.uniui-undo-filled:before { | ||
| 559 | + content: "\e64c"; | ||
| 560 | +} | ||
| 561 | + | ||
| 562 | +.uniui-more:before { | ||
| 563 | + content: "\e64d"; | ||
| 564 | +} | ||
| 565 | + | ||
| 566 | +.uniui-more-filled:before { | ||
| 567 | + content: "\e64e"; | ||
| 568 | +} | ||
| 569 | + | ||
| 570 | +.uniui-undo:before { | ||
| 571 | + content: "\e64f"; | ||
| 572 | +} | ||
| 573 | + | ||
| 574 | +.uniui-images:before { | ||
| 575 | + content: "\e650"; | ||
| 576 | +} | ||
| 577 | + | ||
| 578 | +.uniui-paperclip:before { | ||
| 579 | + content: "\e652"; | ||
| 580 | +} | ||
| 581 | + | ||
| 582 | +.uniui-settings:before { | ||
| 583 | + content: "\e653"; | ||
| 584 | +} | ||
| 585 | + | ||
| 586 | +.uniui-search:before { | ||
| 587 | + content: "\e654"; | ||
| 588 | +} | ||
| 589 | + | ||
| 590 | +.uniui-redo-filled:before { | ||
| 591 | + content: "\e655"; | ||
| 592 | +} | ||
| 593 | + | ||
| 594 | +.uniui-list:before { | ||
| 595 | + content: "\e644"; | ||
| 596 | +} | ||
| 597 | + | ||
| 598 | +.uniui-mail-open-filled:before { | ||
| 599 | + content: "\e63a"; | ||
| 600 | +} | ||
| 601 | + | ||
| 602 | +.uniui-hand-down-filled:before { | ||
| 603 | + content: "\e63c"; | ||
| 604 | +} | ||
| 605 | + | ||
| 606 | +.uniui-hand-down:before { | ||
| 607 | + content: "\e63d"; | ||
| 608 | +} | ||
| 609 | + | ||
| 610 | +.uniui-hand-up-filled:before { | ||
| 611 | + content: "\e63e"; | ||
| 612 | +} | ||
| 613 | + | ||
| 614 | +.uniui-hand-up:before { | ||
| 615 | + content: "\e63f"; | ||
| 616 | +} | ||
| 617 | + | ||
| 618 | +.uniui-heart-filled:before { | ||
| 619 | + content: "\e641"; | ||
| 620 | +} | ||
| 621 | + | ||
| 622 | +.uniui-mail-open:before { | ||
| 623 | + content: "\e643"; | ||
| 624 | +} | ||
| 625 | + | ||
| 626 | +.uniui-heart:before { | ||
| 627 | + content: "\e639"; | ||
| 628 | +} | ||
| 629 | + | ||
| 630 | +.uniui-loop:before { | ||
| 631 | + content: "\e633"; | ||
| 632 | +} | ||
| 633 | + | ||
| 634 | +.uniui-pulldown:before { | ||
| 635 | + content: "\e632"; | ||
| 636 | +} | ||
| 637 | + | ||
| 638 | +.uniui-scan:before { | ||
| 639 | + content: "\e62a"; | ||
| 640 | +} | ||
| 641 | + | ||
| 642 | +.uniui-bars:before { | ||
| 643 | + content: "\e627"; | ||
| 644 | +} | ||
| 645 | + | ||
| 646 | +.uniui-checkbox:before { | ||
| 647 | + content: "\e62b"; | ||
| 648 | +} | ||
| 649 | + | ||
| 650 | +.uniui-checkbox-filled:before { | ||
| 651 | + content: "\e62c"; | ||
| 652 | +} | ||
| 653 | + | ||
| 654 | +.uniui-shop:before { | ||
| 655 | + content: "\e62f"; | ||
| 656 | +} | ||
| 657 | + | ||
| 658 | +.uniui-headphones:before { | ||
| 659 | + content: "\e630"; | ||
| 660 | +} | ||
| 661 | + | ||
| 662 | +.uniui-cart:before { | ||
| 663 | + content: "\e631"; | ||
| 664 | +} |
不能预览此文件类型
| 1 | + | ||
| 2 | +export type IconsData = { | ||
| 3 | + id : string | ||
| 4 | + name : string | ||
| 5 | + font_family : string | ||
| 6 | + css_prefix_text : string | ||
| 7 | + description : string | ||
| 8 | + glyphs : Array<IconsDataItem> | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export type IconsDataItem = { | ||
| 12 | + font_class : string | ||
| 13 | + unicode : string | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +export const fontData = [ | ||
| 18 | + { | ||
| 19 | + "font_class": "arrow-down", | ||
| 20 | + "unicode": "\ue6be" | ||
| 21 | + }, | ||
| 22 | + { | ||
| 23 | + "font_class": "arrow-left", | ||
| 24 | + "unicode": "\ue6bc" | ||
| 25 | + }, | ||
| 26 | + { | ||
| 27 | + "font_class": "arrow-right", | ||
| 28 | + "unicode": "\ue6bb" | ||
| 29 | + }, | ||
| 30 | + { | ||
| 31 | + "font_class": "arrow-up", | ||
| 32 | + "unicode": "\ue6bd" | ||
| 33 | + }, | ||
| 34 | + { | ||
| 35 | + "font_class": "auth", | ||
| 36 | + "unicode": "\ue6ab" | ||
| 37 | + }, | ||
| 38 | + { | ||
| 39 | + "font_class": "auth-filled", | ||
| 40 | + "unicode": "\ue6cc" | ||
| 41 | + }, | ||
| 42 | + { | ||
| 43 | + "font_class": "back", | ||
| 44 | + "unicode": "\ue6b9" | ||
| 45 | + }, | ||
| 46 | + { | ||
| 47 | + "font_class": "bars", | ||
| 48 | + "unicode": "\ue627" | ||
| 49 | + }, | ||
| 50 | + { | ||
| 51 | + "font_class": "calendar", | ||
| 52 | + "unicode": "\ue6a0" | ||
| 53 | + }, | ||
| 54 | + { | ||
| 55 | + "font_class": "calendar-filled", | ||
| 56 | + "unicode": "\ue6c0" | ||
| 57 | + }, | ||
| 58 | + { | ||
| 59 | + "font_class": "camera", | ||
| 60 | + "unicode": "\ue65a" | ||
| 61 | + }, | ||
| 62 | + { | ||
| 63 | + "font_class": "camera-filled", | ||
| 64 | + "unicode": "\ue658" | ||
| 65 | + }, | ||
| 66 | + { | ||
| 67 | + "font_class": "cart", | ||
| 68 | + "unicode": "\ue631" | ||
| 69 | + }, | ||
| 70 | + { | ||
| 71 | + "font_class": "cart-filled", | ||
| 72 | + "unicode": "\ue6d0" | ||
| 73 | + }, | ||
| 74 | + { | ||
| 75 | + "font_class": "chat", | ||
| 76 | + "unicode": "\ue65d" | ||
| 77 | + }, | ||
| 78 | + { | ||
| 79 | + "font_class": "chat-filled", | ||
| 80 | + "unicode": "\ue659" | ||
| 81 | + }, | ||
| 82 | + { | ||
| 83 | + "font_class": "chatboxes", | ||
| 84 | + "unicode": "\ue696" | ||
| 85 | + }, | ||
| 86 | + { | ||
| 87 | + "font_class": "chatboxes-filled", | ||
| 88 | + "unicode": "\ue692" | ||
| 89 | + }, | ||
| 90 | + { | ||
| 91 | + "font_class": "chatbubble", | ||
| 92 | + "unicode": "\ue697" | ||
| 93 | + }, | ||
| 94 | + { | ||
| 95 | + "font_class": "chatbubble-filled", | ||
| 96 | + "unicode": "\ue694" | ||
| 97 | + }, | ||
| 98 | + { | ||
| 99 | + "font_class": "checkbox", | ||
| 100 | + "unicode": "\ue62b" | ||
| 101 | + }, | ||
| 102 | + { | ||
| 103 | + "font_class": "checkbox-filled", | ||
| 104 | + "unicode": "\ue62c" | ||
| 105 | + }, | ||
| 106 | + { | ||
| 107 | + "font_class": "checkmarkempty", | ||
| 108 | + "unicode": "\ue65c" | ||
| 109 | + }, | ||
| 110 | + { | ||
| 111 | + "font_class": "circle", | ||
| 112 | + "unicode": "\ue65b" | ||
| 113 | + }, | ||
| 114 | + { | ||
| 115 | + "font_class": "circle-filled", | ||
| 116 | + "unicode": "\ue65e" | ||
| 117 | + }, | ||
| 118 | + { | ||
| 119 | + "font_class": "clear", | ||
| 120 | + "unicode": "\ue66d" | ||
| 121 | + }, | ||
| 122 | + { | ||
| 123 | + "font_class": "close", | ||
| 124 | + "unicode": "\ue673" | ||
| 125 | + }, | ||
| 126 | + { | ||
| 127 | + "font_class": "closeempty", | ||
| 128 | + "unicode": "\ue66c" | ||
| 129 | + }, | ||
| 130 | + { | ||
| 131 | + "font_class": "cloud-download", | ||
| 132 | + "unicode": "\ue647" | ||
| 133 | + }, | ||
| 134 | + { | ||
| 135 | + "font_class": "cloud-download-filled", | ||
| 136 | + "unicode": "\ue646" | ||
| 137 | + }, | ||
| 138 | + { | ||
| 139 | + "font_class": "cloud-upload", | ||
| 140 | + "unicode": "\ue645" | ||
| 141 | + }, | ||
| 142 | + { | ||
| 143 | + "font_class": "cloud-upload-filled", | ||
| 144 | + "unicode": "\ue648" | ||
| 145 | + }, | ||
| 146 | + { | ||
| 147 | + "font_class": "color", | ||
| 148 | + "unicode": "\ue6cf" | ||
| 149 | + }, | ||
| 150 | + { | ||
| 151 | + "font_class": "color-filled", | ||
| 152 | + "unicode": "\ue6c9" | ||
| 153 | + }, | ||
| 154 | + { | ||
| 155 | + "font_class": "compose", | ||
| 156 | + "unicode": "\ue67f" | ||
| 157 | + }, | ||
| 158 | + { | ||
| 159 | + "font_class": "contact", | ||
| 160 | + "unicode": "\ue693" | ||
| 161 | + }, | ||
| 162 | + { | ||
| 163 | + "font_class": "contact-filled", | ||
| 164 | + "unicode": "\ue695" | ||
| 165 | + }, | ||
| 166 | + { | ||
| 167 | + "font_class": "down", | ||
| 168 | + "unicode": "\ue6b8" | ||
| 169 | + }, | ||
| 170 | + { | ||
| 171 | + "font_class": "bottom", | ||
| 172 | + "unicode": "\ue6b8" | ||
| 173 | + }, | ||
| 174 | + { | ||
| 175 | + "font_class": "download", | ||
| 176 | + "unicode": "\ue68d" | ||
| 177 | + }, | ||
| 178 | + { | ||
| 179 | + "font_class": "download-filled", | ||
| 180 | + "unicode": "\ue681" | ||
| 181 | + }, | ||
| 182 | + { | ||
| 183 | + "font_class": "email", | ||
| 184 | + "unicode": "\ue69e" | ||
| 185 | + }, | ||
| 186 | + { | ||
| 187 | + "font_class": "email-filled", | ||
| 188 | + "unicode": "\ue69a" | ||
| 189 | + }, | ||
| 190 | + { | ||
| 191 | + "font_class": "eye", | ||
| 192 | + "unicode": "\ue651" | ||
| 193 | + }, | ||
| 194 | + { | ||
| 195 | + "font_class": "eye-filled", | ||
| 196 | + "unicode": "\ue66a" | ||
| 197 | + }, | ||
| 198 | + { | ||
| 199 | + "font_class": "eye-slash", | ||
| 200 | + "unicode": "\ue6b3" | ||
| 201 | + }, | ||
| 202 | + { | ||
| 203 | + "font_class": "eye-slash-filled", | ||
| 204 | + "unicode": "\ue6b4" | ||
| 205 | + }, | ||
| 206 | + { | ||
| 207 | + "font_class": "fire", | ||
| 208 | + "unicode": "\ue6a1" | ||
| 209 | + }, | ||
| 210 | + { | ||
| 211 | + "font_class": "fire-filled", | ||
| 212 | + "unicode": "\ue6c5" | ||
| 213 | + }, | ||
| 214 | + { | ||
| 215 | + "font_class": "flag", | ||
| 216 | + "unicode": "\ue65f" | ||
| 217 | + }, | ||
| 218 | + { | ||
| 219 | + "font_class": "flag-filled", | ||
| 220 | + "unicode": "\ue660" | ||
| 221 | + }, | ||
| 222 | + { | ||
| 223 | + "font_class": "folder-add", | ||
| 224 | + "unicode": "\ue6a9" | ||
| 225 | + }, | ||
| 226 | + { | ||
| 227 | + "font_class": "folder-add-filled", | ||
| 228 | + "unicode": "\ue6c8" | ||
| 229 | + }, | ||
| 230 | + { | ||
| 231 | + "font_class": "font", | ||
| 232 | + "unicode": "\ue6a3" | ||
| 233 | + }, | ||
| 234 | + { | ||
| 235 | + "font_class": "forward", | ||
| 236 | + "unicode": "\ue6ba" | ||
| 237 | + }, | ||
| 238 | + { | ||
| 239 | + "font_class": "gear", | ||
| 240 | + "unicode": "\ue664" | ||
| 241 | + }, | ||
| 242 | + { | ||
| 243 | + "font_class": "gear-filled", | ||
| 244 | + "unicode": "\ue661" | ||
| 245 | + }, | ||
| 246 | + { | ||
| 247 | + "font_class": "gift", | ||
| 248 | + "unicode": "\ue6a4" | ||
| 249 | + }, | ||
| 250 | + { | ||
| 251 | + "font_class": "gift-filled", | ||
| 252 | + "unicode": "\ue6c4" | ||
| 253 | + }, | ||
| 254 | + { | ||
| 255 | + "font_class": "hand-down", | ||
| 256 | + "unicode": "\ue63d" | ||
| 257 | + }, | ||
| 258 | + { | ||
| 259 | + "font_class": "hand-down-filled", | ||
| 260 | + "unicode": "\ue63c" | ||
| 261 | + }, | ||
| 262 | + { | ||
| 263 | + "font_class": "hand-up", | ||
| 264 | + "unicode": "\ue63f" | ||
| 265 | + }, | ||
| 266 | + { | ||
| 267 | + "font_class": "hand-up-filled", | ||
| 268 | + "unicode": "\ue63e" | ||
| 269 | + }, | ||
| 270 | + { | ||
| 271 | + "font_class": "headphones", | ||
| 272 | + "unicode": "\ue630" | ||
| 273 | + }, | ||
| 274 | + { | ||
| 275 | + "font_class": "heart", | ||
| 276 | + "unicode": "\ue639" | ||
| 277 | + }, | ||
| 278 | + { | ||
| 279 | + "font_class": "heart-filled", | ||
| 280 | + "unicode": "\ue641" | ||
| 281 | + }, | ||
| 282 | + { | ||
| 283 | + "font_class": "help", | ||
| 284 | + "unicode": "\ue679" | ||
| 285 | + }, | ||
| 286 | + { | ||
| 287 | + "font_class": "help-filled", | ||
| 288 | + "unicode": "\ue674" | ||
| 289 | + }, | ||
| 290 | + { | ||
| 291 | + "font_class": "home", | ||
| 292 | + "unicode": "\ue662" | ||
| 293 | + }, | ||
| 294 | + { | ||
| 295 | + "font_class": "home-filled", | ||
| 296 | + "unicode": "\ue663" | ||
| 297 | + }, | ||
| 298 | + { | ||
| 299 | + "font_class": "image", | ||
| 300 | + "unicode": "\ue670" | ||
| 301 | + }, | ||
| 302 | + { | ||
| 303 | + "font_class": "image-filled", | ||
| 304 | + "unicode": "\ue678" | ||
| 305 | + }, | ||
| 306 | + { | ||
| 307 | + "font_class": "images", | ||
| 308 | + "unicode": "\ue650" | ||
| 309 | + }, | ||
| 310 | + { | ||
| 311 | + "font_class": "images-filled", | ||
| 312 | + "unicode": "\ue64b" | ||
| 313 | + }, | ||
| 314 | + { | ||
| 315 | + "font_class": "info", | ||
| 316 | + "unicode": "\ue669" | ||
| 317 | + }, | ||
| 318 | + { | ||
| 319 | + "font_class": "info-filled", | ||
| 320 | + "unicode": "\ue649" | ||
| 321 | + }, | ||
| 322 | + { | ||
| 323 | + "font_class": "left", | ||
| 324 | + "unicode": "\ue6b7" | ||
| 325 | + }, | ||
| 326 | + { | ||
| 327 | + "font_class": "link", | ||
| 328 | + "unicode": "\ue6a5" | ||
| 329 | + }, | ||
| 330 | + { | ||
| 331 | + "font_class": "list", | ||
| 332 | + "unicode": "\ue644" | ||
| 333 | + }, | ||
| 334 | + { | ||
| 335 | + "font_class": "location", | ||
| 336 | + "unicode": "\ue6ae" | ||
| 337 | + }, | ||
| 338 | + { | ||
| 339 | + "font_class": "location-filled", | ||
| 340 | + "unicode": "\ue6af" | ||
| 341 | + }, | ||
| 342 | + { | ||
| 343 | + "font_class": "locked", | ||
| 344 | + "unicode": "\ue66b" | ||
| 345 | + }, | ||
| 346 | + { | ||
| 347 | + "font_class": "locked-filled", | ||
| 348 | + "unicode": "\ue668" | ||
| 349 | + }, | ||
| 350 | + { | ||
| 351 | + "font_class": "loop", | ||
| 352 | + "unicode": "\ue633" | ||
| 353 | + }, | ||
| 354 | + { | ||
| 355 | + "font_class": "mail-open", | ||
| 356 | + "unicode": "\ue643" | ||
| 357 | + }, | ||
| 358 | + { | ||
| 359 | + "font_class": "mail-open-filled", | ||
| 360 | + "unicode": "\ue63a" | ||
| 361 | + }, | ||
| 362 | + { | ||
| 363 | + "font_class": "map", | ||
| 364 | + "unicode": "\ue667" | ||
| 365 | + }, | ||
| 366 | + { | ||
| 367 | + "font_class": "map-filled", | ||
| 368 | + "unicode": "\ue666" | ||
| 369 | + }, | ||
| 370 | + { | ||
| 371 | + "font_class": "map-pin", | ||
| 372 | + "unicode": "\ue6ad" | ||
| 373 | + }, | ||
| 374 | + { | ||
| 375 | + "font_class": "map-pin-ellipse", | ||
| 376 | + "unicode": "\ue6ac" | ||
| 377 | + }, | ||
| 378 | + { | ||
| 379 | + "font_class": "medal", | ||
| 380 | + "unicode": "\ue6a2" | ||
| 381 | + }, | ||
| 382 | + { | ||
| 383 | + "font_class": "medal-filled", | ||
| 384 | + "unicode": "\ue6c3" | ||
| 385 | + }, | ||
| 386 | + { | ||
| 387 | + "font_class": "mic", | ||
| 388 | + "unicode": "\ue671" | ||
| 389 | + }, | ||
| 390 | + { | ||
| 391 | + "font_class": "mic-filled", | ||
| 392 | + "unicode": "\ue677" | ||
| 393 | + }, | ||
| 394 | + { | ||
| 395 | + "font_class": "micoff", | ||
| 396 | + "unicode": "\ue67e" | ||
| 397 | + }, | ||
| 398 | + { | ||
| 399 | + "font_class": "micoff-filled", | ||
| 400 | + "unicode": "\ue6b0" | ||
| 401 | + }, | ||
| 402 | + { | ||
| 403 | + "font_class": "minus", | ||
| 404 | + "unicode": "\ue66f" | ||
| 405 | + }, | ||
| 406 | + { | ||
| 407 | + "font_class": "minus-filled", | ||
| 408 | + "unicode": "\ue67d" | ||
| 409 | + }, | ||
| 410 | + { | ||
| 411 | + "font_class": "more", | ||
| 412 | + "unicode": "\ue64d" | ||
| 413 | + }, | ||
| 414 | + { | ||
| 415 | + "font_class": "more-filled", | ||
| 416 | + "unicode": "\ue64e" | ||
| 417 | + }, | ||
| 418 | + { | ||
| 419 | + "font_class": "navigate", | ||
| 420 | + "unicode": "\ue66e" | ||
| 421 | + }, | ||
| 422 | + { | ||
| 423 | + "font_class": "navigate-filled", | ||
| 424 | + "unicode": "\ue67a" | ||
| 425 | + }, | ||
| 426 | + { | ||
| 427 | + "font_class": "notification", | ||
| 428 | + "unicode": "\ue6a6" | ||
| 429 | + }, | ||
| 430 | + { | ||
| 431 | + "font_class": "notification-filled", | ||
| 432 | + "unicode": "\ue6c1" | ||
| 433 | + }, | ||
| 434 | + { | ||
| 435 | + "font_class": "paperclip", | ||
| 436 | + "unicode": "\ue652" | ||
| 437 | + }, | ||
| 438 | + { | ||
| 439 | + "font_class": "paperplane", | ||
| 440 | + "unicode": "\ue672" | ||
| 441 | + }, | ||
| 442 | + { | ||
| 443 | + "font_class": "paperplane-filled", | ||
| 444 | + "unicode": "\ue675" | ||
| 445 | + }, | ||
| 446 | + { | ||
| 447 | + "font_class": "person", | ||
| 448 | + "unicode": "\ue699" | ||
| 449 | + }, | ||
| 450 | + { | ||
| 451 | + "font_class": "person-filled", | ||
| 452 | + "unicode": "\ue69d" | ||
| 453 | + }, | ||
| 454 | + { | ||
| 455 | + "font_class": "personadd", | ||
| 456 | + "unicode": "\ue69f" | ||
| 457 | + }, | ||
| 458 | + { | ||
| 459 | + "font_class": "personadd-filled", | ||
| 460 | + "unicode": "\ue698" | ||
| 461 | + }, | ||
| 462 | + { | ||
| 463 | + "font_class": "personadd-filled-copy", | ||
| 464 | + "unicode": "\ue6d1" | ||
| 465 | + }, | ||
| 466 | + { | ||
| 467 | + "font_class": "phone", | ||
| 468 | + "unicode": "\ue69c" | ||
| 469 | + }, | ||
| 470 | + { | ||
| 471 | + "font_class": "phone-filled", | ||
| 472 | + "unicode": "\ue69b" | ||
| 473 | + }, | ||
| 474 | + { | ||
| 475 | + "font_class": "plus", | ||
| 476 | + "unicode": "\ue676" | ||
| 477 | + }, | ||
| 478 | + { | ||
| 479 | + "font_class": "plus-filled", | ||
| 480 | + "unicode": "\ue6c7" | ||
| 481 | + }, | ||
| 482 | + { | ||
| 483 | + "font_class": "plusempty", | ||
| 484 | + "unicode": "\ue67b" | ||
| 485 | + }, | ||
| 486 | + { | ||
| 487 | + "font_class": "pulldown", | ||
| 488 | + "unicode": "\ue632" | ||
| 489 | + }, | ||
| 490 | + { | ||
| 491 | + "font_class": "pyq", | ||
| 492 | + "unicode": "\ue682" | ||
| 493 | + }, | ||
| 494 | + { | ||
| 495 | + "font_class": "qq", | ||
| 496 | + "unicode": "\ue680" | ||
| 497 | + }, | ||
| 498 | + { | ||
| 499 | + "font_class": "redo", | ||
| 500 | + "unicode": "\ue64a" | ||
| 501 | + }, | ||
| 502 | + { | ||
| 503 | + "font_class": "redo-filled", | ||
| 504 | + "unicode": "\ue655" | ||
| 505 | + }, | ||
| 506 | + { | ||
| 507 | + "font_class": "refresh", | ||
| 508 | + "unicode": "\ue657" | ||
| 509 | + }, | ||
| 510 | + { | ||
| 511 | + "font_class": "refresh-filled", | ||
| 512 | + "unicode": "\ue656" | ||
| 513 | + }, | ||
| 514 | + { | ||
| 515 | + "font_class": "refreshempty", | ||
| 516 | + "unicode": "\ue6bf" | ||
| 517 | + }, | ||
| 518 | + { | ||
| 519 | + "font_class": "reload", | ||
| 520 | + "unicode": "\ue6b2" | ||
| 521 | + }, | ||
| 522 | + { | ||
| 523 | + "font_class": "right", | ||
| 524 | + "unicode": "\ue6b5" | ||
| 525 | + }, | ||
| 526 | + { | ||
| 527 | + "font_class": "scan", | ||
| 528 | + "unicode": "\ue62a" | ||
| 529 | + }, | ||
| 530 | + { | ||
| 531 | + "font_class": "search", | ||
| 532 | + "unicode": "\ue654" | ||
| 533 | + }, | ||
| 534 | + { | ||
| 535 | + "font_class": "settings", | ||
| 536 | + "unicode": "\ue653" | ||
| 537 | + }, | ||
| 538 | + { | ||
| 539 | + "font_class": "settings-filled", | ||
| 540 | + "unicode": "\ue6ce" | ||
| 541 | + }, | ||
| 542 | + { | ||
| 543 | + "font_class": "shop", | ||
| 544 | + "unicode": "\ue62f" | ||
| 545 | + }, | ||
| 546 | + { | ||
| 547 | + "font_class": "shop-filled", | ||
| 548 | + "unicode": "\ue6cd" | ||
| 549 | + }, | ||
| 550 | + { | ||
| 551 | + "font_class": "smallcircle", | ||
| 552 | + "unicode": "\ue67c" | ||
| 553 | + }, | ||
| 554 | + { | ||
| 555 | + "font_class": "smallcircle-filled", | ||
| 556 | + "unicode": "\ue665" | ||
| 557 | + }, | ||
| 558 | + { | ||
| 559 | + "font_class": "sound", | ||
| 560 | + "unicode": "\ue684" | ||
| 561 | + }, | ||
| 562 | + { | ||
| 563 | + "font_class": "sound-filled", | ||
| 564 | + "unicode": "\ue686" | ||
| 565 | + }, | ||
| 566 | + { | ||
| 567 | + "font_class": "spinner-cycle", | ||
| 568 | + "unicode": "\ue68a" | ||
| 569 | + }, | ||
| 570 | + { | ||
| 571 | + "font_class": "staff", | ||
| 572 | + "unicode": "\ue6a7" | ||
| 573 | + }, | ||
| 574 | + { | ||
| 575 | + "font_class": "staff-filled", | ||
| 576 | + "unicode": "\ue6cb" | ||
| 577 | + }, | ||
| 578 | + { | ||
| 579 | + "font_class": "star", | ||
| 580 | + "unicode": "\ue688" | ||
| 581 | + }, | ||
| 582 | + { | ||
| 583 | + "font_class": "star-filled", | ||
| 584 | + "unicode": "\ue68f" | ||
| 585 | + }, | ||
| 586 | + { | ||
| 587 | + "font_class": "starhalf", | ||
| 588 | + "unicode": "\ue683" | ||
| 589 | + }, | ||
| 590 | + { | ||
| 591 | + "font_class": "trash", | ||
| 592 | + "unicode": "\ue687" | ||
| 593 | + }, | ||
| 594 | + { | ||
| 595 | + "font_class": "trash-filled", | ||
| 596 | + "unicode": "\ue685" | ||
| 597 | + }, | ||
| 598 | + { | ||
| 599 | + "font_class": "tune", | ||
| 600 | + "unicode": "\ue6aa" | ||
| 601 | + }, | ||
| 602 | + { | ||
| 603 | + "font_class": "tune-filled", | ||
| 604 | + "unicode": "\ue6ca" | ||
| 605 | + }, | ||
| 606 | + { | ||
| 607 | + "font_class": "undo", | ||
| 608 | + "unicode": "\ue64f" | ||
| 609 | + }, | ||
| 610 | + { | ||
| 611 | + "font_class": "undo-filled", | ||
| 612 | + "unicode": "\ue64c" | ||
| 613 | + }, | ||
| 614 | + { | ||
| 615 | + "font_class": "up", | ||
| 616 | + "unicode": "\ue6b6" | ||
| 617 | + }, | ||
| 618 | + { | ||
| 619 | + "font_class": "top", | ||
| 620 | + "unicode": "\ue6b6" | ||
| 621 | + }, | ||
| 622 | + { | ||
| 623 | + "font_class": "upload", | ||
| 624 | + "unicode": "\ue690" | ||
| 625 | + }, | ||
| 626 | + { | ||
| 627 | + "font_class": "upload-filled", | ||
| 628 | + "unicode": "\ue68e" | ||
| 629 | + }, | ||
| 630 | + { | ||
| 631 | + "font_class": "videocam", | ||
| 632 | + "unicode": "\ue68c" | ||
| 633 | + }, | ||
| 634 | + { | ||
| 635 | + "font_class": "videocam-filled", | ||
| 636 | + "unicode": "\ue689" | ||
| 637 | + }, | ||
| 638 | + { | ||
| 639 | + "font_class": "vip", | ||
| 640 | + "unicode": "\ue6a8" | ||
| 641 | + }, | ||
| 642 | + { | ||
| 643 | + "font_class": "vip-filled", | ||
| 644 | + "unicode": "\ue6c6" | ||
| 645 | + }, | ||
| 646 | + { | ||
| 647 | + "font_class": "wallet", | ||
| 648 | + "unicode": "\ue6b1" | ||
| 649 | + }, | ||
| 650 | + { | ||
| 651 | + "font_class": "wallet-filled", | ||
| 652 | + "unicode": "\ue6c2" | ||
| 653 | + }, | ||
| 654 | + { | ||
| 655 | + "font_class": "weibo", | ||
| 656 | + "unicode": "\ue68b" | ||
| 657 | + }, | ||
| 658 | + { | ||
| 659 | + "font_class": "weixin", | ||
| 660 | + "unicode": "\ue691" | ||
| 661 | + } | ||
| 662 | +] as IconsDataItem[] | ||
| 663 | + | ||
| 664 | +// export const fontData = JSON.parse<IconsDataItem>(fontDataJson) |
| 1 | + | ||
| 2 | +export const fontData = [ | ||
| 3 | + { | ||
| 4 | + "font_class": "arrow-down", | ||
| 5 | + "unicode": "\ue6be" | ||
| 6 | + }, | ||
| 7 | + { | ||
| 8 | + "font_class": "arrow-left", | ||
| 9 | + "unicode": "\ue6bc" | ||
| 10 | + }, | ||
| 11 | + { | ||
| 12 | + "font_class": "arrow-right", | ||
| 13 | + "unicode": "\ue6bb" | ||
| 14 | + }, | ||
| 15 | + { | ||
| 16 | + "font_class": "arrow-up", | ||
| 17 | + "unicode": "\ue6bd" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "font_class": "auth", | ||
| 21 | + "unicode": "\ue6ab" | ||
| 22 | + }, | ||
| 23 | + { | ||
| 24 | + "font_class": "auth-filled", | ||
| 25 | + "unicode": "\ue6cc" | ||
| 26 | + }, | ||
| 27 | + { | ||
| 28 | + "font_class": "back", | ||
| 29 | + "unicode": "\ue6b9" | ||
| 30 | + }, | ||
| 31 | + { | ||
| 32 | + "font_class": "bars", | ||
| 33 | + "unicode": "\ue627" | ||
| 34 | + }, | ||
| 35 | + { | ||
| 36 | + "font_class": "calendar", | ||
| 37 | + "unicode": "\ue6a0" | ||
| 38 | + }, | ||
| 39 | + { | ||
| 40 | + "font_class": "calendar-filled", | ||
| 41 | + "unicode": "\ue6c0" | ||
| 42 | + }, | ||
| 43 | + { | ||
| 44 | + "font_class": "camera", | ||
| 45 | + "unicode": "\ue65a" | ||
| 46 | + }, | ||
| 47 | + { | ||
| 48 | + "font_class": "camera-filled", | ||
| 49 | + "unicode": "\ue658" | ||
| 50 | + }, | ||
| 51 | + { | ||
| 52 | + "font_class": "cart", | ||
| 53 | + "unicode": "\ue631" | ||
| 54 | + }, | ||
| 55 | + { | ||
| 56 | + "font_class": "cart-filled", | ||
| 57 | + "unicode": "\ue6d0" | ||
| 58 | + }, | ||
| 59 | + { | ||
| 60 | + "font_class": "chat", | ||
| 61 | + "unicode": "\ue65d" | ||
| 62 | + }, | ||
| 63 | + { | ||
| 64 | + "font_class": "chat-filled", | ||
| 65 | + "unicode": "\ue659" | ||
| 66 | + }, | ||
| 67 | + { | ||
| 68 | + "font_class": "chatboxes", | ||
| 69 | + "unicode": "\ue696" | ||
| 70 | + }, | ||
| 71 | + { | ||
| 72 | + "font_class": "chatboxes-filled", | ||
| 73 | + "unicode": "\ue692" | ||
| 74 | + }, | ||
| 75 | + { | ||
| 76 | + "font_class": "chatbubble", | ||
| 77 | + "unicode": "\ue697" | ||
| 78 | + }, | ||
| 79 | + { | ||
| 80 | + "font_class": "chatbubble-filled", | ||
| 81 | + "unicode": "\ue694" | ||
| 82 | + }, | ||
| 83 | + { | ||
| 84 | + "font_class": "checkbox", | ||
| 85 | + "unicode": "\ue62b" | ||
| 86 | + }, | ||
| 87 | + { | ||
| 88 | + "font_class": "checkbox-filled", | ||
| 89 | + "unicode": "\ue62c" | ||
| 90 | + }, | ||
| 91 | + { | ||
| 92 | + "font_class": "checkmarkempty", | ||
| 93 | + "unicode": "\ue65c" | ||
| 94 | + }, | ||
| 95 | + { | ||
| 96 | + "font_class": "circle", | ||
| 97 | + "unicode": "\ue65b" | ||
| 98 | + }, | ||
| 99 | + { | ||
| 100 | + "font_class": "circle-filled", | ||
| 101 | + "unicode": "\ue65e" | ||
| 102 | + }, | ||
| 103 | + { | ||
| 104 | + "font_class": "clear", | ||
| 105 | + "unicode": "\ue66d" | ||
| 106 | + }, | ||
| 107 | + { | ||
| 108 | + "font_class": "close", | ||
| 109 | + "unicode": "\ue673" | ||
| 110 | + }, | ||
| 111 | + { | ||
| 112 | + "font_class": "closeempty", | ||
| 113 | + "unicode": "\ue66c" | ||
| 114 | + }, | ||
| 115 | + { | ||
| 116 | + "font_class": "cloud-download", | ||
| 117 | + "unicode": "\ue647" | ||
| 118 | + }, | ||
| 119 | + { | ||
| 120 | + "font_class": "cloud-download-filled", | ||
| 121 | + "unicode": "\ue646" | ||
| 122 | + }, | ||
| 123 | + { | ||
| 124 | + "font_class": "cloud-upload", | ||
| 125 | + "unicode": "\ue645" | ||
| 126 | + }, | ||
| 127 | + { | ||
| 128 | + "font_class": "cloud-upload-filled", | ||
| 129 | + "unicode": "\ue648" | ||
| 130 | + }, | ||
| 131 | + { | ||
| 132 | + "font_class": "color", | ||
| 133 | + "unicode": "\ue6cf" | ||
| 134 | + }, | ||
| 135 | + { | ||
| 136 | + "font_class": "color-filled", | ||
| 137 | + "unicode": "\ue6c9" | ||
| 138 | + }, | ||
| 139 | + { | ||
| 140 | + "font_class": "compose", | ||
| 141 | + "unicode": "\ue67f" | ||
| 142 | + }, | ||
| 143 | + { | ||
| 144 | + "font_class": "contact", | ||
| 145 | + "unicode": "\ue693" | ||
| 146 | + }, | ||
| 147 | + { | ||
| 148 | + "font_class": "contact-filled", | ||
| 149 | + "unicode": "\ue695" | ||
| 150 | + }, | ||
| 151 | + { | ||
| 152 | + "font_class": "down", | ||
| 153 | + "unicode": "\ue6b8" | ||
| 154 | + }, | ||
| 155 | + { | ||
| 156 | + "font_class": "bottom", | ||
| 157 | + "unicode": "\ue6b8" | ||
| 158 | + }, | ||
| 159 | + { | ||
| 160 | + "font_class": "download", | ||
| 161 | + "unicode": "\ue68d" | ||
| 162 | + }, | ||
| 163 | + { | ||
| 164 | + "font_class": "download-filled", | ||
| 165 | + "unicode": "\ue681" | ||
| 166 | + }, | ||
| 167 | + { | ||
| 168 | + "font_class": "email", | ||
| 169 | + "unicode": "\ue69e" | ||
| 170 | + }, | ||
| 171 | + { | ||
| 172 | + "font_class": "email-filled", | ||
| 173 | + "unicode": "\ue69a" | ||
| 174 | + }, | ||
| 175 | + { | ||
| 176 | + "font_class": "eye", | ||
| 177 | + "unicode": "\ue651" | ||
| 178 | + }, | ||
| 179 | + { | ||
| 180 | + "font_class": "eye-filled", | ||
| 181 | + "unicode": "\ue66a" | ||
| 182 | + }, | ||
| 183 | + { | ||
| 184 | + "font_class": "eye-slash", | ||
| 185 | + "unicode": "\ue6b3" | ||
| 186 | + }, | ||
| 187 | + { | ||
| 188 | + "font_class": "eye-slash-filled", | ||
| 189 | + "unicode": "\ue6b4" | ||
| 190 | + }, | ||
| 191 | + { | ||
| 192 | + "font_class": "fire", | ||
| 193 | + "unicode": "\ue6a1" | ||
| 194 | + }, | ||
| 195 | + { | ||
| 196 | + "font_class": "fire-filled", | ||
| 197 | + "unicode": "\ue6c5" | ||
| 198 | + }, | ||
| 199 | + { | ||
| 200 | + "font_class": "flag", | ||
| 201 | + "unicode": "\ue65f" | ||
| 202 | + }, | ||
| 203 | + { | ||
| 204 | + "font_class": "flag-filled", | ||
| 205 | + "unicode": "\ue660" | ||
| 206 | + }, | ||
| 207 | + { | ||
| 208 | + "font_class": "folder-add", | ||
| 209 | + "unicode": "\ue6a9" | ||
| 210 | + }, | ||
| 211 | + { | ||
| 212 | + "font_class": "folder-add-filled", | ||
| 213 | + "unicode": "\ue6c8" | ||
| 214 | + }, | ||
| 215 | + { | ||
| 216 | + "font_class": "font", | ||
| 217 | + "unicode": "\ue6a3" | ||
| 218 | + }, | ||
| 219 | + { | ||
| 220 | + "font_class": "forward", | ||
| 221 | + "unicode": "\ue6ba" | ||
| 222 | + }, | ||
| 223 | + { | ||
| 224 | + "font_class": "gear", | ||
| 225 | + "unicode": "\ue664" | ||
| 226 | + }, | ||
| 227 | + { | ||
| 228 | + "font_class": "gear-filled", | ||
| 229 | + "unicode": "\ue661" | ||
| 230 | + }, | ||
| 231 | + { | ||
| 232 | + "font_class": "gift", | ||
| 233 | + "unicode": "\ue6a4" | ||
| 234 | + }, | ||
| 235 | + { | ||
| 236 | + "font_class": "gift-filled", | ||
| 237 | + "unicode": "\ue6c4" | ||
| 238 | + }, | ||
| 239 | + { | ||
| 240 | + "font_class": "hand-down", | ||
| 241 | + "unicode": "\ue63d" | ||
| 242 | + }, | ||
| 243 | + { | ||
| 244 | + "font_class": "hand-down-filled", | ||
| 245 | + "unicode": "\ue63c" | ||
| 246 | + }, | ||
| 247 | + { | ||
| 248 | + "font_class": "hand-up", | ||
| 249 | + "unicode": "\ue63f" | ||
| 250 | + }, | ||
| 251 | + { | ||
| 252 | + "font_class": "hand-up-filled", | ||
| 253 | + "unicode": "\ue63e" | ||
| 254 | + }, | ||
| 255 | + { | ||
| 256 | + "font_class": "headphones", | ||
| 257 | + "unicode": "\ue630" | ||
| 258 | + }, | ||
| 259 | + { | ||
| 260 | + "font_class": "heart", | ||
| 261 | + "unicode": "\ue639" | ||
| 262 | + }, | ||
| 263 | + { | ||
| 264 | + "font_class": "heart-filled", | ||
| 265 | + "unicode": "\ue641" | ||
| 266 | + }, | ||
| 267 | + { | ||
| 268 | + "font_class": "help", | ||
| 269 | + "unicode": "\ue679" | ||
| 270 | + }, | ||
| 271 | + { | ||
| 272 | + "font_class": "help-filled", | ||
| 273 | + "unicode": "\ue674" | ||
| 274 | + }, | ||
| 275 | + { | ||
| 276 | + "font_class": "home", | ||
| 277 | + "unicode": "\ue662" | ||
| 278 | + }, | ||
| 279 | + { | ||
| 280 | + "font_class": "home-filled", | ||
| 281 | + "unicode": "\ue663" | ||
| 282 | + }, | ||
| 283 | + { | ||
| 284 | + "font_class": "image", | ||
| 285 | + "unicode": "\ue670" | ||
| 286 | + }, | ||
| 287 | + { | ||
| 288 | + "font_class": "image-filled", | ||
| 289 | + "unicode": "\ue678" | ||
| 290 | + }, | ||
| 291 | + { | ||
| 292 | + "font_class": "images", | ||
| 293 | + "unicode": "\ue650" | ||
| 294 | + }, | ||
| 295 | + { | ||
| 296 | + "font_class": "images-filled", | ||
| 297 | + "unicode": "\ue64b" | ||
| 298 | + }, | ||
| 299 | + { | ||
| 300 | + "font_class": "info", | ||
| 301 | + "unicode": "\ue669" | ||
| 302 | + }, | ||
| 303 | + { | ||
| 304 | + "font_class": "info-filled", | ||
| 305 | + "unicode": "\ue649" | ||
| 306 | + }, | ||
| 307 | + { | ||
| 308 | + "font_class": "left", | ||
| 309 | + "unicode": "\ue6b7" | ||
| 310 | + }, | ||
| 311 | + { | ||
| 312 | + "font_class": "link", | ||
| 313 | + "unicode": "\ue6a5" | ||
| 314 | + }, | ||
| 315 | + { | ||
| 316 | + "font_class": "list", | ||
| 317 | + "unicode": "\ue644" | ||
| 318 | + }, | ||
| 319 | + { | ||
| 320 | + "font_class": "location", | ||
| 321 | + "unicode": "\ue6ae" | ||
| 322 | + }, | ||
| 323 | + { | ||
| 324 | + "font_class": "location-filled", | ||
| 325 | + "unicode": "\ue6af" | ||
| 326 | + }, | ||
| 327 | + { | ||
| 328 | + "font_class": "locked", | ||
| 329 | + "unicode": "\ue66b" | ||
| 330 | + }, | ||
| 331 | + { | ||
| 332 | + "font_class": "locked-filled", | ||
| 333 | + "unicode": "\ue668" | ||
| 334 | + }, | ||
| 335 | + { | ||
| 336 | + "font_class": "loop", | ||
| 337 | + "unicode": "\ue633" | ||
| 338 | + }, | ||
| 339 | + { | ||
| 340 | + "font_class": "mail-open", | ||
| 341 | + "unicode": "\ue643" | ||
| 342 | + }, | ||
| 343 | + { | ||
| 344 | + "font_class": "mail-open-filled", | ||
| 345 | + "unicode": "\ue63a" | ||
| 346 | + }, | ||
| 347 | + { | ||
| 348 | + "font_class": "map", | ||
| 349 | + "unicode": "\ue667" | ||
| 350 | + }, | ||
| 351 | + { | ||
| 352 | + "font_class": "map-filled", | ||
| 353 | + "unicode": "\ue666" | ||
| 354 | + }, | ||
| 355 | + { | ||
| 356 | + "font_class": "map-pin", | ||
| 357 | + "unicode": "\ue6ad" | ||
| 358 | + }, | ||
| 359 | + { | ||
| 360 | + "font_class": "map-pin-ellipse", | ||
| 361 | + "unicode": "\ue6ac" | ||
| 362 | + }, | ||
| 363 | + { | ||
| 364 | + "font_class": "medal", | ||
| 365 | + "unicode": "\ue6a2" | ||
| 366 | + }, | ||
| 367 | + { | ||
| 368 | + "font_class": "medal-filled", | ||
| 369 | + "unicode": "\ue6c3" | ||
| 370 | + }, | ||
| 371 | + { | ||
| 372 | + "font_class": "mic", | ||
| 373 | + "unicode": "\ue671" | ||
| 374 | + }, | ||
| 375 | + { | ||
| 376 | + "font_class": "mic-filled", | ||
| 377 | + "unicode": "\ue677" | ||
| 378 | + }, | ||
| 379 | + { | ||
| 380 | + "font_class": "micoff", | ||
| 381 | + "unicode": "\ue67e" | ||
| 382 | + }, | ||
| 383 | + { | ||
| 384 | + "font_class": "micoff-filled", | ||
| 385 | + "unicode": "\ue6b0" | ||
| 386 | + }, | ||
| 387 | + { | ||
| 388 | + "font_class": "minus", | ||
| 389 | + "unicode": "\ue66f" | ||
| 390 | + }, | ||
| 391 | + { | ||
| 392 | + "font_class": "minus-filled", | ||
| 393 | + "unicode": "\ue67d" | ||
| 394 | + }, | ||
| 395 | + { | ||
| 396 | + "font_class": "more", | ||
| 397 | + "unicode": "\ue64d" | ||
| 398 | + }, | ||
| 399 | + { | ||
| 400 | + "font_class": "more-filled", | ||
| 401 | + "unicode": "\ue64e" | ||
| 402 | + }, | ||
| 403 | + { | ||
| 404 | + "font_class": "navigate", | ||
| 405 | + "unicode": "\ue66e" | ||
| 406 | + }, | ||
| 407 | + { | ||
| 408 | + "font_class": "navigate-filled", | ||
| 409 | + "unicode": "\ue67a" | ||
| 410 | + }, | ||
| 411 | + { | ||
| 412 | + "font_class": "notification", | ||
| 413 | + "unicode": "\ue6a6" | ||
| 414 | + }, | ||
| 415 | + { | ||
| 416 | + "font_class": "notification-filled", | ||
| 417 | + "unicode": "\ue6c1" | ||
| 418 | + }, | ||
| 419 | + { | ||
| 420 | + "font_class": "paperclip", | ||
| 421 | + "unicode": "\ue652" | ||
| 422 | + }, | ||
| 423 | + { | ||
| 424 | + "font_class": "paperplane", | ||
| 425 | + "unicode": "\ue672" | ||
| 426 | + }, | ||
| 427 | + { | ||
| 428 | + "font_class": "paperplane-filled", | ||
| 429 | + "unicode": "\ue675" | ||
| 430 | + }, | ||
| 431 | + { | ||
| 432 | + "font_class": "person", | ||
| 433 | + "unicode": "\ue699" | ||
| 434 | + }, | ||
| 435 | + { | ||
| 436 | + "font_class": "person-filled", | ||
| 437 | + "unicode": "\ue69d" | ||
| 438 | + }, | ||
| 439 | + { | ||
| 440 | + "font_class": "personadd", | ||
| 441 | + "unicode": "\ue69f" | ||
| 442 | + }, | ||
| 443 | + { | ||
| 444 | + "font_class": "personadd-filled", | ||
| 445 | + "unicode": "\ue698" | ||
| 446 | + }, | ||
| 447 | + { | ||
| 448 | + "font_class": "personadd-filled-copy", | ||
| 449 | + "unicode": "\ue6d1" | ||
| 450 | + }, | ||
| 451 | + { | ||
| 452 | + "font_class": "phone", | ||
| 453 | + "unicode": "\ue69c" | ||
| 454 | + }, | ||
| 455 | + { | ||
| 456 | + "font_class": "phone-filled", | ||
| 457 | + "unicode": "\ue69b" | ||
| 458 | + }, | ||
| 459 | + { | ||
| 460 | + "font_class": "plus", | ||
| 461 | + "unicode": "\ue676" | ||
| 462 | + }, | ||
| 463 | + { | ||
| 464 | + "font_class": "plus-filled", | ||
| 465 | + "unicode": "\ue6c7" | ||
| 466 | + }, | ||
| 467 | + { | ||
| 468 | + "font_class": "plusempty", | ||
| 469 | + "unicode": "\ue67b" | ||
| 470 | + }, | ||
| 471 | + { | ||
| 472 | + "font_class": "pulldown", | ||
| 473 | + "unicode": "\ue632" | ||
| 474 | + }, | ||
| 475 | + { | ||
| 476 | + "font_class": "pyq", | ||
| 477 | + "unicode": "\ue682" | ||
| 478 | + }, | ||
| 479 | + { | ||
| 480 | + "font_class": "qq", | ||
| 481 | + "unicode": "\ue680" | ||
| 482 | + }, | ||
| 483 | + { | ||
| 484 | + "font_class": "redo", | ||
| 485 | + "unicode": "\ue64a" | ||
| 486 | + }, | ||
| 487 | + { | ||
| 488 | + "font_class": "redo-filled", | ||
| 489 | + "unicode": "\ue655" | ||
| 490 | + }, | ||
| 491 | + { | ||
| 492 | + "font_class": "refresh", | ||
| 493 | + "unicode": "\ue657" | ||
| 494 | + }, | ||
| 495 | + { | ||
| 496 | + "font_class": "refresh-filled", | ||
| 497 | + "unicode": "\ue656" | ||
| 498 | + }, | ||
| 499 | + { | ||
| 500 | + "font_class": "refreshempty", | ||
| 501 | + "unicode": "\ue6bf" | ||
| 502 | + }, | ||
| 503 | + { | ||
| 504 | + "font_class": "reload", | ||
| 505 | + "unicode": "\ue6b2" | ||
| 506 | + }, | ||
| 507 | + { | ||
| 508 | + "font_class": "right", | ||
| 509 | + "unicode": "\ue6b5" | ||
| 510 | + }, | ||
| 511 | + { | ||
| 512 | + "font_class": "scan", | ||
| 513 | + "unicode": "\ue62a" | ||
| 514 | + }, | ||
| 515 | + { | ||
| 516 | + "font_class": "search", | ||
| 517 | + "unicode": "\ue654" | ||
| 518 | + }, | ||
| 519 | + { | ||
| 520 | + "font_class": "settings", | ||
| 521 | + "unicode": "\ue653" | ||
| 522 | + }, | ||
| 523 | + { | ||
| 524 | + "font_class": "settings-filled", | ||
| 525 | + "unicode": "\ue6ce" | ||
| 526 | + }, | ||
| 527 | + { | ||
| 528 | + "font_class": "shop", | ||
| 529 | + "unicode": "\ue62f" | ||
| 530 | + }, | ||
| 531 | + { | ||
| 532 | + "font_class": "shop-filled", | ||
| 533 | + "unicode": "\ue6cd" | ||
| 534 | + }, | ||
| 535 | + { | ||
| 536 | + "font_class": "smallcircle", | ||
| 537 | + "unicode": "\ue67c" | ||
| 538 | + }, | ||
| 539 | + { | ||
| 540 | + "font_class": "smallcircle-filled", | ||
| 541 | + "unicode": "\ue665" | ||
| 542 | + }, | ||
| 543 | + { | ||
| 544 | + "font_class": "sound", | ||
| 545 | + "unicode": "\ue684" | ||
| 546 | + }, | ||
| 547 | + { | ||
| 548 | + "font_class": "sound-filled", | ||
| 549 | + "unicode": "\ue686" | ||
| 550 | + }, | ||
| 551 | + { | ||
| 552 | + "font_class": "spinner-cycle", | ||
| 553 | + "unicode": "\ue68a" | ||
| 554 | + }, | ||
| 555 | + { | ||
| 556 | + "font_class": "staff", | ||
| 557 | + "unicode": "\ue6a7" | ||
| 558 | + }, | ||
| 559 | + { | ||
| 560 | + "font_class": "staff-filled", | ||
| 561 | + "unicode": "\ue6cb" | ||
| 562 | + }, | ||
| 563 | + { | ||
| 564 | + "font_class": "star", | ||
| 565 | + "unicode": "\ue688" | ||
| 566 | + }, | ||
| 567 | + { | ||
| 568 | + "font_class": "star-filled", | ||
| 569 | + "unicode": "\ue68f" | ||
| 570 | + }, | ||
| 571 | + { | ||
| 572 | + "font_class": "starhalf", | ||
| 573 | + "unicode": "\ue683" | ||
| 574 | + }, | ||
| 575 | + { | ||
| 576 | + "font_class": "trash", | ||
| 577 | + "unicode": "\ue687" | ||
| 578 | + }, | ||
| 579 | + { | ||
| 580 | + "font_class": "trash-filled", | ||
| 581 | + "unicode": "\ue685" | ||
| 582 | + }, | ||
| 583 | + { | ||
| 584 | + "font_class": "tune", | ||
| 585 | + "unicode": "\ue6aa" | ||
| 586 | + }, | ||
| 587 | + { | ||
| 588 | + "font_class": "tune-filled", | ||
| 589 | + "unicode": "\ue6ca" | ||
| 590 | + }, | ||
| 591 | + { | ||
| 592 | + "font_class": "undo", | ||
| 593 | + "unicode": "\ue64f" | ||
| 594 | + }, | ||
| 595 | + { | ||
| 596 | + "font_class": "undo-filled", | ||
| 597 | + "unicode": "\ue64c" | ||
| 598 | + }, | ||
| 599 | + { | ||
| 600 | + "font_class": "up", | ||
| 601 | + "unicode": "\ue6b6" | ||
| 602 | + }, | ||
| 603 | + { | ||
| 604 | + "font_class": "top", | ||
| 605 | + "unicode": "\ue6b6" | ||
| 606 | + }, | ||
| 607 | + { | ||
| 608 | + "font_class": "upload", | ||
| 609 | + "unicode": "\ue690" | ||
| 610 | + }, | ||
| 611 | + { | ||
| 612 | + "font_class": "upload-filled", | ||
| 613 | + "unicode": "\ue68e" | ||
| 614 | + }, | ||
| 615 | + { | ||
| 616 | + "font_class": "videocam", | ||
| 617 | + "unicode": "\ue68c" | ||
| 618 | + }, | ||
| 619 | + { | ||
| 620 | + "font_class": "videocam-filled", | ||
| 621 | + "unicode": "\ue689" | ||
| 622 | + }, | ||
| 623 | + { | ||
| 624 | + "font_class": "vip", | ||
| 625 | + "unicode": "\ue6a8" | ||
| 626 | + }, | ||
| 627 | + { | ||
| 628 | + "font_class": "vip-filled", | ||
| 629 | + "unicode": "\ue6c6" | ||
| 630 | + }, | ||
| 631 | + { | ||
| 632 | + "font_class": "wallet", | ||
| 633 | + "unicode": "\ue6b1" | ||
| 634 | + }, | ||
| 635 | + { | ||
| 636 | + "font_class": "wallet-filled", | ||
| 637 | + "unicode": "\ue6c2" | ||
| 638 | + }, | ||
| 639 | + { | ||
| 640 | + "font_class": "weibo", | ||
| 641 | + "unicode": "\ue68b" | ||
| 642 | + }, | ||
| 643 | + { | ||
| 644 | + "font_class": "weixin", | ||
| 645 | + "unicode": "\ue691" | ||
| 646 | + } | ||
| 647 | +] | ||
| 648 | + | ||
| 649 | +// export const fontData = JSON.parse<IconsDataItem>(fontDataJson) |
uni_modules/uni-icons/package.json
0 → 100644
| 1 | +{ | ||
| 2 | + "id": "uni-icons", | ||
| 3 | + "displayName": "uni-icons 图标", | ||
| 4 | + "version": "2.0.10", | ||
| 5 | + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", | ||
| 6 | + "keywords": [ | ||
| 7 | + "uni-ui", | ||
| 8 | + "uniui", | ||
| 9 | + "icon", | ||
| 10 | + "图标" | ||
| 11 | +], | ||
| 12 | + "repository": "https://github.com/dcloudio/uni-ui", | ||
| 13 | + "engines": { | ||
| 14 | + "HBuilderX": "^3.2.14" | ||
| 15 | + }, | ||
| 16 | + "directories": { | ||
| 17 | + "example": "../../temps/example_temps" | ||
| 18 | + }, | ||
| 19 | +"dcloudext": { | ||
| 20 | + "sale": { | ||
| 21 | + "regular": { | ||
| 22 | + "price": "0.00" | ||
| 23 | + }, | ||
| 24 | + "sourcecode": { | ||
| 25 | + "price": "0.00" | ||
| 26 | + } | ||
| 27 | + }, | ||
| 28 | + "contact": { | ||
| 29 | + "qq": "" | ||
| 30 | + }, | ||
| 31 | + "declaration": { | ||
| 32 | + "ads": "无", | ||
| 33 | + "data": "无", | ||
| 34 | + "permissions": "无" | ||
| 35 | + }, | ||
| 36 | + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", | ||
| 37 | + "type": "component-vue" | ||
| 38 | + }, | ||
| 39 | + "uni_modules": { | ||
| 40 | + "dependencies": ["uni-scss"], | ||
| 41 | + "encrypt": [], | ||
| 42 | + "platforms": { | ||
| 43 | + "cloud": { | ||
| 44 | + "tcb": "y", | ||
| 45 | + "aliyun": "y", | ||
| 46 | + "alipay": "n" | ||
| 47 | + }, | ||
| 48 | + "client": { | ||
| 49 | + "App": { | ||
| 50 | + "app-vue": "y", | ||
| 51 | + "app-nvue": "y", | ||
| 52 | + "app-uvue": "y" | ||
| 53 | + }, | ||
| 54 | + "H5-mobile": { | ||
| 55 | + "Safari": "y", | ||
| 56 | + "Android Browser": "y", | ||
| 57 | + "微信浏览器(Android)": "y", | ||
| 58 | + "QQ浏览器(Android)": "y" | ||
| 59 | + }, | ||
| 60 | + "H5-pc": { | ||
| 61 | + "Chrome": "y", | ||
| 62 | + "IE": "y", | ||
| 63 | + "Edge": "y", | ||
| 64 | + "Firefox": "y", | ||
| 65 | + "Safari": "y" | ||
| 66 | + }, | ||
| 67 | + "小程序": { | ||
| 68 | + "微信": "y", | ||
| 69 | + "阿里": "y", | ||
| 70 | + "百度": "y", | ||
| 71 | + "字节跳动": "y", | ||
| 72 | + "QQ": "y", | ||
| 73 | + "钉钉": "y", | ||
| 74 | + "快手": "y", | ||
| 75 | + "飞书": "y", | ||
| 76 | + "京东": "y" | ||
| 77 | + }, | ||
| 78 | + "快应用": { | ||
| 79 | + "华为": "y", | ||
| 80 | + "联盟": "y" | ||
| 81 | + }, | ||
| 82 | + "Vue": { | ||
| 83 | + "vue2": "y", | ||
| 84 | + "vue3": "y" | ||
| 85 | + } | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | +} |
uni_modules/uni-icons/readme.md
0 → 100644
uni_modules/uni-pagination/changelog.md
0 → 100644
| 1 | +## 1.2.4(2022-09-19) | ||
| 2 | +- 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 | ||
| 3 | +- 修复,未对移动端当前页文字做主题色适配。 | ||
| 4 | +## 1.2.3(2022-09-15) | ||
| 5 | +- 修复未使用 uni-scss 主题色的 bug。 | ||
| 6 | +## 1.2.2(2022-07-06) | ||
| 7 | +- 修复 es 语言 i18n 错误 | ||
| 8 | +## 1.2.1(2021-11-22) | ||
| 9 | +- 修复 vue3中某些scss变量无法找到的问题 | ||
| 10 | +## 1.2.0(2021-11-19) | ||
| 11 | +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) | ||
| 12 | +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination) | ||
| 13 | +## 1.1.2(2021-10-08) | ||
| 14 | +- 修复 current 、value 属性未监听,导致高亮样式失效的 bug | ||
| 15 | +## 1.1.1(2021-08-20) | ||
| 16 | +- 新增 支持国际化 | ||
| 17 | +## 1.1.0(2021-07-30) | ||
| 18 | +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) | ||
| 19 | +## 1.0.7(2021-05-12) | ||
| 20 | +- 新增 组件示例地址 | ||
| 21 | +## 1.0.6(2021-04-12) | ||
| 22 | +- 新增 PC 和 移动端适配不同的 ui | ||
| 23 | +## 1.0.5(2021-02-05) | ||
| 24 | +- 优化 组件引用关系,通过uni_modules引用组件 | ||
| 25 | + | ||
| 26 | +## 1.0.4(2021-02-05) | ||
| 27 | +- 调整为uni_modules目录规范 |
| 1 | +<template> | ||
| 2 | + <view class="uni-pagination"> | ||
| 3 | + <!-- #ifndef MP --> | ||
| 4 | + <picker v-if="showPageSize === true || showPageSize === 'true'" class="select-picker" mode="selector" | ||
| 5 | + :value="pageSizeIndex" :range="pageSizeRange" @change="pickerChange" @cancel="pickerClick" | ||
| 6 | + @click.native="pickerClick"> | ||
| 7 | + <button type="default" size="mini" :plain="true"> | ||
| 8 | + <text>{{pageSizeRange[pageSizeIndex]}} {{piecePerPage}}</text> | ||
| 9 | + <uni-icons class="select-picker-icon" type="arrowdown" size="12" color="#999"></uni-icons> | ||
| 10 | + </button> | ||
| 11 | + </picker> | ||
| 12 | + <!-- #endif --> | ||
| 13 | + <!-- #ifndef APP-NVUE --> | ||
| 14 | + <view class="uni-pagination__total is-phone-hide">共 {{ total }} 条</view> | ||
| 15 | + <!-- #endif --> | ||
| 16 | + <view class="uni-pagination__btn" | ||
| 17 | + :class="currentIndex === 1 ? 'uni-pagination--disabled' : 'uni-pagination--enabled'" | ||
| 18 | + :hover-class="currentIndex === 1 ? '' : 'uni-pagination--hover'" :hover-start-time="20" | ||
| 19 | + :hover-stay-time="70" @click="clickLeft"> | ||
| 20 | + <template v-if="showIcon === true || showIcon === 'true'"> | ||
| 21 | + <uni-icons color="#666" size="16" type="left" /> | ||
| 22 | + </template> | ||
| 23 | + <template v-else> | ||
| 24 | + <text class="uni-pagination__child-btn">{{ prevPageText }}</text> | ||
| 25 | + </template> | ||
| 26 | + </view> | ||
| 27 | + <view class="uni-pagination__num uni-pagination__num-flex-none"> | ||
| 28 | + <view class="uni-pagination__num-current"> | ||
| 29 | + <text class="uni-pagination__num-current-text is-pc-hide current-index-text">{{ currentIndex }}</text> | ||
| 30 | + <text class="uni-pagination__num-current-text is-pc-hide">/{{ maxPage || 0 }}</text> | ||
| 31 | + <!-- #ifndef APP-NVUE --> | ||
| 32 | + <view v-for="(item, index) in paper" :key="index" :class="{ 'page--active': item === currentIndex }" | ||
| 33 | + class="uni-pagination__num-tag tag--active is-phone-hide" @click.top="selectPage(item, index)"> | ||
| 34 | + <text>{{ item }}</text> | ||
| 35 | + </view> | ||
| 36 | + <!-- #endif --> | ||
| 37 | + | ||
| 38 | + </view> | ||
| 39 | + </view> | ||
| 40 | + <view class="uni-pagination__btn" | ||
| 41 | + :class="currentIndex >= maxPage ? 'uni-pagination--disabled' : 'uni-pagination--enabled'" | ||
| 42 | + :hover-class="currentIndex === maxPage ? '' : 'uni-pagination--hover'" :hover-start-time="20" | ||
| 43 | + :hover-stay-time="70" @click="clickRight"> | ||
| 44 | + <template v-if="showIcon === true || showIcon === 'true'"> | ||
| 45 | + <uni-icons color="#666" size="16" type="right" /> | ||
| 46 | + </template> | ||
| 47 | + <template v-else> | ||
| 48 | + <text class="uni-pagination__child-btn">{{ nextPageText }}</text> | ||
| 49 | + </template> | ||
| 50 | + </view> | ||
| 51 | + </view> | ||
| 52 | +</template> | ||
| 53 | + | ||
| 54 | +<script> | ||
| 55 | + /** | ||
| 56 | + * Pagination 分页器 | ||
| 57 | + * @description 分页器组件,用于展示页码、请求数据等 | ||
| 58 | + * @tutorial https://ext.dcloud.net.cn/plugin?id=32 | ||
| 59 | + * @property {String} prevText 左侧按钮文字 | ||
| 60 | + * @property {String} nextText 右侧按钮文字 | ||
| 61 | + * @property {String} piecePerPageText 条/页文字 | ||
| 62 | + * @property {Number} current 当前页 | ||
| 63 | + * @property {Number} total 数据总量 | ||
| 64 | + * @property {Number} pageSize 每页数据量 | ||
| 65 | + * @property {Boolean} showIcon = [true|false] 是否以 icon 形式展示按钮 | ||
| 66 | + * @property {Boolean} showPageSize = [true|false] 是否展示每页条数 | ||
| 67 | + * @property {Array} pageSizeRange = [20, 50, 100, 500] 每页条数选框 | ||
| 68 | + * @event {Function} change 点击页码按钮时触发 ,e={type,current} current为当前页,type值为:next/prev,表示点击的是上一页还是下一个 | ||
| 69 | + * * @event {Function} pageSizeChange 当前每页条数改变时触发 ,e={pageSize} pageSize 为当前所选的每页条数 | ||
| 70 | + */ | ||
| 71 | + | ||
| 72 | + import { | ||
| 73 | + initVueI18n | ||
| 74 | + } from '@dcloudio/uni-i18n' | ||
| 75 | + import messages from './i18n/index.js' | ||
| 76 | + const { | ||
| 77 | + t | ||
| 78 | + } = initVueI18n(messages) | ||
| 79 | + export default { | ||
| 80 | + name: 'UniPagination', | ||
| 81 | + emits: ['update:modelValue', 'input', 'change', 'pageSizeChange'], | ||
| 82 | + props: { | ||
| 83 | + value: { | ||
| 84 | + type: [Number, String], | ||
| 85 | + default: 1 | ||
| 86 | + }, | ||
| 87 | + modelValue: { | ||
| 88 | + type: [Number, String], | ||
| 89 | + default: 1 | ||
| 90 | + }, | ||
| 91 | + prevText: { | ||
| 92 | + type: String, | ||
| 93 | + }, | ||
| 94 | + nextText: { | ||
| 95 | + type: String, | ||
| 96 | + }, | ||
| 97 | + piecePerPageText: { | ||
| 98 | + type: String | ||
| 99 | + }, | ||
| 100 | + current: { | ||
| 101 | + type: [Number, String], | ||
| 102 | + default: 1 | ||
| 103 | + }, | ||
| 104 | + total: { | ||
| 105 | + // 数据总量 | ||
| 106 | + type: [Number, String], | ||
| 107 | + default: 0 | ||
| 108 | + }, | ||
| 109 | + pageSize: { | ||
| 110 | + // 每页数据量 | ||
| 111 | + type: [Number, String], | ||
| 112 | + default: 10 | ||
| 113 | + }, | ||
| 114 | + showIcon: { | ||
| 115 | + // 是否以 icon 形式展示按钮 | ||
| 116 | + type: [Boolean, String], | ||
| 117 | + default: false | ||
| 118 | + }, | ||
| 119 | + showPageSize: { | ||
| 120 | + // 是否以 icon 形式展示按钮 | ||
| 121 | + type: [Boolean, String], | ||
| 122 | + default: false | ||
| 123 | + }, | ||
| 124 | + pagerCount: { | ||
| 125 | + type: Number, | ||
| 126 | + default: 7 | ||
| 127 | + }, | ||
| 128 | + pageSizeRange: { | ||
| 129 | + type: Array, | ||
| 130 | + default: () => [20, 50, 100, 500] | ||
| 131 | + } | ||
| 132 | + }, | ||
| 133 | + data() { | ||
| 134 | + return { | ||
| 135 | + pageSizeIndex: 0, | ||
| 136 | + currentIndex: 1, | ||
| 137 | + paperData: [], | ||
| 138 | + pickerShow: false | ||
| 139 | + } | ||
| 140 | + }, | ||
| 141 | + computed: { | ||
| 142 | + piecePerPage() { | ||
| 143 | + return this.piecePerPageText || t('uni-pagination.piecePerPage') | ||
| 144 | + }, | ||
| 145 | + prevPageText() { | ||
| 146 | + return this.prevText || t('uni-pagination.prevText') | ||
| 147 | + }, | ||
| 148 | + nextPageText() { | ||
| 149 | + return this.nextText || t('uni-pagination.nextText') | ||
| 150 | + }, | ||
| 151 | + maxPage() { | ||
| 152 | + let maxPage = 1 | ||
| 153 | + let total = Number(this.total) | ||
| 154 | + let pageSize = Number(this.pageSize) | ||
| 155 | + if (total && pageSize) { | ||
| 156 | + maxPage = Math.ceil(total / pageSize) | ||
| 157 | + } | ||
| 158 | + return maxPage | ||
| 159 | + }, | ||
| 160 | + paper() { | ||
| 161 | + const num = this.currentIndex | ||
| 162 | + // TODO 最大页数 | ||
| 163 | + const pagerCount = this.pagerCount | ||
| 164 | + // const total = 181 | ||
| 165 | + const total = this.total | ||
| 166 | + const pageSize = this.pageSize | ||
| 167 | + let totalArr = [] | ||
| 168 | + let showPagerArr = [] | ||
| 169 | + let pagerNum = Math.ceil(total / pageSize) | ||
| 170 | + for (let i = 0; i < pagerNum; i++) { | ||
| 171 | + totalArr.push(i + 1) | ||
| 172 | + } | ||
| 173 | + showPagerArr.push(1) | ||
| 174 | + const totalNum = totalArr[totalArr.length - (pagerCount + 1) / 2] | ||
| 175 | + totalArr.forEach((item, index) => { | ||
| 176 | + if ((pagerCount + 1) / 2 >= num) { | ||
| 177 | + if (item < pagerCount + 1 && item > 1) { | ||
| 178 | + showPagerArr.push(item) | ||
| 179 | + } | ||
| 180 | + } else if (num + 2 <= totalNum) { | ||
| 181 | + if (item > num - (pagerCount + 1) / 2 && item < num + (pagerCount + 1) / 2) { | ||
| 182 | + showPagerArr.push(item) | ||
| 183 | + } | ||
| 184 | + } else { | ||
| 185 | + if ((item > num - (pagerCount + 1) / 2 || pagerNum - pagerCount < item) && item < totalArr[ | ||
| 186 | + totalArr.length - 1]) { | ||
| 187 | + showPagerArr.push(item) | ||
| 188 | + } | ||
| 189 | + } | ||
| 190 | + }) | ||
| 191 | + if (pagerNum > pagerCount) { | ||
| 192 | + if ((pagerCount + 1) / 2 >= num) { | ||
| 193 | + showPagerArr[showPagerArr.length - 1] = '...' | ||
| 194 | + } else if (num + 2 <= totalNum) { | ||
| 195 | + showPagerArr[1] = '...' | ||
| 196 | + showPagerArr[showPagerArr.length - 1] = '...' | ||
| 197 | + } else { | ||
| 198 | + showPagerArr[1] = '...' | ||
| 199 | + } | ||
| 200 | + showPagerArr.push(totalArr[totalArr.length - 1]) | ||
| 201 | + } else { | ||
| 202 | + if ((pagerCount + 1) / 2 >= num) {} else if (num + 2 <= totalNum) {} else { | ||
| 203 | + showPagerArr.shift() | ||
| 204 | + showPagerArr.push(totalArr[totalArr.length - 1]) | ||
| 205 | + } | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + return showPagerArr | ||
| 209 | + } | ||
| 210 | + }, | ||
| 211 | + watch: { | ||
| 212 | + current: { | ||
| 213 | + immediate: true, | ||
| 214 | + handler(val, old) { | ||
| 215 | + if (val < 1) { | ||
| 216 | + this.currentIndex = 1 | ||
| 217 | + } else { | ||
| 218 | + this.currentIndex = val | ||
| 219 | + } | ||
| 220 | + } | ||
| 221 | + }, | ||
| 222 | + value: { | ||
| 223 | + immediate: true, | ||
| 224 | + handler(val) { | ||
| 225 | + if (Number(this.current) !== 1) return | ||
| 226 | + if (val < 1) { | ||
| 227 | + this.currentIndex = 1 | ||
| 228 | + } else { | ||
| 229 | + this.currentIndex = val | ||
| 230 | + } | ||
| 231 | + } | ||
| 232 | + }, | ||
| 233 | + pageSizeIndex(val) { | ||
| 234 | + this.$emit('pageSizeChange', this.pageSizeRange[val]) | ||
| 235 | + } | ||
| 236 | + }, | ||
| 237 | + methods: { | ||
| 238 | + pickerChange(e) { | ||
| 239 | + this.pageSizeIndex = e.detail.value | ||
| 240 | + this.pickerClick() | ||
| 241 | + }, | ||
| 242 | + pickerClick() { | ||
| 243 | + // #ifdef H5 | ||
| 244 | + const body = document.querySelector('body') | ||
| 245 | + if (!body) return | ||
| 246 | + | ||
| 247 | + const className = 'uni-pagination-picker-show' | ||
| 248 | + this.pickerShow = !this.pickerShow | ||
| 249 | + | ||
| 250 | + if (this.pickerShow) { | ||
| 251 | + body.classList.add(className) | ||
| 252 | + } else { | ||
| 253 | + setTimeout(() => body.classList.remove(className), 300) | ||
| 254 | + } | ||
| 255 | + // #endif | ||
| 256 | + }, | ||
| 257 | + // 选择标签 | ||
| 258 | + selectPage(e, index) { | ||
| 259 | + if (parseInt(e)) { | ||
| 260 | + this.currentIndex = e | ||
| 261 | + this.change('current') | ||
| 262 | + } else { | ||
| 263 | + let pagerNum = Math.ceil(this.total / this.pageSize) | ||
| 264 | + // let pagerNum = Math.ceil(181 / this.pageSize) | ||
| 265 | + // 上一页 | ||
| 266 | + if (index <= 1) { | ||
| 267 | + if (this.currentIndex - 5 > 1) { | ||
| 268 | + this.currentIndex -= 5 | ||
| 269 | + } else { | ||
| 270 | + this.currentIndex = 1 | ||
| 271 | + } | ||
| 272 | + return | ||
| 273 | + } | ||
| 274 | + // 下一页 | ||
| 275 | + if (index >= 6) { | ||
| 276 | + if (this.currentIndex + 5 > pagerNum) { | ||
| 277 | + this.currentIndex = pagerNum | ||
| 278 | + } else { | ||
| 279 | + this.currentIndex += 5 | ||
| 280 | + } | ||
| 281 | + return | ||
| 282 | + } | ||
| 283 | + } | ||
| 284 | + }, | ||
| 285 | + clickLeft() { | ||
| 286 | + if (Number(this.currentIndex) === 1) { | ||
| 287 | + return | ||
| 288 | + } | ||
| 289 | + this.currentIndex -= 1 | ||
| 290 | + this.change('prev') | ||
| 291 | + }, | ||
| 292 | + clickRight() { | ||
| 293 | + if (Number(this.currentIndex) >= this.maxPage) { | ||
| 294 | + return | ||
| 295 | + } | ||
| 296 | + this.currentIndex += 1 | ||
| 297 | + this.change('next') | ||
| 298 | + }, | ||
| 299 | + change(e) { | ||
| 300 | + this.$emit('input', this.currentIndex) | ||
| 301 | + this.$emit('update:modelValue', this.currentIndex) | ||
| 302 | + this.$emit('change', { | ||
| 303 | + type: e, | ||
| 304 | + current: this.currentIndex | ||
| 305 | + }) | ||
| 306 | + } | ||
| 307 | + } | ||
| 308 | + } | ||
| 309 | +</script> | ||
| 310 | + | ||
| 311 | +<style lang="scss" scoped> | ||
| 312 | + $uni-primary: #2979ff !default; | ||
| 313 | + .uni-pagination { | ||
| 314 | + /* #ifndef APP-NVUE */ | ||
| 315 | + display: flex; | ||
| 316 | + /* #endif */ | ||
| 317 | + position: relative; | ||
| 318 | + overflow: hidden; | ||
| 319 | + flex-direction: row; | ||
| 320 | + justify-content: center; | ||
| 321 | + align-items: center; | ||
| 322 | + } | ||
| 323 | + | ||
| 324 | + .uni-pagination__total { | ||
| 325 | + font-size: 14px; | ||
| 326 | + color: #999; | ||
| 327 | + margin-right: 15px; | ||
| 328 | + } | ||
| 329 | + | ||
| 330 | + .uni-pagination__btn { | ||
| 331 | + /* #ifndef APP-NVUE */ | ||
| 332 | + display: flex; | ||
| 333 | + cursor: pointer; | ||
| 334 | + /* #endif */ | ||
| 335 | + padding: 0 8px; | ||
| 336 | + line-height: 30px; | ||
| 337 | + font-size: 12px; | ||
| 338 | + position: relative; | ||
| 339 | + background-color: #F0F0F0; | ||
| 340 | + flex-direction: row; | ||
| 341 | + justify-content: center; | ||
| 342 | + align-items: center; | ||
| 343 | + text-align: center; | ||
| 344 | + border-radius: 5px; | ||
| 345 | + // border-width: 1px; | ||
| 346 | + // border-style: solid; | ||
| 347 | + // border-color: $uni-border-color; | ||
| 348 | + } | ||
| 349 | + | ||
| 350 | + .uni-pagination__child-btn { | ||
| 351 | + /* #ifndef APP-NVUE */ | ||
| 352 | + display: flex; | ||
| 353 | + /* #endif */ | ||
| 354 | + font-size: 12px; | ||
| 355 | + position: relative; | ||
| 356 | + flex-direction: row; | ||
| 357 | + justify-content: center; | ||
| 358 | + align-items: center; | ||
| 359 | + text-align: center; | ||
| 360 | + color: #666; | ||
| 361 | + font-size: 12px; | ||
| 362 | + } | ||
| 363 | + | ||
| 364 | + .uni-pagination__num { | ||
| 365 | + /* #ifndef APP-NVUE */ | ||
| 366 | + display: flex; | ||
| 367 | + /* #endif */ | ||
| 368 | + flex: 1; | ||
| 369 | + flex-direction: row; | ||
| 370 | + justify-content: center; | ||
| 371 | + align-items: center; | ||
| 372 | + height: 30px; | ||
| 373 | + line-height: 30px; | ||
| 374 | + font-size: 12px; | ||
| 375 | + color: #666; | ||
| 376 | + margin: 0 5px; | ||
| 377 | + } | ||
| 378 | + | ||
| 379 | + .uni-pagination__num-tag { | ||
| 380 | + /* #ifdef H5 */ | ||
| 381 | + cursor: pointer; | ||
| 382 | + min-width: 30px; | ||
| 383 | + /* #endif */ | ||
| 384 | + margin: 0 5px; | ||
| 385 | + height: 30px; | ||
| 386 | + text-align: center; | ||
| 387 | + line-height: 30px; | ||
| 388 | + // border: 1px red solid; | ||
| 389 | + color: #999; | ||
| 390 | + border-radius: 4px; | ||
| 391 | + // border-width: 1px; | ||
| 392 | + // border-style: solid; | ||
| 393 | + // border-color: $uni-border-color; | ||
| 394 | + } | ||
| 395 | + | ||
| 396 | + .uni-pagination__num-current { | ||
| 397 | + /* #ifndef APP-NVUE */ | ||
| 398 | + display: flex; | ||
| 399 | + /* #endif */ | ||
| 400 | + flex-direction: row; | ||
| 401 | + } | ||
| 402 | + | ||
| 403 | + .uni-pagination__num-current-text { | ||
| 404 | + font-size: 15px; | ||
| 405 | + } | ||
| 406 | + | ||
| 407 | + .current-index-text{ | ||
| 408 | + color: $uni-primary; | ||
| 409 | + } | ||
| 410 | + | ||
| 411 | + .uni-pagination--enabled { | ||
| 412 | + color: #333333; | ||
| 413 | + opacity: 1; | ||
| 414 | + } | ||
| 415 | + | ||
| 416 | + .uni-pagination--disabled { | ||
| 417 | + opacity: 0.5; | ||
| 418 | + /* #ifdef H5 */ | ||
| 419 | + cursor: default; | ||
| 420 | + /* #endif */ | ||
| 421 | + } | ||
| 422 | + | ||
| 423 | + .uni-pagination--hover { | ||
| 424 | + color: rgba(0, 0, 0, 0.6); | ||
| 425 | + background-color: #eee; | ||
| 426 | + } | ||
| 427 | + | ||
| 428 | + .tag--active:hover { | ||
| 429 | + color: $uni-primary; | ||
| 430 | + } | ||
| 431 | + | ||
| 432 | + .page--active { | ||
| 433 | + color: #fff; | ||
| 434 | + background-color: $uni-primary; | ||
| 435 | + } | ||
| 436 | + | ||
| 437 | + .page--active:hover { | ||
| 438 | + color: #fff; | ||
| 439 | + } | ||
| 440 | + | ||
| 441 | + /* #ifndef APP-NVUE */ | ||
| 442 | + .is-pc-hide { | ||
| 443 | + display: block; | ||
| 444 | + } | ||
| 445 | + | ||
| 446 | + .is-phone-hide { | ||
| 447 | + display: none; | ||
| 448 | + } | ||
| 449 | + | ||
| 450 | + @media screen and (min-width: 450px) { | ||
| 451 | + .is-pc-hide { | ||
| 452 | + display: none; | ||
| 453 | + } | ||
| 454 | + | ||
| 455 | + .is-phone-hide { | ||
| 456 | + display: block; | ||
| 457 | + } | ||
| 458 | + | ||
| 459 | + .uni-pagination__num-flex-none { | ||
| 460 | + flex: none; | ||
| 461 | + } | ||
| 462 | + } | ||
| 463 | + | ||
| 464 | + /* #endif */ | ||
| 465 | +</style> |
uni_modules/uni-pagination/package.json
0 → 100644
| 1 | +{ | ||
| 2 | + "id": "uni-pagination", | ||
| 3 | + "displayName": "uni-pagination 分页器", | ||
| 4 | + "version": "1.2.4", | ||
| 5 | + "description": "Pagination 分页器组件,用于展示页码、请求数据等。", | ||
| 6 | + "keywords": [ | ||
| 7 | + "uni-ui", | ||
| 8 | + "uniui", | ||
| 9 | + "分页器", | ||
| 10 | + "页码" | ||
| 11 | +], | ||
| 12 | + "repository": "https://github.com/dcloudio/uni-ui", | ||
| 13 | + "engines": { | ||
| 14 | + "HBuilderX": "" | ||
| 15 | + }, | ||
| 16 | + "directories": { | ||
| 17 | + "example": "../../temps/example_temps" | ||
| 18 | + }, | ||
| 19 | +"dcloudext": { | ||
| 20 | + "sale": { | ||
| 21 | + "regular": { | ||
| 22 | + "price": "0.00" | ||
| 23 | + }, | ||
| 24 | + "sourcecode": { | ||
| 25 | + "price": "0.00" | ||
| 26 | + } | ||
| 27 | + }, | ||
| 28 | + "contact": { | ||
| 29 | + "qq": "" | ||
| 30 | + }, | ||
| 31 | + "declaration": { | ||
| 32 | + "ads": "无", | ||
| 33 | + "data": "无", | ||
| 34 | + "permissions": "无" | ||
| 35 | + }, | ||
| 36 | + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", | ||
| 37 | + "type": "component-vue" | ||
| 38 | + }, | ||
| 39 | + "uni_modules": { | ||
| 40 | + "dependencies": ["uni-scss","uni-icons"], | ||
| 41 | + "encrypt": [], | ||
| 42 | + "platforms": { | ||
| 43 | + "cloud": { | ||
| 44 | + "tcb": "y", | ||
| 45 | + "aliyun": "y" | ||
| 46 | + }, | ||
| 47 | + "client": { | ||
| 48 | + "App": { | ||
| 49 | + "app-vue": "y", | ||
| 50 | + "app-nvue": "y" | ||
| 51 | + }, | ||
| 52 | + "H5-mobile": { | ||
| 53 | + "Safari": "y", | ||
| 54 | + "Android Browser": "y", | ||
| 55 | + "微信浏览器(Android)": "y", | ||
| 56 | + "QQ浏览器(Android)": "y" | ||
| 57 | + }, | ||
| 58 | + "H5-pc": { | ||
| 59 | + "Chrome": "y", | ||
| 60 | + "IE": "y", | ||
| 61 | + "Edge": "y", | ||
| 62 | + "Firefox": "y", | ||
| 63 | + "Safari": "y" | ||
| 64 | + }, | ||
| 65 | + "小程序": { | ||
| 66 | + "微信": "y", | ||
| 67 | + "阿里": "y", | ||
| 68 | + "百度": "y", | ||
| 69 | + "字节跳动": "y", | ||
| 70 | + "QQ": "y" | ||
| 71 | + }, | ||
| 72 | + "快应用": { | ||
| 73 | + "华为": "u", | ||
| 74 | + "联盟": "u" | ||
| 75 | + }, | ||
| 76 | + "Vue": { | ||
| 77 | + "vue2": "y", | ||
| 78 | + "vue3": "y" | ||
| 79 | + } | ||
| 80 | + } | ||
| 81 | + } | ||
| 82 | + } | ||
| 83 | +} |
uni_modules/uni-pagination/readme.md
0 → 100644
| 1 | -"use strict";const t=require("../uni_modules/uview-plus/index.js");exports.carInfoAdd=e=>t.http.post("/registration/add",e,{custom:{auth:!0}}),exports.getCodeImg=e=>t.http.get("/captchaImage"),exports.getNotice=e=>t.http.get(`/system/notice/${e}`,{custom:{auth:!0}}),exports.getUserCarInfo=e=>t.http.get("/registration/listRegistration",{params:e,custom:{auth:!0}}),exports.getUserInfo=e=>t.http.get("/system/user/profile",{custom:{auth:!0}}),exports.updateUserInfo=e=>t.http.put("/system/user/profile",e,{custom:{auth:!0}}),exports.userLogin=e=>t.http.post("/login",e),exports.userWxLogin=(e,s={})=>t.http.post("/wechat/login",e,s); | 1 | +"use strict";const t=require("../uni_modules/uview-plus/index.js");exports.carInfoAdd=e=>t.http.post("/registration/add",e,{custom:{auth:!0}}),exports.carInfoEdit=e=>t.http.post("/registration/edit",e,{custom:{auth:!0}}),exports.getCodeImg=e=>t.http.get("/captchaImage"),exports.getNotice=e=>t.http.get(`/system/notice/${e}`,{custom:{auth:!0}}),exports.getUserCarInfo=e=>t.http.get("/registration/listRegistration",{params:e,custom:{auth:!0}}),exports.getUserInfo=e=>t.http.get("/system/user/profile",{custom:{auth:!0}}),exports.updateUserInfo=e=>t.http.put("/system/user/profile",e,{custom:{auth:!0}}),exports.userCancel=()=>t.http.get("/system/user/deRegistration",{custom:{auth:!0}}),exports.userLogin=e=>t.http.post("/login",e),exports.userWxLogin=(e,s={})=>t.http.post("/wechat/login",e,s); |
| 1 | -"use strict";const t=require("../uni_modules/uview-plus/index.js");exports.disposeUser=(s,e)=>t.http.post(`/registration/completeTask/${e}`,s,{custom:{auth:!0}}),exports.getUserList=s=>t.http.post("/system/user/otherEmployee",s,{custom:{auth:!0}}),exports.queryContinueList=s=>t.http.get("/registration/monitor/listReports",{params:s,custom:{auth:!0}}),exports.queryEndedList=s=>t.http.get("/registration/monitor/listEnded",{params:s,custom:{auth:!0}}),exports.queryMyList=s=>t.http.get("/registration/mylist",{params:s,custom:{auth:!0}}),exports.transfer=(s,e)=>t.http.post(`/registratiom/transferTask/${e}`,s,{custom:{auth:!0}}); | 1 | +"use strict";const t=require("../uni_modules/uview-plus/index.js");exports.disposeUser=(s,e)=>t.http.post(`/registration/completeTask/${e}`,s,{custom:{auth:!0}}),exports.getUserList=s=>t.http.get("/system/user/otherEmployee",{params:s,custom:{auth:!0}}),exports.listDept=s=>t.http.get("/system/dept/list",{params:s,custom:{auth:!0}}),exports.queryContinueList=s=>t.http.get("/registration/monitor/listReports",{params:s,custom:{auth:!0}}),exports.queryDefeatContent=s=>t.http.get("/registration/monitor/getComment",{params:s,custom:{auth:!0}}),exports.queryDeprecatedList=s=>t.http.get("/registration/monitor/listDeprecated",{params:s,custom:{auth:!0}}),exports.queryEndedList=s=>t.http.get("/registration/monitor/listEnded",{params:s,custom:{auth:!0}}),exports.queryMyList=s=>t.http.get("/registration/mylist",{params:s,custom:{auth:!0}}),exports.queryOngoingList=s=>t.http.get("/registration/monitor/listOngoing",{params:s,custom:{auth:!0}}),exports.queryProcessedList=s=>t.http.get("/registration/monitor/listProcessed",{params:s,custom:{auth:!0}}),exports.queryResult=s=>t.http.get("/registration/monitor/getResult",{params:s,custom:{auth:!0}}),exports.transfer=(s,e)=>t.http.post(`/registratiom/transferTask/${e}`,s,{custom:{auth:!0}}); |
-
请 注册 或 登录 后发表评论