luojie 2 months ago
parent
commit
923d78ef92
2 changed files with 379 additions and 356 deletions
  1. +373
    -348
      src/utils/index.js
  2. +6
    -8
      src/views/business/comps/template/comps/lba/LBA004.vue

+ 373
- 348
src/utils/index.js View File

@ -1,19 +1,24 @@
import { parseTime } from './ruoyi'
import { encrypt, decrypt } from '@/utils/encryptUtil';
import moment from 'moment';
import { encrypt, decrypt } from '@/utils/encryptUtil'
import moment from 'moment'
/**
* 表格时间格式化
*/
export function formatDate(cellValue) {
if (cellValue == null || cellValue == "") return ""
var date = new Date(cellValue)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
if (cellValue == null || cellValue == '') return ''
var date = new Date(cellValue)
var year = date.getFullYear()
var month =
date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes =
date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds =
date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return (
year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
)
}
/**
@ -22,41 +27,41 @@ export function formatDate(cellValue) {
* @returns {string}
*/
export function formatTime(time, option) {
if (('' + time).length === 10) {
time = parseInt(time) * 1000
} else {
time = +time
}
const d = new Date(time)
const now = Date.now()
const diff = (now - d) / 1000
if (diff < 30) {
return '刚刚'
} else if (diff < 3600) {
// less 1 hour
return Math.ceil(diff / 60) + '分钟前'
} else if (diff < 3600 * 24) {
return Math.ceil(diff / 3600) + '小时前'
} else if (diff < 3600 * 24 * 2) {
return '1天前'
}
if (option) {
return parseTime(time, option)
} else {
return (
d.getMonth() +
1 +
'月' +
d.getDate() +
'日' +
d.getHours() +
'时' +
d.getMinutes() +
'分'
)
}
if (('' + time).length === 10) {
time = parseInt(time) * 1000
} else {
time = +time
}
const d = new Date(time)
const now = Date.now()
const diff = (now - d) / 1000
if (diff < 30) {
return '刚刚'
} else if (diff < 3600) {
// less 1 hour
return Math.ceil(diff / 60) + '分钟前'
} else if (diff < 3600 * 24) {
return Math.ceil(diff / 3600) + '小时前'
} else if (diff < 3600 * 24 * 2) {
return '1天前'
}
if (option) {
return parseTime(time, option)
} else {
return (
d.getMonth() +
1 +
'月' +
d.getDate() +
'日' +
d.getHours() +
'时' +
d.getMinutes() +
'分'
)
}
}
/**
@ -64,18 +69,18 @@ export function formatTime(time, option) {
* @returns {Object}
*/
export function getQueryObject(url) {
url = url == null ? window.location.href : url
const search = url.substring(url.lastIndexOf('?') + 1)
const obj = {}
const reg = /([^?&=]+)=([^?&=]*)/g
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1)
let val = decodeURIComponent($2)
val = String(val)
obj[name] = val
return rs
})
return obj
url = url == null ? window.location.href : url
const search = url.substring(url.lastIndexOf('?') + 1)
const obj = {}
const reg = /([^?&=]+)=([^?&=]*)/g
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1)
let val = decodeURIComponent($2)
val = String(val)
obj[name] = val
return rs
})
return obj
}
/**
@ -83,15 +88,15 @@ export function getQueryObject(url) {
* @returns {number} output value
*/
export function byteLength(str) {
// returns the byte length of an utf8 string
let s = str.length
for (var i = str.length - 1; i >= 0; i--) {
const code = str.charCodeAt(i)
if (code > 0x7f && code <= 0x7ff) s++
else if (code > 0x7ff && code <= 0xffff) s += 2
if (code >= 0xDC00 && code <= 0xDFFF) i--
}
return s
// returns the byte length of an utf8 string
let s = str.length
for (var i = str.length - 1; i >= 0; i--) {
const code = str.charCodeAt(i)
if (code > 0x7f && code <= 0x7ff) s++
else if (code > 0x7ff && code <= 0xffff) s += 2
if (code >= 0xdc00 && code <= 0xdfff) i--
}
return s
}
/**
@ -99,13 +104,13 @@ export function byteLength(str) {
* @returns {Array}
*/
export function cleanArray(actual) {
const newArray = []
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
newArray.push(actual[i])
}
}
return newArray
const newArray = []
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
newArray.push(actual[i])
}
}
return newArray
}
/**
@ -113,13 +118,13 @@ export function cleanArray(actual) {
* @returns {Array}
*/
export function param(json) {
if (!json) return ''
return cleanArray(
Object.keys(json).map(key => {
if (json[key] === undefined) return ''
return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
})
).join('&')
if (!json) return ''
return cleanArray(
Object.keys(json).map((key) => {
if (json[key] === undefined) return ''
return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
})
).join('&')
}
/**
@ -127,21 +132,21 @@ export function param(json) {
* @returns {Object}
*/
export function param2Obj(url) {
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
const obj = {}
const searchArr = search.split('&')
searchArr.forEach(v => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
}
})
return obj
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
const obj = {}
const searchArr = search.split('&')
searchArr.forEach((v) => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
}
})
return obj
}
/**
@ -149,9 +154,9 @@ export function param2Obj(url) {
* @returns {string}
*/
export function html2Text(val) {
const div = document.createElement('div')
div.innerHTML = val
return div.textContent || div.innerText
const div = document.createElement('div')
div.innerHTML = val
return div.textContent || div.innerText
}
/**
@ -161,21 +166,21 @@ export function html2Text(val) {
* @returns {Object}
*/
export function objectMerge(target, source) {
if (typeof target !== 'object') {
target = {}
}
if (Array.isArray(source)) {
return source.slice()
}
Object.keys(source).forEach(property => {
const sourceProperty = source[property]
if (typeof sourceProperty === 'object') {
target[property] = objectMerge(target[property], sourceProperty)
} else {
target[property] = sourceProperty
}
})
return target
if (typeof target !== 'object') {
target = {}
}
if (Array.isArray(source)) {
return source.slice()
}
Object.keys(source).forEach((property) => {
const sourceProperty = source[property]
if (typeof sourceProperty === 'object') {
target[property] = objectMerge(target[property], sourceProperty)
} else {
target[property] = sourceProperty
}
})
return target
}
/**
@ -183,19 +188,19 @@ export function objectMerge(target, source) {
* @param {string} className
*/
export function toggleClass(element, className) {
if (!element || !className) {
return
}
let classString = element.className
const nameIndex = classString.indexOf(className)
if (nameIndex === -1) {
classString += '' + className
} else {
classString =
classString.substr(0, nameIndex) +
classString.substr(nameIndex + className.length)
}
element.className = classString
if (!element || !className) {
return
}
let classString = element.className
const nameIndex = classString.indexOf(className)
if (nameIndex === -1) {
classString += '' + className
} else {
classString =
classString.substr(0, nameIndex) +
classString.substr(nameIndex + className.length)
}
element.className = classString
}
/**
@ -203,11 +208,11 @@ export function toggleClass(element, className) {
* @returns {Date}
*/
export function getTime(type) {
if (type === 'start') {
return new Date().getTime() - 3600 * 1000 * 24 * 90
} else {
return new Date(new Date().toDateString())
}
if (type === 'start') {
return new Date().getTime() - 3600 * 1000 * 24 * 90
} else {
return new Date(new Date().toDateString())
}
}
/**
@ -217,38 +222,38 @@ export function getTime(type) {
* @return {*}
*/
export function debounce(func, wait, immediate) {
let timeout, args, context, timestamp, result
const later = function () {
// 据上一次触发时间间隔
const last = +new Date() - timestamp
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last)
} else {
timeout = null
// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args)
if (!timeout) context = args = null
}
}
}
return function (...args) {
context = this
timestamp = +new Date()
const callNow = immediate && !timeout
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait)
if (callNow) {
result = func.apply(context, args)
context = args = null
}
return result
}
let timeout, args, context, timestamp, result
const later = function () {
// 据上一次触发时间间隔
const last = +new Date() - timestamp
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last)
} else {
timeout = null
// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args)
if (!timeout) context = args = null
}
}
}
return function (...args) {
context = this
timestamp = +new Date()
const callNow = immediate && !timeout
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait)
if (callNow) {
result = func.apply(context, args)
context = args = null
}
return result
}
}
/**
@ -259,18 +264,18 @@ export function debounce(func, wait, immediate) {
* @returns {Object}
*/
export function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach((keys) => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
}
/**
@ -278,16 +283,16 @@ export function deepClone(source) {
* @returns {Array}
*/
export function uniqueArr(arr) {
return Array.from(new Set(arr))
return Array.from(new Set(arr))
}
/**
* @returns {string}
*/
export function createUniqueString() {
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
}
/**
@ -297,7 +302,7 @@ export function createUniqueString() {
* @returns {boolean}
*/
export function hasClass(ele, cls) {
return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
}
/**
@ -306,7 +311,7 @@ export function hasClass(ele, cls) {
* @param {string} cls
*/
export function addClass(ele, cls) {
if (!hasClass(ele, cls)) ele.className += ' ' + cls
if (!hasClass(ele, cls)) ele.className += ' ' + cls
}
/**
@ -315,215 +320,235 @@ export function addClass(ele, cls) {
* @param {string} cls
*/
export function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
ele.className = ele.className.replace(reg, ' ')
}
if (hasClass(ele, cls)) {
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
ele.className = ele.className.replace(reg, ' ')
}
}
export function makeMap(str, expectsLowerCase) {
const map = Object.create(null)
const list = str.split(',')
for (let i = 0; i < list.length; i++) {
map[list[i]] = true
}
return expectsLowerCase
? val => map[val.toLowerCase()]
: val => map[val]
const map = Object.create(null)
const list = str.split(',')
for (let i = 0; i < list.length; i++) {
map[list[i]] = true
}
return expectsLowerCase ? (val) => map[val.toLowerCase()] : (val) => map[val]
}
export const exportDefault = 'export default '
export const beautifierConf = {
html: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'separate',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: false,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
},
js: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'normal',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: true,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
}
html: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'separate',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: false,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
},
js: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'normal',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: true,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
}
}
// 首字母大小
export function titleCase(str) {
return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
return str.replace(/( |^)[a-z]/g, (L) => L.toUpperCase())
}
// 下划转驼峰
export function camelCase(str) {
return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase())
return str.replace(/_[a-z]/g, (str1) => str1.substr(-1).toUpperCase())
}
export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
}
// 编码
export function caesarCipher(str) {
return btoa(encrypt(str))
return btoa(encrypt(str))
}
// 解码
export function caesarDecipher(str) {
return decrypt(atob(str));
return decrypt(atob(str))
}
//比较值是否相等,不需要比较类型
export const isEqual = (oldValue, nowValue) => {
if (oldValue === null || nowValue === null) {
return oldValue === nowValue;
}
if (typeof oldValue === 'object' && typeof nowValue === 'object') {
return JSON.stringify(oldValue) === JSON.stringify(nowValue);
}
return oldValue == nowValue;
if (oldValue === null || nowValue === null) {
return oldValue === nowValue
}
if (typeof oldValue === 'object' && typeof nowValue === 'object') {
return JSON.stringify(oldValue) === JSON.stringify(nowValue)
}
return oldValue == nowValue
}
//计算过期时间
export const getExpireDate = (startDate, effectivePeriod, effectivePeriodUnit) => {
const start = moment(startDate)
const unit = effectivePeriodUnit === '天' ? 'days' : 'hours';
const end = start
.add(Number(effectivePeriod), unit)
.format('YYYY-MM-DD HH:mm:ss');
return end;
export const getExpireDate = (
startDate,
effectivePeriod,
effectivePeriodUnit
) => {
const start = moment(startDate)
const unit = effectivePeriodUnit === '天' ? 'days' : 'hours'
const end = start
.add(Number(effectivePeriod), unit)
.format('YYYY-MM-DD HH:mm:ss')
return end
}
export function getuuid() {
return Math.random().toString(36).substring(2) +
Date.now().toString(36);
return Math.random().toString(36).substring(2) + Date.now().toString(36)
}
// 判断值是否为空
export function isValueEmpty(value) {
if (value === null || value === undefined || value === '') {
return true;
}
if (typeof value === 'string' && value.trim() === '') {
return true;
}
if (Array.isArray(value) && value.length === 0) {
return true;
}
return false;
if (value === null || value === undefined || value === '') {
return true
}
if (typeof value === 'string' && value.trim() === '') {
return true
}
if (Array.isArray(value) && value.length === 0) {
return true
}
return false
}
//去重步骤里面的试剂(需要计算总和)和仪器;
export function duplicateResource(sj, yq) {
// 对sj数组根据type和value值去重,并将yl按单位换算后累加
const sjMap = new Map();
// 体积单位转换为基本单位L的倍数
const volumeUnits = {
'pL': 1e-12,
'nL': 1e-9,
'uL': 1e-6,
'mL': 1e-3,
'L': 1
};
// 质量单位转换为基本单位g的倍数
const massUnits = {
'pg': 1e-12,
'ng': 1e-9,
'ug': 1e-6,
'mg': 1e-3,
'g': 1,
'kg': 1e3
};
for (const item of sj) {
const key = `${item.type}_${item.value}`;
console.log(item, "item")
if (sjMap.has(key)) {
// 如果已存在相同type和value的项,累加yl值
const existingItem = sjMap.get(key);
console.log(existingItem, "existingItem")
// 根据类型选择合适的单位转换
let currentItemYlInBaseUnit, existingItemYlInBaseUnit;
if (item.type === '1') {
// 体积单位转换
const currentItemYl = isNaN(parseFloat(item.yl)) ? 0 : parseFloat(item.yl);
const existingItemYl = isNaN(parseFloat(existingItem.yl)) ? 0 : parseFloat(existingItem.yl);
currentItemYlInBaseUnit = currentItemYl * volumeUnits[item.dw] || 0;
existingItemYlInBaseUnit = existingItemYl * volumeUnits[existingItem.dw] || 0;
} else if (item.type === '7') {
// 质量单位转换
const currentItemYl = isNaN(parseFloat(item.yl)) ? 0 : parseFloat(item.yl);
const existingItemYl = isNaN(parseFloat(existingItem.yl)) ? 0 : parseFloat(existingItem.yl);
currentItemYlInBaseUnit = currentItemYl * massUnits[item.dw] || 0;
existingItemYlInBaseUnit = existingItemYl * massUnits[existingItem.dw] || 0;
} else {
// 其他类型暂不处理单位转换,直接相加
const currentItemYl = isNaN(parseFloat(item.yl)) ? 0 : parseFloat(item.yl);
const existingItemYl = isNaN(parseFloat(existingItem.yl)) ? 0 : parseFloat(existingItem.yl);
currentItemYlInBaseUnit = currentItemYl || 0;
existingItemYlInBaseUnit = existingItemYl || 0;
}
// 计算总和
const totalYlInBaseUnit = currentItemYlInBaseUnit + existingItemYlInBaseUnit;
// 更新existingItem的yl值,保持使用第一个项目的单位作为基准单位
if (item.type === '1') {
existingItem.yl = (totalYlInBaseUnit / volumeUnits[existingItem.dw]).toString();
} else if (item.type === '7') {
existingItem.yl = (totalYlInBaseUnit / massUnits[existingItem.dw]).toString();
} else {
existingItem.yl = totalYlInBaseUnit.toString();
}
} else {
// 如果不存在,添加新项
sjMap.set(key, { ...item });
}
}
// 将Map中的值转换回数组
sj.length = 0; // 清空原数组
for (const value of sjMap.values()) {
sj.push(value);
}
// 对yq数组根据value去重
yq = yq.filter((item, index, self) =>
self.findIndex(obj => obj.value === item.value) === index
);
return {sj,yq}
// 对sj数组根据type和value值去重,并将yl按单位换算后累加
const sjMap = new Map()
// 体积单位转换为基本单位L的倍数
const volumeUnits = {
pL: 1e-12,
nL: 1e-9,
uL: 1e-6,
mL: 1e-3,
L: 1
}
// 质量单位转换为基本单位g的倍数
const massUnits = {
pg: 1e-12,
ng: 1e-9,
ug: 1e-6,
mg: 1e-3,
g: 1,
kg: 1e3
}
for (const item of sj) {
const key = `${item.type}_${item.value}`
console.log(item, 'item')
if (sjMap.has(key)) {
// 如果已存在相同type和value的项,累加yl值
const existingItem = sjMap.get(key)
console.log(existingItem, 'existingItem')
// 根据类型选择合适的单位转换
let currentItemYlInBaseUnit, existingItemYlInBaseUnit
if (item.type === '1') {
// 体积单位转换
const currentItemYl = isNaN(parseFloat(item.yl))
? 0
: parseFloat(item.yl)
const existingItemYl = isNaN(parseFloat(existingItem.yl))
? 0
: parseFloat(existingItem.yl)
currentItemYlInBaseUnit = currentItemYl * volumeUnits[item.dw] || 0
existingItemYlInBaseUnit =
existingItemYl * volumeUnits[existingItem.dw] || 0
} else if (item.type === '7') {
// 质量单位转换
const currentItemYl = isNaN(parseFloat(item.yl))
? 0
: parseFloat(item.yl)
const existingItemYl = isNaN(parseFloat(existingItem.yl))
? 0
: parseFloat(existingItem.yl)
currentItemYlInBaseUnit = currentItemYl * massUnits[item.dw] || 0
existingItemYlInBaseUnit =
existingItemYl * massUnits[existingItem.dw] || 0
} else {
// 其他类型暂不处理单位转换,直接相加
const currentItemYl = isNaN(parseFloat(item.yl))
? 0
: parseFloat(item.yl)
const existingItemYl = isNaN(parseFloat(existingItem.yl))
? 0
: parseFloat(existingItem.yl)
currentItemYlInBaseUnit = currentItemYl || 0
existingItemYlInBaseUnit = existingItemYl || 0
}
// 计算总和
const totalYlInBaseUnit =
currentItemYlInBaseUnit + existingItemYlInBaseUnit
// 更新existingItem的yl值,保持使用第一个项目的单位作为基准单位
if (item.type === '1') {
existingItem.yl = (
totalYlInBaseUnit / volumeUnits[existingItem.dw]
).toString()
} else if (item.type === '7') {
existingItem.yl = (
totalYlInBaseUnit / massUnits[existingItem.dw]
).toString()
} else {
existingItem.yl = totalYlInBaseUnit.toString()
}
} else {
// 如果不存在,添加新项
sjMap.set(key, { ...item })
}
}
// 将Map中的值转换回数组
sj.length = 0 // 清空原数组
for (const value of sjMap.values()) {
sj.push(value)
}
// 对yq数组根据value去重
yq = yq.filter(
(item, index, self) =>
self.findIndex((obj) => obj.value === item.value) === index
)
return { sj, yq }
}
//是不是试剂/仪器等弹窗类型
export function isRegent(item,fieldCode="type"){
const type = item[fieldCode] ;
const typeList = ['sj', 'gsp', 'mix', 'xj', 'xb', 'gyzj', 'mjy', 'yq']
return typeList.includes(type);
}
export function isRegent(item, fieldCode = 'type') {
const type = item[fieldCode]
const typeList = ['sj', 'gsp', 'mix', 'xj', 'xb', 'gyzj', 'mjy', 'yq', 'jcb']
return typeList.includes(type)
}

+ 6
- 8
src/views/business/comps/template/comps/lba/LBA004.vue View File

@ -113,6 +113,7 @@ export default {
bodyFillType: 'preFill',
width: 280,
},{
label: '',
prop: 'jcbBh',
bodyType: 'jcb',
bodyFillType: 'actFill',
@ -314,9 +315,6 @@ export default {
if(this.fillType === "preFill"){
this.handleAddParalle(true);
}
if(this.fillType === "actFill"){
this.getCode(formData);
}
},
methods: {
//
@ -391,11 +389,11 @@ export default {
},
//
handleAddParalle(init) {
if(init){
if (!this.formData.paralleConfigs) {
this.$set(this.formData, 'paralleConfigs', []);
}
}else{
let isAdd = !init
if(init && (!this.formData.paralleConfigs || this.formData.paralleConfigs.length===0)){
isAdd = true
}
if(isAdd){
//
if (!this.formData.paralleConfigs) {
this.$set(this.formData, 'paralleConfigs', []);

Loading…
Cancel
Save