feat:查询条件调整
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<u-popup :show="showAuncelSelector" closeable @close="close" @open="open" mode="right">
|
||||
<view class="p10">天平选择</view>
|
||||
<scroll-view scroll-y="true" class="content">
|
||||
<u-grid border :col="3" @click="doSelect">
|
||||
<u-grid :col="3" @click="doSelect" style="gap: 20px">
|
||||
<u-grid-item v-for="(auncel, index) in auncelList" :index="index" :key="index">
|
||||
<view class="auncel-item">
|
||||
<view class="auncel-name">
|
||||
@@ -18,6 +18,7 @@
|
||||
<view v-if="auncel.isConnected === 1" class="weight-unit">{{ auncel.weightUnit }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="auncel.isConnected != 1" class="shade">天平断开</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</scroll-view>
|
||||
@@ -164,7 +165,7 @@ const handleDeviceStatus = res => {
|
||||
if (item.id === res.deviceId) {
|
||||
item.isConnected = res.connected
|
||||
if (res.connected == 0) {
|
||||
item.weightData = '天平断开'
|
||||
item.weightData = ''
|
||||
item.weightUnit = ''
|
||||
item.weightStable = 0
|
||||
}
|
||||
@@ -199,7 +200,7 @@ onUnmounted(() => {
|
||||
})
|
||||
function getWeightText(auncel) {
|
||||
if (auncel.isConnected !== 1) {
|
||||
return '天平断开'
|
||||
return ''
|
||||
}
|
||||
return auncel.weightData || ''
|
||||
}
|
||||
@@ -227,8 +228,9 @@ function getWeightStyle(auncel) {
|
||||
|
||||
<style scoped lang="scss">
|
||||
.content {
|
||||
width: 80vw;
|
||||
width: 60vw;
|
||||
height: 90vh;
|
||||
padding: 0 20px 40px 20px;
|
||||
}
|
||||
.auncel-item {
|
||||
height: 180px;
|
||||
@@ -239,6 +241,22 @@ function getWeightStyle(auncel) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.shade {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #000;
|
||||
opacity: 0.6;
|
||||
color: #fff;
|
||||
font-weight: 500;
|
||||
z-index: 10;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.auncel-name {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
|
||||
@@ -330,28 +330,36 @@ function accAdd(arg1, arg2) {
|
||||
// 通过配置项分组
|
||||
export function groupByField(list, cupNumFieldIndex, groupKey = 'groupDictionaryBusinessKey') {
|
||||
const groupMap = new Map()
|
||||
|
||||
// 插入“全部”项
|
||||
list.unshift({ groupDictionaryBusinessKey: 'all', groupDictionaryBusinessName: '全部' })
|
||||
|
||||
for (const item of list) {
|
||||
// 赋值杯号fieldindex
|
||||
// 赋值杯号 fieldIndex
|
||||
if (item.title === '杯号') {
|
||||
cupNumFieldIndex.value = item.fieldIndex
|
||||
}
|
||||
const key = item[groupKey]
|
||||
if (!key) continue // 跳过没有 group 的项(可选)
|
||||
|
||||
let key = item[groupKey]
|
||||
|
||||
// 如果没有有效 key,统一归入自定义分组
|
||||
if (!key) {
|
||||
key = 'customParameter' // 使用固定字符串作为无 key 项的分组标识
|
||||
}
|
||||
|
||||
// 如果该分组不存在,初始化
|
||||
if (!groupMap.has(key)) {
|
||||
groupMap.set(key, {
|
||||
value: key,
|
||||
label: item.groupDictionaryBusinessName, // 假设 title 在每个 item 中,且同组相同
|
||||
label: key === 'customParameter' ? '分析项目' : item.groupDictionaryBusinessName || '未知分组',
|
||||
fields: []
|
||||
})
|
||||
}
|
||||
|
||||
// 把当前项(或仅需要的部分)推入 fields
|
||||
// 将当前项加入对应分组
|
||||
groupMap.get(key).fields.push(item)
|
||||
}
|
||||
|
||||
// 转为数组
|
||||
return Array.from(groupMap.values())
|
||||
}
|
||||
|
||||
|
||||
@@ -6,9 +6,7 @@
|
||||
import Request from 'luch-request'
|
||||
import { getBaseUrl, getTenantId } from '@/defaultBaseUrl'
|
||||
import $store from '@/nx/store'
|
||||
import { ApiEncryption } from '@/nx/utils/crypto.js'
|
||||
|
||||
const apiEncryption = new ApiEncryption()
|
||||
import qs from 'qs'
|
||||
|
||||
const options = {
|
||||
// 显示操作成功消息 默认不显示
|
||||
@@ -62,7 +60,10 @@ const http = new Request({
|
||||
// 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+)
|
||||
withCredentials: false,
|
||||
// #endif
|
||||
custom: options
|
||||
custom: options,
|
||||
paramsSerializer(params) {
|
||||
return qs.stringify(params, { arrayFormat: 'indices' })
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
|
||||
247
package-lock.json
generated
247
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -15,10 +15,11 @@
|
||||
"gm-crypto": "^0.1.12",
|
||||
"lodash": "^4.17.21",
|
||||
"luch-request": "^3.0.8",
|
||||
"mathjs": "^13.0.3",
|
||||
"md5": "^2.3.0",
|
||||
"pinia": "^2.0.24",
|
||||
"pinia-plugin-persist-uni": "^1.2.0",
|
||||
"mathjs": "^13.0.3"
|
||||
"qs": "^6.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "^2.7.1",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -188,7 +188,7 @@ const checkWork = () => {
|
||||
const startWork = () => {
|
||||
// if (!checkWork()) return
|
||||
uni.navigateTo({
|
||||
url: `/pages/analysis/sample/sample-work-detail?currentTaskId=${currentTask.value.id}`
|
||||
url: `/pages/analysis/sample/sample-work-detail?currentTaskId=${currentTask.value.id}&configReportTemplateKey=${currentTask.value.configReportTemplateKey}`
|
||||
})
|
||||
}
|
||||
|
||||
@@ -205,7 +205,8 @@ const switchTask = async index => {
|
||||
const getAssayTask = () => {
|
||||
rollbackContent.value = ''
|
||||
const param = {
|
||||
taskStatus: 'submit'
|
||||
taskAssignStatus: 'submitted',
|
||||
taskAssayStatusList: ['not_start', 'saved']
|
||||
// assayOper: userInfo.value.nickname
|
||||
}
|
||||
nx.$api.assayTask.getAssayTaskList(param).then(res => {
|
||||
|
||||
Reference in New Issue
Block a user