|
|
@@ -1,66 +1,131 @@
|
|
|
<template>
|
|
|
- <view class="section" :style="{
|
|
|
- position: 'relative',
|
|
|
- zIndex: dropdownOpen || dropdownRegionOpen ? 9 : 'auto',
|
|
|
- }">
|
|
|
+ <view
|
|
|
+ class="section"
|
|
|
+ :style="{
|
|
|
+ position: 'relative',
|
|
|
+ zIndex: dropdownOpen || dropdownRegionOpen ? 9 : 'auto',
|
|
|
+ }"
|
|
|
+ >
|
|
|
<view v-if="showHeader" class="section-header">
|
|
|
<text class="section-title">{{ title }}</text>
|
|
|
<view :style="{ display: 'flex' }">
|
|
|
- <view v-if="showSelector && tableType === 'variety'" class="selector-wrap">
|
|
|
+ <view
|
|
|
+ v-if="showSelector && tableType === 'variety'"
|
|
|
+ class="selector-wrap"
|
|
|
+ >
|
|
|
<view class="selector" @click.stop="toggleDropdownRegion">
|
|
|
<text class="selector-text">{{
|
|
|
region?.regionCode ? region.regionName : "选择片区"
|
|
|
}}</text>
|
|
|
- <text class="selector-arrow" :class="{ open: dropdownRegionOpen }"></text>
|
|
|
+ <text
|
|
|
+ class="selector-arrow"
|
|
|
+ :class="{ open: dropdownRegionOpen }"
|
|
|
+ ></text>
|
|
|
</view>
|
|
|
- <view class="dropdown" v-show="dropdownRegionOpen" :style="dropdownDirection === 'top'
|
|
|
- ? { top: 'auto', bottom: '48rpx' }
|
|
|
- : {}
|
|
|
- " @click.stop>
|
|
|
+ <view
|
|
|
+ class="dropdown"
|
|
|
+ v-show="dropdownRegionOpen"
|
|
|
+ :style="
|
|
|
+ dropdownDirection === 'top'
|
|
|
+ ? { top: 'auto', bottom: '48rpx' }
|
|
|
+ : {}
|
|
|
+ "
|
|
|
+ @click.stop
|
|
|
+ >
|
|
|
<view class="dropdown-search-bar">
|
|
|
- <input class="dropdown-search-input" v-model="regionSearchText" @input="onRegionSearch"
|
|
|
- placeholder="搜索..." />
|
|
|
+ <input
|
|
|
+ class="dropdown-search-input"
|
|
|
+ v-model="regionSearchText"
|
|
|
+ @input="onRegionSearch"
|
|
|
+ placeholder="搜索..."
|
|
|
+ />
|
|
|
</view>
|
|
|
- <scroll-view scroll-y="true" class="dropdown-scroll-view" lower-threshold="80"
|
|
|
- @scrolltolower="loadMoreRegions">
|
|
|
- <view class="dropdown-item" v-for="(p, i) in regionList" :key="p.regionCode || i" :style="p.regionCode === region?.regionCode || (!region?.regionCode && i == 0)
|
|
|
- ? {
|
|
|
- backgroundColor: '#2c69ff',
|
|
|
- color: '#fff',
|
|
|
- }
|
|
|
- : {}
|
|
|
- " @click.stop="selectProduct('region', p)">{{ p.regionName || p }}</view>
|
|
|
- <view v-if="regionList.length === 0" class="dropdown-item" style="text-align: center; color: #999;">暂无数据
|
|
|
+ <scroll-view
|
|
|
+ scroll-y="true"
|
|
|
+ class="dropdown-scroll-view"
|
|
|
+ lower-threshold="80"
|
|
|
+ @scrolltolower="loadMoreRegions"
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ class="dropdown-item"
|
|
|
+ v-for="(p, i) in regionList"
|
|
|
+ :key="p.regionCode || i"
|
|
|
+ :style="
|
|
|
+ p.regionCode === region?.regionCode ||
|
|
|
+ (!region?.regionCode && i == 0)
|
|
|
+ ? {
|
|
|
+ backgroundColor: '#2c69ff',
|
|
|
+ color: '#fff',
|
|
|
+ }
|
|
|
+ : {}
|
|
|
+ "
|
|
|
+ @click.stop="selectProduct('region', p)"
|
|
|
+ >{{ p.regionName || p }}</view
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ v-if="regionList.length === 0"
|
|
|
+ class="dropdown-item"
|
|
|
+ style="text-align: center; color: #999"
|
|
|
+ >暂无数据
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view v-if="showSelector" class="selector-wrap">
|
|
|
<view class="selector" @click.stop="toggleDropdown">
|
|
|
- <text class="selector-text">{{ product?.drugEntBaseInfoId ? product.physicName : '选择品种' }}</text>
|
|
|
+ <text class="selector-text">{{
|
|
|
+ product?.drugEntBaseInfoId ? product.physicName : "选择品种"
|
|
|
+ }}</text>
|
|
|
<text class="selector-arrow" :class="{ open: dropdownOpen }"></text>
|
|
|
</view>
|
|
|
- <view class="dropdown" v-show="dropdownOpen" :style="dropdownDirection === 'top'
|
|
|
- ? {
|
|
|
- top: 'auto',
|
|
|
- bottom: '48rpx',
|
|
|
- }
|
|
|
- : {}
|
|
|
- " @click.stop>
|
|
|
- <view class="dropdown-search-bar">
|
|
|
- <input class="dropdown-search-input" v-model="productSearchText" @input="onProductSearch"
|
|
|
- placeholder="搜索..." />
|
|
|
- </view>
|
|
|
- <scroll-view scroll-y="true" class="dropdown-scroll-view" lower-threshold="80"
|
|
|
- @scrolltolower="loadMoreProducts">
|
|
|
- <view class="dropdown-item" v-for="(p, i) in productList" :key="p.drugEntBaseInfoId || i" :style="p.drugEntBaseInfoId === product?.drugEntBaseInfoId || (!product?.drugEntBaseInfoId && i == 0)
|
|
|
+ <view
|
|
|
+ class="dropdown"
|
|
|
+ v-show="dropdownOpen"
|
|
|
+ :style="
|
|
|
+ dropdownDirection === 'top'
|
|
|
? {
|
|
|
- backgroundColor: '#2c69ff',
|
|
|
- color: '#fff',
|
|
|
- }
|
|
|
+ top: 'auto',
|
|
|
+ bottom: '48rpx',
|
|
|
+ }
|
|
|
: {}
|
|
|
- " @click.stop="selectProduct('product', p)">{{ p.physicName }}</view>
|
|
|
- <view v-if="productList.length === 0" class="dropdown-item" style="text-align: center; color: #999;">暂无数据
|
|
|
+ "
|
|
|
+ @click.stop
|
|
|
+ >
|
|
|
+ <view class="dropdown-search-bar">
|
|
|
+ <input
|
|
|
+ class="dropdown-search-input"
|
|
|
+ v-model="productSearchText"
|
|
|
+ @input="onProductSearch"
|
|
|
+ placeholder="搜索..."
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <scroll-view
|
|
|
+ scroll-y="true"
|
|
|
+ class="dropdown-scroll-view"
|
|
|
+ lower-threshold="80"
|
|
|
+ @scrolltolower="loadMoreProducts"
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ class="dropdown-item"
|
|
|
+ v-for="(p, i) in productList"
|
|
|
+ :key="p.drugEntBaseInfoId || i"
|
|
|
+ :style="
|
|
|
+ p.drugEntBaseInfoId === product?.drugEntBaseInfoId ||
|
|
|
+ (!product?.drugEntBaseInfoId && i == 0)
|
|
|
+ ? {
|
|
|
+ backgroundColor: '#2c69ff',
|
|
|
+ color: '#fff',
|
|
|
+ }
|
|
|
+ : {}
|
|
|
+ "
|
|
|
+ @click.stop="selectProduct('product', p)"
|
|
|
+ >{{ p.physicName }}</view
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ v-if="productList.length === 0"
|
|
|
+ class="dropdown-item"
|
|
|
+ style="text-align: center; color: #999"
|
|
|
+ >暂无数据
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
@@ -68,31 +133,64 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="table-scroll-x" :style="{
|
|
|
- height: (tableHeightAuto || list.length < 7) ? 'auto' : tableBodyHeight + 80 + 'rpx',
|
|
|
- maxHeight: tableHeightAuto,
|
|
|
- }">
|
|
|
- <scroll-view class="no-scrollbar" :style="{ height: '100%' }" scroll-x="true" scroll-y="true" enhanced
|
|
|
- :show-scrollbar="false" @scrolltolower="onScrollToLower">
|
|
|
+ <view
|
|
|
+ class="table-scroll-x"
|
|
|
+ :style="{
|
|
|
+ height:
|
|
|
+ tableHeightAuto || list.length < 7
|
|
|
+ ? 'auto'
|
|
|
+ : tableBodyHeight + 80 + 'rpx',
|
|
|
+ maxHeight: tableHeightAuto,
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <scroll-view
|
|
|
+ class="no-scrollbar"
|
|
|
+ :style="{ height: '100%' }"
|
|
|
+ scroll-x="true"
|
|
|
+ scroll-y="true"
|
|
|
+ enhanced
|
|
|
+ :show-scrollbar="false"
|
|
|
+ @scrolltolower="onScrollToLower"
|
|
|
+ >
|
|
|
<view class="card" :style="{ width: tableWidth }">
|
|
|
- <view class="table-header" :style="{
|
|
|
- position: 'sticky',
|
|
|
- top: '0',
|
|
|
- zIndex: 10,
|
|
|
- fontWeight: headerBold ? 'bold' : 'normal',
|
|
|
- }">
|
|
|
- <view v-for="(col, ci) in columnList" :key="getUid()" class="cell" :style="{
|
|
|
- ...headerCellStyle(ci, col),
|
|
|
- }">
|
|
|
- <view v-if="isPlainTitle(col.title)" :style="{
|
|
|
- display: 'flex',
|
|
|
- alignItems: 'center',
|
|
|
- position: 'relative',
|
|
|
- }">
|
|
|
+ <view
|
|
|
+ class="table-header"
|
|
|
+ :style="{
|
|
|
+ position: 'sticky',
|
|
|
+ top: '0',
|
|
|
+ zIndex: 10,
|
|
|
+ fontWeight: headerBold ? 'bold' : 'normal',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ v-for="(col, ci) in columnList"
|
|
|
+ :key="getUid()"
|
|
|
+ class="cell"
|
|
|
+ :style="{
|
|
|
+ ...headerCellStyle(ci, col),
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ v-if="isPlainTitle(col.title)"
|
|
|
+ :style="{
|
|
|
+ display: 'flex',
|
|
|
+ alignItems: 'center',
|
|
|
+ position: 'relative',
|
|
|
+ }"
|
|
|
+ >
|
|
|
<text>{{ col.title }}</text>
|
|
|
- <uni-icons v-if="col.tooltip" type="help" size="16" color="#2c69ff"
|
|
|
- @tap.stop.prevent="toggleHeaderTooltip(ci)"></uni-icons>
|
|
|
- <view v-if="headerTooltip[ci]" class="header-tooltip-wrap" @click.stop>
|
|
|
+ <uni-icons
|
|
|
+ v-if="col.tooltip"
|
|
|
+ type="help"
|
|
|
+ size="16"
|
|
|
+ color="#2c69ff"
|
|
|
+ @tap.stop.prevent="toggleHeaderTooltip(ci)"
|
|
|
+ ></uni-icons>
|
|
|
+ <view
|
|
|
+ v-if="headerTooltip[ci]"
|
|
|
+ class="header-tooltip-wrap"
|
|
|
+ @click.stop
|
|
|
+ >
|
|
|
<view class="header-tooltip">{{ col.tooltip }}</view>
|
|
|
<view class="header-tooltip-arrow"></view>
|
|
|
</view>
|
|
|
@@ -103,50 +201,84 @@
|
|
|
<view v-if="!loading && list && list.length > 0" class="table-body">
|
|
|
<template>
|
|
|
<view class="row" v-for="(item, i) in list" :key="getUid()">
|
|
|
- <view v-for="(col, ci) in columnList" :key="getUid()" class="cell"
|
|
|
- :class="{ underline: col.underline, striped: striped && (i + 1) % 2 === 0 }"
|
|
|
- :style="bodyCellStyle(ci, col)" @click="handleClick(item, col)">{{ renderCell(item, col) }}</view>
|
|
|
+ <view
|
|
|
+ v-for="(col, ci) in columnList"
|
|
|
+ :key="getUid()"
|
|
|
+ class="cell"
|
|
|
+ :class="{
|
|
|
+ underline: col.underline,
|
|
|
+ striped: striped && (i + 1) % 2 === 0,
|
|
|
+ }"
|
|
|
+ :style="bodyCellStyle(ci, col)"
|
|
|
+ @click="handleClick(item, col)"
|
|
|
+ >{{ renderCell(item, col) }}</view
|
|
|
+ >
|
|
|
</view>
|
|
|
<view class="row loading-row" v-if="hasmore">
|
|
|
<view class="loading-wrapper">
|
|
|
<image class="loading-icon" :src="loadingImg" />
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="row" v-if="showSummary" :style="{
|
|
|
- position: 'sticky',
|
|
|
- bottom: '0',
|
|
|
- zIndex: 5,
|
|
|
- backgroundColor: '#fff',
|
|
|
- borderTop: '1rpx solid #eef0f4',
|
|
|
- color: summaryFontColor,
|
|
|
- }">
|
|
|
- <view v-for="(col, ci) in columnList" :key="getUid()" class="cell" :style="{
|
|
|
- ...bodyCellStyle(ci, col),
|
|
|
- fontWeight: summaryBold ? 'bold' : 'normal',
|
|
|
- }">{{ getSummary(col, ci) }}</view>
|
|
|
+ <view
|
|
|
+ class="row"
|
|
|
+ v-if="showSummary"
|
|
|
+ :style="{
|
|
|
+ position: 'sticky',
|
|
|
+ bottom: '0',
|
|
|
+ zIndex: 5,
|
|
|
+ backgroundColor: '#fff',
|
|
|
+ borderTop: '1rpx solid #eef0f4',
|
|
|
+ color: summaryFontColor,
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <view
|
|
|
+ v-for="(col, ci) in columnList"
|
|
|
+ :key="getUid()"
|
|
|
+ class="cell"
|
|
|
+ :style="{
|
|
|
+ ...bodyCellStyle(ci, col),
|
|
|
+ fontWeight: summaryBold ? 'bold' : 'normal',
|
|
|
+ }"
|
|
|
+ >{{ getSummary(col, ci) }}</view
|
|
|
+ >
|
|
|
</view>
|
|
|
</template>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-if="loading" class="no-data-placeholder" :style="{ height: 'auto' }">
|
|
|
+ <view
|
|
|
+ v-if="loading"
|
|
|
+ class="no-data-placeholder"
|
|
|
+ :style="{ height: 'auto' }"
|
|
|
+ >
|
|
|
<view class="row loading-row">
|
|
|
<view class="loading-wrapper">
|
|
|
<image class="loading-icon" :src="loadingImg" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-if="!loading && (!list || list.length === 0)" class="no-data-placeholder">
|
|
|
+ <view
|
|
|
+ v-if="!loading && (!list || list.length === 0)"
|
|
|
+ class="no-data-placeholder"
|
|
|
+ >
|
|
|
<EmptyView />
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
- <view v-if="loading" class="no-data" :style="{ height: 'auto', top: cellHeight }">
|
|
|
+ <view
|
|
|
+ v-if="loading"
|
|
|
+ class="no-data"
|
|
|
+ :style="{ height: 'auto', top: cellHeight }"
|
|
|
+ >
|
|
|
<view class="row loading-row">
|
|
|
<view class="loading-wrapper">
|
|
|
<image class="loading-icon" :src="loadingImg" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-if="!loading && (!list || list.length === 0)" class="no-data" :style="{ top: cellHeight }">
|
|
|
+ <view
|
|
|
+ v-if="!loading && (!list || list.length === 0)"
|
|
|
+ class="no-data"
|
|
|
+ :style="{ top: cellHeight }"
|
|
|
+ >
|
|
|
<EmptyView />
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -157,7 +289,7 @@
|
|
|
import EmptyView from "../../../../wigets/empty.vue";
|
|
|
import loadingImg from "../../../../static/images/loading.png";
|
|
|
import { getUid } from "../../../../utils/utils.js";
|
|
|
-import request from '../../../../request/index.js'
|
|
|
+import request from "../../../../request/index.js";
|
|
|
import Select from "../../../../wigets/select.vue";
|
|
|
export default {
|
|
|
name: "ScanRateTable",
|
|
|
@@ -185,17 +317,17 @@ export default {
|
|
|
{
|
|
|
key: "totalInRate",
|
|
|
title: "入库扫码率",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
{
|
|
|
key: "totalOutRate",
|
|
|
title: "出库扫码率",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
{
|
|
|
key: "totalSelfExaminationRate",
|
|
|
title: "自验证率",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -253,7 +385,7 @@ export default {
|
|
|
width: "",
|
|
|
tooltip:
|
|
|
"客户出库扫码量(与下游入库单中相同的追溯码)/下游企业入库扫码量",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
{
|
|
|
key: "inScanRate",
|
|
|
@@ -262,7 +394,7 @@ export default {
|
|
|
width: "",
|
|
|
tooltip:
|
|
|
"客户入库扫码量(与上游出库单中相同的追溯码)/上游企业出库扫码量",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
{
|
|
|
key: "selfExaminationRate",
|
|
|
@@ -270,7 +402,7 @@ export default {
|
|
|
fixed: false,
|
|
|
width: "",
|
|
|
tooltip: "客户出库扫码量(与入库单中相同的追溯码)/入库扫码量",
|
|
|
- unit: '%'
|
|
|
+ unit: "%",
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -291,8 +423,8 @@ export default {
|
|
|
tablePageSize: 10,
|
|
|
summaryData: [],
|
|
|
headerTooltip: {},
|
|
|
- regionSearchText: '',
|
|
|
- productSearchText: '',
|
|
|
+ regionSearchText: "",
|
|
|
+ productSearchText: "",
|
|
|
regionList: [],
|
|
|
productList: [],
|
|
|
};
|
|
|
@@ -301,34 +433,43 @@ export default {
|
|
|
filteredRegions() {
|
|
|
if (!this.regionSearchText) return this.regions;
|
|
|
const lower = this.regionSearchText.toLowerCase();
|
|
|
- return this.regions.filter(r => (r.regionName || r.name || r || '').toString().toLowerCase().indexOf(lower) > -1);
|
|
|
+ return this.regions.filter(
|
|
|
+ (r) =>
|
|
|
+ (r.regionName || r.name || r || "")
|
|
|
+ .toString()
|
|
|
+ .toLowerCase()
|
|
|
+ .indexOf(lower) > -1,
|
|
|
+ );
|
|
|
},
|
|
|
filteredProducts() {
|
|
|
if (!this.productSearchText) return this.products;
|
|
|
const lower = this.productSearchText.toLowerCase();
|
|
|
- return this.products.filter(p => (p.physicName || '').toLowerCase().indexOf(lower) > -1);
|
|
|
+ return this.products.filter(
|
|
|
+ (p) => (p.physicName || "").toLowerCase().indexOf(lower) > -1,
|
|
|
+ );
|
|
|
},
|
|
|
tableBodyHeight() {
|
|
|
return 6 * 80;
|
|
|
},
|
|
|
columnList() {
|
|
|
if (this.params) {
|
|
|
- const type = this.params?.type
|
|
|
- if (type === '1' || type === '2') return this.columns.filter(i => i.key !== 'selfExaminationRate');
|
|
|
+ const type = this.params?.type;
|
|
|
+ if (type === "1" || type === "2")
|
|
|
+ return this.columns.filter((i) => i.key !== "selfExaminationRate");
|
|
|
}
|
|
|
- return this.columns
|
|
|
- }
|
|
|
+ return this.columns;
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
dropdownRegionOpen(val) {
|
|
|
if (val) {
|
|
|
- this.regionSearchText = '';
|
|
|
+ this.regionSearchText = "";
|
|
|
this.initRegionList();
|
|
|
}
|
|
|
},
|
|
|
dropdownOpen(val) {
|
|
|
if (val) {
|
|
|
- this.productSearchText = '';
|
|
|
+ this.productSearchText = "";
|
|
|
this.initProductList();
|
|
|
}
|
|
|
},
|
|
|
@@ -343,7 +484,11 @@ export default {
|
|
|
},
|
|
|
params: {
|
|
|
handler(newVal, oldVal) {
|
|
|
- if (newVal !== oldVal && JSON.stringify(newVal) === JSON.stringify(oldVal)) return;
|
|
|
+ if (
|
|
|
+ newVal !== oldVal &&
|
|
|
+ JSON.stringify(newVal) === JSON.stringify(oldVal)
|
|
|
+ )
|
|
|
+ return;
|
|
|
this.resetFetch();
|
|
|
},
|
|
|
deep: true,
|
|
|
@@ -385,9 +530,10 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
renderCell(item, col) {
|
|
|
- if (!item[col.key]) return '--';
|
|
|
+ if (!item[col.key]) return "--";
|
|
|
const reg = /rate/i;
|
|
|
- if (reg.test(col.key)) return (Math.floor(Number(item[col.key])) + (col.unit || ''));
|
|
|
+ if (reg.test(col.key))
|
|
|
+ return Math.floor(Number(item[col.key])) + (col.unit || "");
|
|
|
return item[col.key];
|
|
|
},
|
|
|
initRegionList() {
|
|
|
@@ -417,7 +563,7 @@ export default {
|
|
|
getUid,
|
|
|
getSummary(col, ci) {
|
|
|
if (ci == 0) return "合计";
|
|
|
- return Math.floor(Number(this.summaryData[ci])) + (col.unit || '');
|
|
|
+ return Math.floor(Number(this.summaryData[ci])) + (col.unit || "");
|
|
|
},
|
|
|
closeAllTooltip() {
|
|
|
this.headerTooltip = {};
|
|
|
@@ -494,7 +640,7 @@ export default {
|
|
|
// return res;
|
|
|
// },
|
|
|
onScrollToLower(e) {
|
|
|
- if (e?.detail?.direction === 'right') return
|
|
|
+ if (e?.detail?.direction === "right") return;
|
|
|
// if (!Array.isArray(this.list)) this.list = [];
|
|
|
// if (this.list.length - 1 >= this.totalCount) return;
|
|
|
// if (this.isLoading) return;
|
|
|
@@ -531,13 +677,15 @@ export default {
|
|
|
if (this.fetchLoading) return;
|
|
|
this.fetchLoading = true;
|
|
|
request(this.api, {
|
|
|
- drugEntBaseInfoId: this.product ? (this.product?.drugEntBaseInfoId || '') : '',
|
|
|
- regionCode: this.region ? (this.region?.regionCode || '') : '',
|
|
|
+ drugEntBaseInfoId: this.product
|
|
|
+ ? this.product?.drugEntBaseInfoId || ""
|
|
|
+ : "",
|
|
|
+ regionCode: this.region ? this.region?.regionCode || "" : "",
|
|
|
pageNum: this.tablePage,
|
|
|
pageSize: this.tablePageSize,
|
|
|
- path: 'customerScanningRate/wigets/ScanRateTable.vue',
|
|
|
+ path: "customerScanningRate/wigets/ScanRateTable.vue",
|
|
|
...(this.params || {}),
|
|
|
- }).then(res => {
|
|
|
+ }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
const _data = res.data || {};
|
|
|
let pageInfo = _data || {};
|
|
|
@@ -582,7 +730,7 @@ export default {
|
|
|
}
|
|
|
this.fetchLoading = false;
|
|
|
this.loading = false;
|
|
|
- })
|
|
|
+ });
|
|
|
}, delay);
|
|
|
},
|
|
|
headerCellStyle(ci, col) {
|
|
|
@@ -607,7 +755,7 @@ export default {
|
|
|
bodyCellStyle(ci, col) {
|
|
|
const base = this.cellBaseStyle(ci, col);
|
|
|
// base.lineHeight = this.cellHeight;
|
|
|
- base.padding = '12rpx'
|
|
|
+ base.padding = "12rpx";
|
|
|
base.fontSize = this.bodyFontSize;
|
|
|
if (this.bodyFontColor) {
|
|
|
base.color = this.bodyFontColor;
|
|
|
@@ -651,7 +799,7 @@ export default {
|
|
|
.replace(/<\/\s*view\s*>/g, "</div>");
|
|
|
html = html.replace(
|
|
|
/:style=\"\{\s*textAlign:\s*'center'\s*\}\"/g,
|
|
|
- 'style="text-align:center;"'
|
|
|
+ 'style="text-align:center;"',
|
|
|
);
|
|
|
return html;
|
|
|
},
|
|
|
@@ -669,9 +817,9 @@ export default {
|
|
|
"®ionName=" +
|
|
|
encodeURIComponent(data.regionName) +
|
|
|
"&drugEntBaseInfoId=" +
|
|
|
- (data.druGentBaseInfoId || '') +
|
|
|
+ (data.druGentBaseInfoId || "") +
|
|
|
"&physicName=" +
|
|
|
- encodeURIComponent(data.name || '') +
|
|
|
+ encodeURIComponent(data.name || "") +
|
|
|
"&scanType=" +
|
|
|
this.scanType +
|
|
|
(this.params.type ? "&type=" + this.params.type : ""),
|
|
|
@@ -802,7 +950,7 @@ export default {
|
|
|
text-wrap: wrap;
|
|
|
}
|
|
|
|
|
|
-.dropdown-item+.dropdown-item {
|
|
|
+.dropdown-item + .dropdown-item {
|
|
|
border-top: 1rpx solid #f0f2f5;
|
|
|
}
|
|
|
|
|
|
@@ -897,6 +1045,7 @@ export default {
|
|
|
|
|
|
.underline {
|
|
|
text-decoration: underline;
|
|
|
+ color: #2c69ff;
|
|
|
}
|
|
|
|
|
|
/* hide scrollbars for H5/App while preserving scroll behavior */
|