Commit 22e0a07b29bf943637874ef87049b49ba9d23165

Authored by 史婷婷
1 parent 5b78347a

feat: 客户开发管理-列表&筛选-暂存

1 1 import request from '@/utils/request'
  2 +import { ContentTypeEnum } from '@/utils/httpEnum';
  3 +
  4 +
2 5 /**
3 6 * 根据编号获取数据字段
4 7 * @param code
... ... @@ -11,4 +14,17 @@ export function getDicByCodeApi(code) {
11 14 code
12 15 },
13 16 })
  17 +}
  18 +
  19 +/**
  20 + * 上传文件
  21 + * @param data
  22 + */
  23 +export function uploadFileApi(data) {
  24 + return request({
  25 + url: `/sw/filebox/uploadFile`,
  26 + method: 'post',
  27 + data,
  28 + contentType: ContentTypeEnum.BLOB
  29 + })
14 30 }
\ No newline at end of file
... ...
  1 +import request from '@/utils/request'
  2 +import { ContentTypeEnum } from '@/utils/httpEnum';
  3 +
  4 +
  5 +// 查询列表
  6 +export function queryApi(params) {
  7 + return request({
  8 + url: `/customerCredit/query`,
  9 + method: 'get',
  10 + params
  11 + })
  12 +}
  13 +
  14 +// 取消
  15 +export function cancelApi(id) {
  16 + return request({
  17 + url: `/customerCredit/cancel`,
  18 + method: 'get',
  19 + params: { id }
  20 + })
  21 +}
  22 +
  23 +// 根据ID查询详情数据
  24 +export function getDetailApi(id) {
  25 + return request({
  26 + url: `/customerCredit/getById`,
  27 + method: 'get',
  28 + params: { id }
  29 + })
  30 +}
  31 +
  32 +// 生成客户资信编号
  33 +export function generateCreditCode() {
  34 + return request({
  35 + url: `/customerCredit/generateCode`,
  36 + method: 'get'
  37 + })
  38 +}
  39 +
  40 +// 根据ID查询客户资信详情(审核、审核详情)
  41 +export function getExamineById(id) {
  42 + return request({
  43 + url: `/customerCredit/getExamineById`,
  44 + method: 'get',
  45 + params: { id }
  46 + })
  47 +}
  48 +
  49 +// 新增保存
  50 +export function createApi(params) {
  51 + return request({
  52 + url: `/customerCredit/add`,
  53 + method: 'post',
  54 + data: params,
  55 + contentType: ContentTypeEnum.JSON
  56 + })
  57 +}
  58 +
  59 +
  60 +// 修改保存
  61 +export function updateApi(params) {
  62 + return request({
  63 + url: `/customerCredit/update`,
  64 + method: 'put',
  65 + data: params,
  66 + contentType: ContentTypeEnum.JSON
  67 + })
  68 +}
  69 +
  70 +// 客户资信变更记录列表查询
  71 +export function getByIdCreditHistoryList(creditId) {
  72 + return request({
  73 + url: `/customerCreditHistory/customerCreditHistoryList`,
  74 + method: 'get',
  75 + params: {
  76 + creditId,
  77 + },
  78 + })
  79 +}
  80 +
  81 +
  82 +// 客户资信审核变更记录列表查询
  83 +export function getByIdExamineCustomerCreditHistoryList(creditId) {
  84 + return request({
  85 + url: `/customerCreditHistory/examineCustomerCreditHistoryList`,
  86 + method: 'get',
  87 + params: {
  88 + creditId,
  89 + },
  90 + })
  91 +}
  92 +
  93 +// 客户资信变更详情查询
  94 +export function getCreditHistoryList(id) {
  95 + return request({
  96 + url: `/customerCreditHistory/getById`,
  97 + method: 'get',
  98 + params: {
  99 + id,
  100 + },
  101 + })
  102 +}
  103 +
  104 +// 删除
  105 +export function deleteById(id) {
  106 + return request({
  107 + url: '/customerCredit/deleteById?id=' + id,
  108 + method: 'get',
  109 + params: {
  110 + id,
  111 + },
  112 + })
  113 +}
  114 +
  115 +// 查询部门下所有用户
  116 +export function getAllUser() {
  117 + return request({
  118 + url: '/customerCredit/getAllUser',
  119 + method: 'get',
  120 + })
  121 +}
  122 +
  123 +// 查询部门下所有用户
  124 +export function getDeptUser() {
  125 + return request({
  126 + url: '/customerCredit/getDeptUser',
  127 + method: 'get',
  128 + })
  129 +}
\ No newline at end of file
... ...
... ... @@ -19,8 +19,8 @@
19 19 }, {
20 20 "path": "pages/mine/index",
21 21 "style": {
22   - "navigationBarTitleText": "我的",
23   - "navigationBarTextStyle": "white"
  22 + "navigationBarTitleText": "我的",
  23 + "navigationBarTextStyle": "white"
24 24 }
25 25 }, {
26 26 "path": "pages/mine/index2",
... ... @@ -35,17 +35,17 @@
35 35 }, {
36 36 "path": "pages/mine/pwd/index",
37 37 "style": {
38   - "navigationBarTitleText": "修改密码"
  38 + "navigationBarTitleText": "修改密码"
39 39 }
40 40 }, {
41 41 "path": "pages/mine/setting/index",
42 42 "style": {
43   - "navigationBarTitleText": "应用设置"
  43 + "navigationBarTitleText": "应用设置"
44 44 }
45 45 }, {
46 46 "path": "pages/mine/about/index",
47 47 "style": {
48   - "navigationBarTitleText": "关于我们"
  48 + "navigationBarTitleText": "关于我们"
49 49 }
50 50 }, {
51 51 "path": "pages/dev_manage/index",
... ... @@ -60,28 +60,35 @@
60 60 "navigationBarTitleText": "新增客户开发",
61 61 "navigationBarBackgroundColor": "#ffffff",
62 62 "navigationBarTextStyle": "black"
63   - }
64   - }, {
  63 + }
  64 + }, {
65 65 "path": "pages/dev_manage/modify",
66 66 "style": {
67 67 "navigationBarTitleText": "编辑客户开发",
68 68 "navigationBarBackgroundColor": "#ffffff",
69 69 "navigationBarTextStyle": "black"
70   - }
71   - }, {
  70 + }
  71 + }, {
72 72 "path": "pages/dev_manage/add",
73 73 "style": {
74 74 "navigationBarTitleText": "新增客户开发",
75 75 "navigationBarBackgroundColor": "#ffffff",
76 76 "navigationBarTextStyle": "black"
77   - }
  77 + }
78 78 }, {
79 79 "path": "pages/dev_manage/detail",
80 80 "style": {
81 81 "navigationBarTitleText": "查看客户开发",
82 82 "navigationBarBackgroundColor": "#ffffff",
83 83 "navigationBarTextStyle": "black"
84   - }
  84 + }
  85 + }, {
  86 + "path": "pages/credit_manage/index",
  87 + "style": {
  88 + "navigationBarTitleText": "客户资信管理",
  89 + "navigationBarBackgroundColor": "#ffffff",
  90 + "navigationBarTextStyle": "black"
  91 + }
85 92 },
86 93 {
87 94 "path": "pages/flow/myflow",
... ... @@ -157,11 +164,9 @@
157 164 }
158 165 }
159 166 ],
160   - "subPackages": [
161   - {
  167 + "subPackages": [{
162 168 "root": "pages-business",
163   - "pages": [
164   - {
  169 + "pages": [{
165 170 "path": "purchase/config",
166 171 "style": {
167 172 "navigationBarTitleText": "采购设置"
... ... @@ -195,8 +200,7 @@
195 200 },
196 201 {
197 202 "root": "pages-data",
198   - "pages": [
199   - {
  203 + "pages": [{
200 204 "path": "address/index",
201 205 "style": {
202 206 "navigationBarTitleText": "地址管理"
... ... @@ -277,16 +281,16 @@
277 281 ]
278 282 }
279 283 ],
280   - "tabBar": {
281   - "color": "rgba(0,0,0,0.9)",
282   - "backgroundColor": "#ffffff",
283   - "borderStyle": "white",
  284 + "tabBar": {
  285 + "color": "rgba(0,0,0,0.9)",
  286 + "backgroundColor": "#ffffff",
  287 + "borderStyle": "white",
284 288 "list": [{
285 289 "pagePath": "pages/index",
286 290 "iconPath": "static/images/tabbar/home.png",
287 291 "selectedIconPath": "static/images/tabbar/home_act.png",
288 292 "text": "首页"
289   - },{
  293 + }, {
290 294 "pagePath": "pages/mine/index",
291 295 "iconPath": "static/images/tabbar/mine.png",
292 296 "selectedIconPath": "static/images/tabbar/mine_act.png",
... ... @@ -298,4 +302,4 @@
298 302 "navigationBarBackgroundColor": "$theme-primary",
299 303 "navigationBarTextStyle": "white"
300 304 }
301   -}
  305 +}
\ No newline at end of file
... ...
  1 +<template>
  2 + <view class="page">
  3 + <view class="dev-list-fixed">
  4 + <view class="search-row">
  5 + <uni-search-bar v-model="searchKeyword" radius="6" placeholder="请输入客户名称" clearButton="auto"
  6 + cancelButton="none" bgColor="#F3F3F3" textColor="rgba(0,0,0,0.4)" @confirm="search"
  7 + @input="onSearchInput" />
  8 + <view class="tool-icons">
  9 + <image class="tool-icon" src="/static/images/dev_manage/filter_icon.png" @click="openFilter" />
  10 + </view>
  11 + </view>
  12 + </view>
  13 +
  14 +
  15 + <!-- 列表卡片组件 -->
  16 + <view class="list-box">
  17 + <card-list ref="cardRef" :fetch-fn="fetchList" :query="query" :extra="extraParams" row-key="id"
  18 + :enable-refresh="true" :enable-load-more="true" @loaded="onCardLoaded" @error="onCardError">
  19 + <template v-slot="{ item, selected }">
  20 + <view class="card" @click.stop="onCardClick(item)">
  21 + <view class="card-header">
  22 + <text class="title omit2">{{ item.companyName }}</text>
  23 + <view class="status-box">
  24 + <text
  25 + :class="['status2', `status2_${item.frozenStatus === '正常' ? '1' : '2'}`]">{{ item.frozenStatus }}</text>
  26 + <text
  27 + :class="['status', `status_${item.status}`]">{{ getDicName('AUDIT_STATUS', item.status, dicOptions.AUDIT_STATUS) }}</text>
  28 + </view>
  29 + </view>
  30 + <view class="info-row">
  31 + <text>企业类型</text><text>{{ getDicName('ENTERPRISE_TYPE', item.enterpriseType, dicOptions.ENTERPRISE_TYPE) || '-' }}</text>
  32 + </view>
  33 + <view class="info-row">
  34 + <text>区域</text><text>{{ item.region || '-' }}</text>
  35 + </view>
  36 + <view class="info-row">
  37 + <text>客户分类</text><text
  38 + :class="[item.companySuggestedCategory ? 'category' : '']">{{ getDicName('CUSTOMER_CATEGORY', item.companySuggestedCategory, dicOptions.CUSTOMER_CATEGORY) || '-' }}</text>
  39 + </view>
  40 + <view class="info-row">
  41 + <text>登记日期</text><text>{{ item.registerDate || '-' }}</text>
  42 + </view>
  43 + </view>
  44 + </template>
  45 + </card-list>
  46 + </view>
  47 +
  48 +
  49 +
  50 + <!-- 筛选弹框 -->
  51 + <filter-modal :visible.sync="filterVisible" :value.sync="filterForm" title="筛选" @reset="onFilterReset"
  52 + @confirm="onFilterConfirm">
  53 + <template v-slot="{ model }">
  54 + <view class="filter-form">
  55 + <view class="form-item">
  56 + <view class="label">审核状态</view>
  57 + <uni-data-checkbox mode="tag" :multiple="false" :value-field="'value'" :text-field="'text'"
  58 + v-model="model.status" @change="onStatusChange" :localdata="statusLocal" />
  59 + </view>
  60 + <view class="form-item">
  61 + <view class="label">客户分类</view>
  62 + <uni-data-checkbox mode="tag" :multiple="false" :value-field="'value'" :text-field="'text'"
  63 + v-model="model.companySuggestedCategory" @change="onCategoryChange"
  64 + :localdata="categoryLocal" />
  65 + </view>
  66 + <view class="form-item">
  67 + <view class="label">登记日期</view>
  68 + <uni-datetime-picker type="daterange" v-model="model.dateRange" start="2023-01-01" />
  69 + </view>
  70 + </view>
  71 + </template>
  72 + </filter-modal>
  73 + </view>
  74 +</template>
  75 +
  76 +<script>
  77 + import CardList from '@/components/card/index.vue'
  78 + import FilterModal from '@/components/filter/index.vue'
  79 + import SingleSelectSheet from '@/components/single-select/index.vue'
  80 + import {
  81 + queryApi
  82 + } from '@/api/credit_manage.js'
  83 + import {
  84 + getDicByCodes
  85 + } from '@/utils/dic'
  86 + import {
  87 + getDicName
  88 + } from '@/utils/dic.js'
  89 +
  90 + export default {
  91 + components: {
  92 + CardList,
  93 + FilterModal,
  94 + SingleSelectSheet
  95 + },
  96 + data() {
  97 + return {
  98 + searchKeyword: '',
  99 + searchKeywordDebounced: '',
  100 + tabs: [],
  101 + // 给到 card 的筛选值
  102 + query: {
  103 + status: '',
  104 + companySuggestedCategory: '',
  105 + dateRange: []
  106 + },
  107 + extraParams: {},
  108 +
  109 + // 批量选择
  110 + rowKey: 'id',
  111 + currentItems: [],
  112 +
  113 + // 筛选弹框
  114 + filterVisible: false,
  115 + filterForm: {
  116 + status: '',
  117 + companySuggestedCategory: '',
  118 + dateRange: []
  119 + },
  120 + dicOptions: {
  121 + CUSTOMER_CATEGORY: [],
  122 + AUDIT_STATUS: [],
  123 + ENTERPRISE_TYPE: []
  124 + },
  125 + statusLocal: [],
  126 + categoryLocal: []
  127 + }
  128 + },
  129 + computed: {
  130 + extraCombined() {
  131 + return {
  132 + customerName: this.searchKeywordDebounced || undefined
  133 + }
  134 + }
  135 + },
  136 + watch: {
  137 + extraCombined: {
  138 + deep: true,
  139 + handler(v) {
  140 + this.extraParams = v
  141 + },
  142 + immediate: true
  143 + },
  144 +
  145 + },
  146 + created() {
  147 + this.loadAllDicData()
  148 + },
  149 + onLoad() {},
  150 + // 页面触底兜底:当页面自身滚动到底部时,转调卡片组件加载更多
  151 + onReachBottom() {
  152 + if (this.$refs && this.$refs.cardRef && this.$refs.cardRef.onLoadMore) {
  153 + this.$refs.cardRef.onLoadMore()
  154 + }
  155 + },
  156 + beforeDestroy() {
  157 + if (this.searchDebounceTimer) {
  158 + clearTimeout(this.searchDebounceTimer)
  159 + this.searchDebounceTimer = null
  160 + }
  161 + },
  162 + methods: {
  163 + onCardLoaded({
  164 + items
  165 + }) {
  166 + this.currentItems = items
  167 + },
  168 + onCardError() {
  169 + uni.showToast({
  170 + title: '列表加载失败',
  171 + icon: 'none'
  172 + })
  173 + },
  174 + // 输入实时搜索:1200ms 防抖,仅在停止输入超过阈值后刷新
  175 + onSearchInput(val) {
  176 + if (this.searchDebounceTimer) clearTimeout(this.searchDebounceTimer)
  177 + this.searchDebounceTimer = setTimeout(() => {
  178 + this.searchKeywordDebounced = this.searchKeyword
  179 + this.searchDebounceTimer = null
  180 + }, 1200)
  181 + },
  182 + // uni-search-bar 确认搜索:更新关键字并触发 CardList 刷新
  183 + search(e) {
  184 + const val = e && e.value != null ? e.value : this.searchKeyword
  185 + this.searchKeyword = val
  186 + this.searchKeywordDebounced = val
  187 + },
  188 +
  189 + openFilter() {
  190 + this.filterVisible = true
  191 + },
  192 + onFilterReset(payload) {
  193 + this.filterForm = payload
  194 + },
  195 + onFilterConfirm(payload) {
  196 + if ((payload.status === '' || payload.status == null) && this.filterForm.status !== '') {
  197 + payload.status = this.filterForm.status
  198 + }
  199 + if ((payload.companySuggestedCategory === '' || payload.companySuggestedCategory == null) && this
  200 + .filterForm
  201 + .companySuggestedCategory !== '') {
  202 + payload.companySuggestedCategory = this.filterForm.companySuggestedCategory
  203 + }
  204 + this.query = {
  205 + ...payload
  206 + }
  207 + },
  208 + onStatusChange(e) {
  209 + const raw = e && e.detail && e.detail.value !== undefined ?
  210 + e.detail.value :
  211 + (e && e.value !== undefined ? e.value : '')
  212 + this.filterForm.status = raw
  213 + },
  214 + onCategoryChange(e) {
  215 + const raw = e && e.detail && e.detail.value !== undefined ? e.detail.value : (e && e.value !== undefined ?
  216 + e.value : '')
  217 + this.filterForm.companySuggestedCategory = raw
  218 + },
  219 +
  220 +
  221 + onAdd() {
  222 + uni.navigateTo({
  223 + url: '/pages/dev_manage/add'
  224 + })
  225 + },
  226 + // 列表接口(真实请求)
  227 + fetchList({
  228 + pageIndex,
  229 + pageSize,
  230 + query,
  231 + extra
  232 + }) {
  233 + const params = {
  234 + pageIndex,
  235 + pageSize,
  236 + ...extra,
  237 + ...query
  238 + }
  239 + if (Array.isArray(params.dateRange) && params.dateRange.length === 2) {
  240 + params.registerDateStart = params.dateRange[0] + ' 00:00:00'
  241 + params.registerDateEnd = params.dateRange[1] + ' 23:59:59'
  242 + delete params.dateRange
  243 + }
  244 + if (this.searchKeywordDebounced) {
  245 + params.customerName = this.searchKeywordDebounced
  246 + }
  247 + return queryApi(params)
  248 + .then(res => {
  249 + const _data = res.data || {};
  250 + const records = _data.datas || [];
  251 + const totalCount = _data.totalCount || 0;
  252 + const hasNext = _data.hasNext || false
  253 + return {
  254 + records,
  255 + totalCount,
  256 + hasNext
  257 + }
  258 + })
  259 + .catch(err => {
  260 + console.error('fetchList error', err)
  261 + this.onCardError()
  262 + return {
  263 + records: [],
  264 + totalCount: 0,
  265 + hasNext: false
  266 + }
  267 + })
  268 + },
  269 + loadAllDicData() {
  270 + const dicCodes = ['CUSTOMER_CATEGORY', 'AUDIT_STATUS', 'ENTERPRISE_TYPE']
  271 + return getDicByCodes(dicCodes).then(results => {
  272 + this.dicOptions.CUSTOMER_CATEGORY = results.CUSTOMER_CATEGORY.data || []
  273 + this.dicOptions.AUDIT_STATUS = results.AUDIT_STATUS.data || []
  274 + this.dicOptions.ENTERPRISE_TYPE = results.ENTERPRISE_TYPE.data || []
  275 + this.categoryLocal = (this.dicOptions.CUSTOMER_CATEGORY || []).map(it => ({
  276 + value: it.code,
  277 + text: it.name
  278 + }))
  279 + this.statusLocal = (this.dicOptions.AUDIT_STATUS || []).map(it => ({
  280 + value: it.code,
  281 + text: it.name
  282 + }))
  283 + }).catch(() => {
  284 + this.dicOptions = {
  285 + CUSTOMER_CATEGORY: [],
  286 + AUDIT_STATUS: [],
  287 + ENTERPRISE_TYPE: []
  288 + }
  289 + this.categoryLocal = []
  290 + this.statusLocal = []
  291 + })
  292 + },
  293 + onCardClick(item) {
  294 + const id = (item && (item.id || item.code)) || ''
  295 + if (!id) return
  296 + const query = '?id=' + encodeURIComponent(id)
  297 + uni.navigateTo({
  298 + url: '/pages/credit_manage/detail' + query
  299 + })
  300 + },
  301 + getDicName: getDicName
  302 +
  303 + }
  304 + }
  305 +</script>
  306 +
  307 +<style lang="scss" scoped>
  308 + .page {
  309 + display: flex;
  310 + flex-direction: column;
  311 + height: 100vh;
  312 + }
  313 +
  314 + .dev-list-fixed {
  315 + position: fixed;
  316 + top: 96rpx;
  317 + left: 0;
  318 + right: 0;
  319 + z-index: 2;
  320 + background: #fff;
  321 +
  322 + .search-row {
  323 + display: flex;
  324 + align-items: center;
  325 + padding: 16rpx 32rpx;
  326 +
  327 + .uni-searchbar {
  328 + padding: 0;
  329 + flex: 1;
  330 + }
  331 +
  332 + .tool-icons {
  333 + display: flex;
  334 +
  335 + .tool-icon {
  336 + width: 48rpx;
  337 + height: 48rpx;
  338 + display: block;
  339 + margin-left: 32rpx;
  340 + }
  341 + }
  342 + }
  343 +
  344 + }
  345 +
  346 + /* 仅当前页覆盖 uni-search-bar 盒子高度 */
  347 + ::v-deep .uni-searchbar__box {
  348 + height: 80rpx !important;
  349 + justify-content: start;
  350 +
  351 + .uni-searchbar__box-search-input {
  352 + font-size: 32rpx !important;
  353 + }
  354 + }
  355 +
  356 + .list-box {
  357 + flex: 1;
  358 + padding-top: 132rpx;
  359 +
  360 + &.pad-batch {
  361 + padding-bottom: 144rpx;
  362 + }
  363 +
  364 + .card {
  365 + position: relative;
  366 + }
  367 +
  368 + .card-header {
  369 + margin-bottom: 28rpx;
  370 + position: relative;
  371 +
  372 + .title {
  373 + font-size: 36rpx;
  374 + font-weight: 600;
  375 + line-height: 50rpx;
  376 + color: #323241;
  377 + width: 578rpx;
  378 + }
  379 +
  380 + .status-box {
  381 + position: absolute;
  382 + top: -32rpx;
  383 + right: -32rpx;
  384 +
  385 + .status {
  386 + display: inline-block;
  387 + height: 48rpx;
  388 + line-height: 48rpx;
  389 + font-weight: 600;
  390 + color: #fff;
  391 + font-size: 24rpx;
  392 + padding: 0 14rpx;
  393 + border-radius: 6rpx;
  394 + margin-left: 8rpx;
  395 +
  396 + &.status_AUDIT {
  397 + background: #3D48A3;
  398 + }
  399 +
  400 + &.status_PASS {
  401 + background: #2BA471;
  402 + }
  403 +
  404 + &.status_REFUSE {
  405 + background: #D54941;
  406 + }
  407 +
  408 + &.status_CANCEL {
  409 + background: #E7E7E7;
  410 + color: #323241;
  411 + }
  412 + }
  413 +
  414 + .status2 {
  415 + display: inline-block;
  416 + font-weight: 600;
  417 + line-height: 48rpx;
  418 + height: 48rpx;
  419 + color: #fff;
  420 + font-size: 24rpx;
  421 + padding: 0 14rpx;
  422 + border-radius: 6rpx;
  423 +
  424 + &.status2_1 {
  425 + background: #2BA471;
  426 + }
  427 +
  428 + &.status2_2 {
  429 + background: #E7E7E7;
  430 + color: #323241;
  431 + }
  432 +
  433 + }
  434 +
  435 + }
  436 +
  437 + }
  438 +
  439 + .info-row {
  440 + display: flex;
  441 + align-items: center;
  442 + color: rgba(0, 0, 0, 0.6);
  443 + font-size: 28rpx;
  444 + margin-bottom: 24rpx;
  445 +
  446 + &:last-child {
  447 + margin-bottom: 0;
  448 + }
  449 +
  450 + text {
  451 + width: 60%;
  452 + line-height: 32rpx;
  453 +
  454 + &:last-child {
  455 + color: rgba(0, 0, 0, 0.9);
  456 + width: 40%;
  457 + }
  458 +
  459 + &.category {
  460 + display: inline-block;
  461 + padding: 4rpx 12rpx;
  462 + border-radius: 6rpx;
  463 + font-size: 24rpx;
  464 + background: #E3F9E9;
  465 + color: #2BA471;
  466 + width: auto;
  467 + }
  468 + }
  469 +
  470 + }
  471 + }
  472 +
  473 + .filter-form {
  474 + .form-item {
  475 + margin-bottom: 24rpx;
  476 + }
  477 +
  478 + .label {
  479 + margin-bottom: 20rpx;
  480 + color: rgba(0, 0, 0, 0.9);
  481 + height: 44rpx;
  482 + line-height: 44rpx;
  483 + font-size: 30rpx;
  484 + }
  485 +
  486 + .fake-select {
  487 + height: 80rpx;
  488 + line-height: 80rpx;
  489 + padding: 0 20rpx;
  490 + background: #f3f3f3;
  491 + border-radius: 12rpx;
  492 +
  493 + .placeholder {
  494 + color: #999;
  495 + }
  496 +
  497 + .value {
  498 + color: #333;
  499 + }
  500 + }
  501 + }
  502 +
  503 + /* 深度覆盖 uni-data-checkbox(mode=tag)内部的 tag 展示与间距 */
  504 + ::v-deep .filter-form .uni-data-checklist .checklist-group {
  505 + .checklist-box {
  506 + &.is--tag {
  507 + width: 212rpx;
  508 + margin-top: 0;
  509 + margin-bottom: 24rpx;
  510 + margin-right: 24rpx;
  511 + height: 80rpx;
  512 + padding: 0;
  513 + border-radius: 12rpx;
  514 + background-color: #f3f3f3;
  515 + border-color: #f3f3f3;
  516 +
  517 + &:nth-child(3n) {
  518 + margin-right: 0;
  519 + }
  520 +
  521 + .checklist-content {
  522 + display: flex;
  523 + justify-content: center;
  524 + }
  525 +
  526 + .checklist-text {
  527 + color: rgba(0, 0, 0, 0.9);
  528 + font-size: 28rpx;
  529 + }
  530 + }
  531 +
  532 + &.is-checked {
  533 + background-color: $theme-primary-plain-bg !important;
  534 + border-color: $theme-primary-plain-bg !important;
  535 +
  536 + .checklist-text {
  537 + color: $theme-primary !important;
  538 + }
  539 + }
  540 + }
  541 +
  542 + }
  543 +
  544 +</style>
\ No newline at end of file
... ...
... ... @@ -599,7 +599,6 @@
599 599 }
600 600
601 601 .status {
602   - font-size: 30rpx;
603 602 font-weight: 600;
604 603 position: absolute;
605 604 top: -32rpx;
... ...
... ... @@ -34,6 +34,7 @@ export function getDicByCodes(codes) {
34 34 * @returns {string}
35 35 */
36 36 export function getDicName(code, value, items = []) {
  37 + console.log('getDicName', code, value, items);
37 38 const list = Array.isArray(items) ? items : [];
38 39 const item = list.find(it => it && it.code === value);
39 40 return item ? item.name : value;
... ...