@@ -166,11 +166,11 @@ export default {
message: ' ',
trigger: 'blur'
}],
- jsrq: [{
- required: true,
- message: ' ',
- trigger: 'blur'
- }],
+ // jsrq: [{
+ // required: true,
+ // message: ' ',
+ // trigger: 'blur'
+ // }],
cctj: [{
required: true,
message: ' ',
diff --git a/src/views/business/resource/gsp/comps/gspList.vue b/src/views/business/resource/gsp/comps/gspList.vue
index 6503a99..2a1a871 100644
--- a/src/views/business/resource/gsp/comps/gspList.vue
+++ b/src/views/business/resource/gsp/comps/gspList.vue
@@ -104,7 +104,7 @@
:show-overflow-tooltip="true" />
- {{ scope.row.gg }}{{ scope.row.ggdw }}
+ {{ scope.row.gg }}
@@ -113,7 +113,7 @@
-
+
@@ -315,7 +315,7 @@ export default {
'| ' + this.$t('page.business.resource.gsp.gg') + ' | ' +
'' + this.$t('page.business.resource.gsp.kcl') + ' | ' +
'' + this.$t('page.business.resource.gsp.ph') + ' | ' +
- '' + this.$t('page.business.resource.gsp.jsrq') + ' | ' +
+ // '' + this.$t('page.business.resource.gsp.jsrq') + ' | ' +
'' + this.$t('page.business.resource.gsp.cctj') + ' | ' +
'' + this.$t('page.business.resource.gsp.zjzt') + ' | ' +
'' + this.$t('page.business.resource.gsp.jyzt') + ' | ' +
@@ -370,16 +370,14 @@ export default {
' '+value.bh +
'' +
' ' +
- value.gg + value.ggdw +
+ value.gg +
' | ' +
' ' +
value.kc + value.kcdw +
' | ' +
' ' +
value.ph +
- ' | ' +
- ' ' +
- value.jsrq +
+
' | ' +
' ' +
value.cctj +
@@ -513,8 +511,8 @@ export default {
//获取列表
getList() {
if (this.daterange != null && this.daterange.length > 0) {
- this.queryParams.startDate = this.daterange[0] + ' 00:00:00'
- this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
+ this.queryParams.startDate = this.daterange[0]
+ this.queryParams.endDate = this.daterange[1]
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
diff --git a/src/views/business/resource/gsp/comps/rkjlList.vue b/src/views/business/resource/gsp/comps/rkjlList.vue
index 3deaf3d..15e6600 100644
--- a/src/views/business/resource/gsp/comps/rkjlList.vue
+++ b/src/views/business/resource/gsp/comps/rkjlList.vue
@@ -82,8 +82,8 @@
{{
$t('form.export') }}
-
- {{ $t('page.business.resource.gsp.rkl') }}:{{ rkl }}
+
+ {{ $t('page.business.resource.gsp.rkl') }}:{{ rkl != '' ? rkl : '--' }} ;
@@ -423,15 +423,12 @@ export default {
this.loading = false
})
- if (this.queryParams.startDate || this.queryParams.endDate || this.queryParams.mc || this.queryParams.ph
- || this.queryParams.gg || this.queryParams.jlzt || this.queryParams.jyzt) {
- sumRkl(this.queryParams).then(response => {
+ this.getStatistics()
+ },
+ getStatistics() {
+ sumRkl(this.queryParams).then(response => {
this.rkl = response.data.rkl
- })
- } else {
- this.rkl = null
- }
-
+ })
},
//查询
handleQuery() {
From 9749f23a519da2ed72424cd21df758f4664d6408 Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Thu, 16 Apr 2026 22:50:50 +0800
Subject: [PATCH 14/19] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/Step.vue | 5 +-
src/components/Template/StepFormPackage.vue | 2 +
.../Template/mixins/formPackageMixins.js | 82 +++++++++----------
src/lang/en/template/commonTemplate.js | 1 +
src/lang/zh/template/commonTemplate.js | 1 +
src/utils/calUnitTools.js | 1 -
.../business/comps/template/comps/bl/BL002.vue | 4 +-
.../business/comps/template/comps/sp/SP003.vue | 16 ++--
.../comps/template/dialog/SubPackageDialog.vue | 93 ++++++++++++----------
.../comps/template/mixins/templateMixin.js | 1 +
10 files changed, 112 insertions(+), 94 deletions(-)
diff --git a/src/components/Template/Step.vue b/src/components/Template/Step.vue
index 8931129..32f2cff 100644
--- a/src/components/Template/Step.vue
+++ b/src/components/Template/Step.vue
@@ -10,7 +10,7 @@
-
@@ -1196,4 +1196,7 @@ export default {
}
}
}
+.w-0{
+ width: 0;
+}
\ No newline at end of file
diff --git a/src/components/Template/StepFormPackage.vue b/src/components/Template/StepFormPackage.vue
index bdb487b..321006d 100644
--- a/src/components/Template/StepFormPackage.vue
+++ b/src/components/Template/StepFormPackage.vue
@@ -250,6 +250,7 @@ export default {
o.syldw = formFields[item.dwCode];//单位
}
sjResource.push(o);
+
}
}else if(item.type === "yq"){
if(formFields[key]){
@@ -261,6 +262,7 @@ export default {
}
}
}
+ console.log(sjResource,yqResource,allFieldsConfig,formFields,"sjResource")
return {
sjResource,
yqResource,
diff --git a/src/components/Template/mixins/formPackageMixins.js b/src/components/Template/mixins/formPackageMixins.js
index 51706d0..a366af5 100644
--- a/src/components/Template/mixins/formPackageMixins.js
+++ b/src/components/Template/mixins/formPackageMixins.js
@@ -1,5 +1,5 @@
import _ from 'lodash'
-import { getuuid, isEqual, isValueEmpty,isRegent } from '@/utils/index.js'
+import { getuuid, isEqual, isValueEmpty, isRegent } from '@/utils/index.js'
import { isShowOtherByCheckboxTree } from '@/utils/formPackageCommon.js'
import moment from 'moment'
@@ -63,8 +63,8 @@ export default {
this.$set(this.errors, key, false)
}
},
- getOrangeBg(key,sItem) {
- if(sItem.compareText){
+ getOrangeBg(key, sItem) {
+ if (sItem.compareText) {
return sItem.compareText == this.formFields[key]
}
return this.orangeBgFields[key]
@@ -82,8 +82,8 @@ export default {
},
//试剂/仪器等弹窗提交
onRegentSubmit(data, inputValue, key, item) {
- if(data.selectInfo){
- this.formFields[`selectInfo_${key}`] = JSON.parse(JSON.stringify(data.selectInfo));
+ if (data.selectInfo) {
+ this.formFields[`selectInfo_${key}`] = JSON.parse(JSON.stringify(data.selectInfo));
}
if (data.type === "yq") {
this.formFields[`yqInfo_${key}`] = JSON.parse(JSON.stringify(data.row));
@@ -391,45 +391,46 @@ export default {
currentConfig.otherCode
)
}
- })
- // 处理可能存在的直接otherCode字段
- if (item.config?.otherCode) {
- config[item.config?.otherCode] = item.config?.otherCode
- }
- if (item.config?.thirdOtherCode) {
- config[item.config?.thirdOtherCode] = item.config?.thirdOtherCode
- }
- if (isRegent(item.config) || isRegent(item.config,"subType")) {
- // 处理selectInfo_开头的字段,步骤表单需要保留selectInfo_开头的字段
- // 优先使用this.formFields中以selectInfo_开头的字段
- let selectInfoKeys = [], yqInfoKeys = [];
- if (this.formFields) {
- selectInfoKeys = Object.keys(this.formFields).filter((key) =>
- key.startsWith('selectInfo_')
- )
- yqInfoKeys = Object.keys(this.formFields).filter((key) =>
- key.startsWith('yqInfo_')
- )
+ // 处理可能存在的直接otherCode字段
+ if (currentConfig.otherCode) {
+ config[currentConfig.otherCode] = currentConfig.otherCode
}
- // 如果this.formFields中没有,则使用formData中的
- if (selectInfoKeys.length === 0 && formData) {
- selectInfoKeys = Object.keys(formData).filter((key) =>
- key.startsWith('selectInfo_')
- )
+ if (currentConfig.thirdOtherCode) {
+ config[currentConfig.thirdOtherCode] = currentConfig.thirdOtherCode
}
- if (yqInfoKeys.length === 0 && formData) {
- yqInfoKeys = Object.keys(formData).filter((key) =>
- key.startsWith('yqInfo_')
- )
+ if (isRegent(currentConfig) || isRegent(currentConfig, "subType")) {
+ // 处理selectInfo_开头的字段,步骤表单需要保留selectInfo_开头的字段
+ // 优先使用this.formFields中以selectInfo_开头的字段
+ let selectInfoKeys = [], yqInfoKeys = [];
+ if (this.formFields) {
+ selectInfoKeys = Object.keys(this.formFields).filter((key) =>
+ key.startsWith('selectInfo_')
+ )
+ yqInfoKeys = Object.keys(this.formFields).filter((key) =>
+ key.startsWith('yqInfo_')
+ )
+ }
+ // 如果this.formFields中没有,则使用formData中的
+ if (selectInfoKeys.length === 0 && formData) {
+ selectInfoKeys = Object.keys(formData).filter((key) =>
+ key.startsWith('selectInfo_')
+ )
+ }
+ if (yqInfoKeys.length === 0 && formData) {
+ yqInfoKeys = Object.keys(formData).filter((key) =>
+ key.startsWith('yqInfo_')
+ )
+ }
+ selectInfoKeys.forEach((key) => {
+ result[key] = this.formFields[key] || formData[key] || ''
+ })
+ yqInfoKeys.forEach((key) => {
+ result[key] = this.formFields[key] || formData[key] || ''
+ })
}
- selectInfoKeys.forEach((key) => {
- result[key] = this.formFields[key] || formData[key] || ''
- })
- yqInfoKeys.forEach((key) => {
- result[key] = this.formFields[key] || formData[key] || ''
- })
- }
+ })
+
}
})
@@ -649,7 +650,6 @@ export default {
return new Promise((resolve, reject) => {
if (validateResult.valid && subComponentValidateResult.valid) {
- console.log(this.formFields, 'this.formFields')
resolve(this.formFields)
} else if (!validateResult.valid) {
// this.$message.error("表单内容未填完,请填写后再提交");
diff --git a/src/lang/en/template/commonTemplate.js b/src/lang/en/template/commonTemplate.js
index 79c9eef..bb848f9 100644
--- a/src/lang/en/template/commonTemplate.js
+++ b/src/lang/en/template/commonTemplate.js
@@ -9,6 +9,7 @@ export default {
instrumentInfo: 'Instrument Usage',
storageCondition: 'Storage Conditions',
operationSteps: 'Operation Workflow',
+ bzgzypz: '标曲工作液配制',
remark: 'Comments',
step: 'Step',
bqdy: 'Label Print',
diff --git a/src/lang/zh/template/commonTemplate.js b/src/lang/zh/template/commonTemplate.js
index e810a6f..48f7dc5 100644
--- a/src/lang/zh/template/commonTemplate.js
+++ b/src/lang/zh/template/commonTemplate.js
@@ -15,6 +15,7 @@ export default {
instrumentInfo: '仪器使用信息',
storageCondition: '存储条件',
operationSteps: '操作步骤',
+ bzgzypz: '标曲工作液配制',
step: '步骤',
remark: '备注',
bqdy: '标签打印',
diff --git a/src/utils/calUnitTools.js b/src/utils/calUnitTools.js
index 4ad979f..7d9c429 100644
--- a/src/utils/calUnitTools.js
+++ b/src/utils/calUnitTools.js
@@ -8,7 +8,6 @@ export function addTj(valueArr, unitArr) {
let thisIndex = unit.indexOf(unitArr[i])
mixIndex = thisIndex < mixIndex ? thisIndex : mixIndex
}
-
let total = 0
for (let i = 0; i < unitArr.length; i++) {
let thisIndex = unit.indexOf(unitArr[i])
diff --git a/src/views/business/comps/template/comps/bl/BL002.vue b/src/views/business/comps/template/comps/bl/BL002.vue
index 118a9a4..319c380 100644
--- a/src/views/business/comps/template/comps/bl/BL002.vue
+++ b/src/views/business/comps/template/comps/bl/BL002.vue
@@ -221,10 +221,10 @@ export default {
if( stepTableFormData && stepTableFormData.length >0 ){
stepTableFormData.map((item,index)=>{
if(!item.smryqrxx && item.smryqrxx !== false){
- this.$refs.yqsyTableRef.updateDataSourceByRowIndex(index, {...item,smryqrxx:false})
+ this.$refs.dwybTableRef.updateDataSourceByRowIndex(index, {...item,smryqrxx:false})
}
if(!item.ztblxjqrxx && item.ztblxjqrxx !== false){
- this.$refs.yqsyTableRef.updateDataSourceByRowIndex(index, {...item,ztblxjqrxx:false})
+ this.$refs.dwybTableRef.updateDataSourceByRowIndex(index, {...item,ztblxjqrxx:false})
}
})
}
diff --git a/src/views/business/comps/template/comps/sp/SP003.vue b/src/views/business/comps/template/comps/sp/SP003.vue
index 46b7f6e..402304a 100644
--- a/src/views/business/comps/template/comps/sp/SP003.vue
+++ b/src/views/business/comps/template/comps/sp/SP003.vue
@@ -12,9 +12,9 @@
-
+
+ {{
+ $t('template.common.downloadTableData') }}
+
+ :showOperation="fillType === 'preFill'" fieldItemLabel="template.common.operationSteps"
+ @clickButton="handleClickButton">
deleteRow(rowIndex)">
@@ -53,19 +56,21 @@ import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin.js";
import CustomTable from '@/components/Template/CustomTable.vue';
-import { isValueEmpty } from '@/utils/index';
+import { isValueEmpty, getStringWidth } from '@/utils/index';
import { getLatestSnArr } from '@/api/template';
import { EventBus } from "@/utils/eventBus";
import { volumeConverter } from "@/utils/volConverter";//体积单位转换
import { convertConcentration } from "@/utils/conConverter";//浓度单位转换
import SelectReagentDialog from '../../dialog/SelectReagentDialog.vue';
-import { getPCR007Config } from "../../formConfig/PCRTableConfig.js";
+import { getPCR007Config } from "../../formConfig/PCRTableConfig.js";
import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue"
-import { addTj, uniqeResource, uniqeResourceOne, addDecimals,uniqeYqOne } from "@/utils/calUnitTools";
+import { addTj, uniqeResource, uniqeResourceOne, addDecimals, uniqeYqOne } from "@/utils/calUnitTools";
import ImportExcelDialog from '../../dialog/ImportExcelDialog'
import { getBalance } from '@/utils/tpph.js';
+import * as XLSX from 'xlsx'
+
export default {
- name: "PCR005",
+ name: "PCR007",
components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable, TableOpertaion, SelectReagentDialog, ImportExcelDialog },
mixins: [templateMixin],
props: {
@@ -192,9 +197,54 @@ export default {
},
mounted() {
const formData = this.getFormDataByTemplateData();
+
this.onHandleTableBlur()
},
methods: {
+ downloadTableData() {
+ this.$modal.loading()
+ let content = this.getFilledFormData();
+ var tabelStr =
+ '' +
+ '' +
+ '| ' + '样品名称' + ' | ' +
+ '' + '采集管重量' + content.headerSelectFields.cjgzlUnit + ' | ' +
+ ' '
+ let _datastr = ''
+ _.forEach(content.stepTableFormData, function (value) {
+ _datastr =
+ _datastr +
+ '' +
+ ' | ' +
+ value.ypmc +
+ ' | ' +
+ ' ' +
+ value.cjgzl +
+ ' | ' +
+ ' '
+ })
+ tabelStr = tabelStr + _datastr + ' '
+ // Worksheet名
+ var worksheet = this.formData.bdmc
+ var uri = 'data:application/vnd.ms-excel;base64,'
+ // 真正要导出(下载)的HTML模板
+ var exportTemplate = `
+
+
+
+ ${tabelStr}
+
+ `
+ var a = document.createElement('a')
+ a.download = worksheet + '.xls'
+ a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
+ a.click()
+ this.$modal.closeLoading()
+ },
downloadExcelTemplate() {
this.exportExcel(['样品名称', '样品初始浓采样前样品管试剂预计添加体积度'], 'PCR分析采集管称重记录表导入模板')
},
@@ -212,7 +262,7 @@ export default {
list.push({
ypmc: item[0],
cyqypgsjyjtjtj: item[1],
- id:this.getuuid(),
+ id: this.getuuid(),
})
})
this.$refs.stepTableRef.addRows(list)
@@ -256,11 +306,11 @@ export default {
//使用仪器
tmpYq.push(content.selectInfo_solution || formData.selectInfo_solution)
-
+
//使用的试剂、仪器
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = uniqeResource(tmpResource, stepResource.sjResource || [])
- this.yqResourceTmp = uniqeYqOne([...stepResource.yqResource || [],...tmpYq])
+ this.yqResourceTmp = uniqeYqOne([...stepResource.yqResource || [], ...tmpYq])
return this.resourceTmp;
},
//保存
@@ -276,18 +326,18 @@ export default {
}
},
//第五步表格按钮点击
- async handleClickButton(e, rowIndex,colIndex,ee,data) {
- if(e==='targetDiluentVolumePrecision'){
+ async handleClickButton(e, rowIndex, colIndex, ee, data) {
+ if (e === 'targetDiluentVolumePrecision') {
const content = this.getFilledFormData()
- let formData = this.formData;
+ let formData = this.formData;
let qy = content.yqInfo_solution || formData.yqInfo_solution
let dw = content.headerSelectFields.cjgzlUnit
- let x = await getBalance({yq:qy,dw:dw})
- if(x && x.success){
- this.$refs.stepTableRef?.updateDataSourceByRowIndex(rowIndex, { cjgzl: x.value },{signData:data,updateFields:['cjgzl']});
- }else{
+ let x = await getBalance({ yq: qy, dw: dw })
+ if (x && x.success) {
+ this.$refs.stepTableRef?.updateDataSourceByRowIndex(rowIndex, { cjgzl: x.value }, { signData: data, updateFields: ['cjgzl'] });
+ } else {
this.$message.error(x.message || '称量失败')
}
}
From 1401d0432389be84ba126d5059ab25cf21c6e73e Mon Sep 17 00:00:00 2001
From: "15881625488@163.com" <15881625488@163.com>
Date: Fri, 17 Apr 2026 09:59:02 +0800
Subject: [PATCH 16/19] =?UTF-8?q?fix:[=E7=89=B9=E6=AE=8A=E8=A1=A8=E5=8D=95?=
=?UTF-8?q?]=E8=A7=82=E5=AF=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lang/en/template/dl.js | 6 +-
src/lang/zh/template/dl.js | 6 +-
.../business/comps/template/comps/dl/DL011.vue | 165 +++++++++++++--------
3 files changed, 112 insertions(+), 65 deletions(-)
diff --git a/src/lang/en/template/dl.js b/src/lang/en/template/dl.js
index ce4ba9a..6262c50 100644
--- a/src/lang/en/template/dl.js
+++ b/src/lang/en/template/dl.js
@@ -168,7 +168,11 @@ export default {
pytjText: 'Culture Conditions',
pykssj: 'Culture Start Time',
pykssjButton: 'Start',
- bqdy: 'Label Print'
+ bqdy: 'Label Print',
+ gcbz:'View Remark',
+ czrqm:'Signed By',
+ czrqmsj:'Date',
+ xbfshzk:'Post-thaw cell condition'
},
dl012: {
...common,
diff --git a/src/lang/zh/template/dl.js b/src/lang/zh/template/dl.js
index c1eae5f..409e055 100644
--- a/src/lang/zh/template/dl.js
+++ b/src/lang/zh/template/dl.js
@@ -165,7 +165,11 @@ export default {
pytjText: '培养条件',
pykssj: '培养开始时间',
pykssjButton: '开始',
- bqdy: '标签打印'
+ bqdy: '标签打印',
+ gcbz:'观察备注',
+ czrqm:'操作人签名',
+ czrqmsj:'操作人签名时间',
+ xbfshzk:'细胞复苏后状况'
},
dl012: {
...common,
diff --git a/src/views/business/comps/template/comps/dl/DL011.vue b/src/views/business/comps/template/comps/dl/DL011.vue
index 79084d6..0fb564e 100644
--- a/src/views/business/comps/template/comps/dl/DL011.vue
+++ b/src/views/business/comps/template/comps/dl/DL011.vue
@@ -8,24 +8,11 @@
-
+
-
-
+
+
@@ -35,14 +22,8 @@
$t('template.dl.dl011.bqdy')
}}
- onTableRegentSubmit(data)"
- :formData="formData"
- />
+ onTableRegentSubmit(data)" :formData="formData" />
@@ -51,24 +32,55 @@
- onTableRegentSubmit(data)"
- @clickButton="handlePyxxClickButton"
- />
+ onTableRegentSubmit(data)"
+ @clickButton="handlePyxxClickButton" />
-
+
+
+
+
+
+ {{ JSON.parse(item.jcnr)[0].name }}
+
+
+
+
+
+
+ {{ JSON.parse(item.jcnrEn)[0].name }}
+
+
+
+
+
+
+ {{ $t('template.dl.dl011.gcbz') }}
+
+
+
+
+
+
+
+ {{ $t('template.dl.dl011.czrqm') }}
+
+
+
+
+
+
+ {{ $t('template.dl.dl011.czrqmsj') }}
+
+
+
+
+
+
+
+
@@ -76,6 +88,7 @@
|