|
|
@@ -1,7 +1,6 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
- <u-popup :show="visible" :round="0" :closeOnClickOverlay="false" :zIndex="99999"
|
|
|
- @close="closePopup">
|
|
|
+ <u-popup :show="visible" :round="0" :closeOnClickOverlay="false" :zIndex="99999" @close="closePopup">
|
|
|
<view class="popup-content">
|
|
|
<view class="popup-header">
|
|
|
<text class="popup-title">{{ title }}</text>
|
|
|
@@ -146,7 +145,8 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">请样目的</text>
|
|
|
<view class="value-wrap">
|
|
|
- <u-input v-model="form.pleasePurpose" placeholder="请输入" border="none" :disabled="type=='view'"></u-input>
|
|
|
+ <u-input v-model="form.pleasePurpose" placeholder="请输入" border="none"
|
|
|
+ :disabled="type=='view'"></u-input>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -154,21 +154,26 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">质检方式</text>
|
|
|
<view class="value-wrap">
|
|
|
- <DictSelection v-model="form.qualityMode" @change="handleQualityModeChange"
|
|
|
- :disabled="form.isFirstSampling != '1'||type=='view'" dictName="取样类型"></DictSelection>
|
|
|
+ <DictSelection v-model="form.qualityMode" @itemChange="handleQualityModeChange"
|
|
|
+ :disabled="form.isFirstSampling != '1'||type=='view'" dictName="取样类型">
|
|
|
+ </DictSelection>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="form-row">
|
|
|
<view class="form-item">
|
|
|
<text class="label">记录方法</text>
|
|
|
- <view class="value-wrap" @click="selectRecordingMethod"
|
|
|
- :class="{ disabled: form.isFirstSampling != '1'||type=='view' }">
|
|
|
- <u-input :value="recordingMethodList.find(item=>item.value==form.recordingMethod)&&recordingMethodList.find(item=>item.value==form.recordingMethod).label" placeholder="请选择" border="none" disabled>
|
|
|
- <template #suffix>
|
|
|
- <text class="arrow">›</text>
|
|
|
- </template>
|
|
|
- </u-input>
|
|
|
+ <view class="value-wrap">
|
|
|
+
|
|
|
+
|
|
|
+ <view class="select-input"
|
|
|
+ :class="{ disabled: form.isFirstSampling != '1'||type=='view' }"
|
|
|
+ @click="selectRecordingMethod">
|
|
|
+ <text
|
|
|
+ class="value-text">{{ recordingMethodList.find(item=>item.value==form.recordingMethod)&&recordingMethodList.find(item=>item.value==form.recordingMethod).label||'请选择' }}</text>
|
|
|
+ <text class="arrow">›</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -177,14 +182,20 @@
|
|
|
<view class="form-row">
|
|
|
<view class="form-item">
|
|
|
<text class="label">请样类型</text>
|
|
|
- <view class="value-wrap" @click="selectConditionType"
|
|
|
- :class="{ disabled: form.isFirstSampling != '1'||type=='view' }">
|
|
|
- <u-input :value="conditionTypeColumns.find(item=>item.value==form.conditionType)&&conditionTypeColumns.find(item=>item.value==form.conditionType).label" placeholder="请选择" border="none"
|
|
|
- disabled>
|
|
|
- <template #suffix>
|
|
|
- <text class="arrow">›</text>
|
|
|
- </template>
|
|
|
- </u-input>
|
|
|
+ <view class="value-wrap" @click="selectConditionType">
|
|
|
+
|
|
|
+
|
|
|
+ <view class="select-input"
|
|
|
+ :class="{ disabled: form.isFirstSampling != '1'||type=='view' }"
|
|
|
+ @click="selectConditionType">
|
|
|
+ <text
|
|
|
+ class="value-text">{{ conditionTypeColumns.find(item=>item.value==form.conditionType)&&conditionTypeColumns.find(item=>item.value==form.conditionType).label||'请选择' }}</text>
|
|
|
+ <text class="arrow">›</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -193,20 +204,21 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">数量</text>
|
|
|
<view class="value-wrap">
|
|
|
- <u-input v-model="form.quantity" :disabled="type=='view'" placeholder="请输入" border="none"></u-input>
|
|
|
+ <u-input v-model="form.quantity" :disabled="type=='view'" placeholder="请输入"
|
|
|
+ border="none"></u-input>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="form-row" v-if="form.conditionType == 2">
|
|
|
<view class="form-item">
|
|
|
<text class="label">单位</text>
|
|
|
- <view class="value-wrap" @click="selectUnit"
|
|
|
- :class="{ disabled: form.isFirstSampling != '1'||type=='view' }">
|
|
|
- <u-input v-model="form.unit" placeholder="请选择" border="none" disabled>
|
|
|
- <template #suffix>
|
|
|
- <text class="arrow">›</text>
|
|
|
- </template>
|
|
|
- </u-input>
|
|
|
+ <view class="value-wrap">
|
|
|
+
|
|
|
+ <DictSelection v-model="form.unit" @itemChange="handleQualityModeChange"
|
|
|
+ :disabled="form.isFirstSampling != '1'||type=='view'" dictName="计量单位">
|
|
|
+ </DictSelection>
|
|
|
+
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -214,7 +226,8 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">条数</text>
|
|
|
<view class="value-wrap">
|
|
|
- <u-input v-model="form.portion" :disabled="type=='view'" placeholder="请输入" border="none"></u-input>
|
|
|
+ <u-input v-model="form.portion" :disabled="type=='view'" placeholder="请输入"
|
|
|
+ border="none"></u-input>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -223,20 +236,29 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">数量</text>
|
|
|
<view class="value-wrap">
|
|
|
- <u-input v-model="form.portion" :disabled="type=='view'" placeholder="请输入" border="none"></u-input>
|
|
|
+ <u-input v-model="form.portion" :disabled="type=='view'" placeholder="请输入"
|
|
|
+ border="none"></u-input>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="form-row" v-if="form.conditionType == 1">
|
|
|
<view class="form-item">
|
|
|
<text class="label">单位</text>
|
|
|
- <view class="value-wrap" @click="selectPackingUnit"
|
|
|
- :class="{ disabled: form.isFirstSampling != '1'||type=='view' }">
|
|
|
- <u-input v-model="form.unit" placeholder="请选择" border="none" disabled>
|
|
|
- <template #suffix>
|
|
|
- <text class="arrow">›</text>
|
|
|
- </template>
|
|
|
- </u-input>
|
|
|
+ <view class="value-wrap"
|
|
|
+ >
|
|
|
+
|
|
|
+
|
|
|
+ <view class="select-input"
|
|
|
+ :class="{ disabled: form.isFirstSampling != '1'||type=='view' }"
|
|
|
+ @click="selectPackingUnit">
|
|
|
+ <text
|
|
|
+ class="value-text">{{ packingSpecificationOption.find(item=>item.id==form.packingUnit)&&packingSpecificationOption.find(item=>item.id==form.packingUnit).conversionUnit||'请选择' }}</text>
|
|
|
+ <text class="arrow">›</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -282,30 +304,29 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<u-toast ref="uToast"></u-toast>
|
|
|
- </u-popup>
|
|
|
|
|
|
- <!-- 质检工单选择弹窗 -->
|
|
|
- <inspectionWorkDialog ref="inspectionWorkDialog" @changeParent="changeParent"></inspectionWorkDialog>
|
|
|
+ <!-- 记录方法选择 -->
|
|
|
+ <u-picker :show="showRecordingMethodPicker" keyName="label" :columns="[recordingMethodList]" @confirm="confirmRecordingMethod" @cancel="showRecordingMethodPicker = false"></u-picker>
|
|
|
+
|
|
|
+ <!-- 请样类型选择 -->
|
|
|
+ <u-picker :show="showConditionTypePicker" :columns="[conditionTypeColumns]" keyName="label" @confirm="confirmConditionType"
|
|
|
+ @cancel="showConditionTypePicker = false"></u-picker>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 包装单位选择 -->
|
|
|
+ <u-picker :show="showPackingUnitPicker" keyName="label" :columns="[packingSpecificationOption.map(item=>{
|
|
|
+ return {
|
|
|
+ label:item.conversionUnit,
|
|
|
+ value:item.id
|
|
|
+ }
|
|
|
+ })]" @confirm="confirmPackingUnit"
|
|
|
+ @cancel="showPackingUnitPicker = false"></u-picker>
|
|
|
+ </u-popup>
|
|
|
|
|
|
- <!-- 质检方式选择 -->
|
|
|
- <u-picker :show="showQualityModePicker" :columns="qualityModeColumns" @confirm="confirmQualityMode"
|
|
|
- @cancel="showQualityModePicker = false"></u-picker>
|
|
|
|
|
|
- <!-- 记录方法选择 -->
|
|
|
- <u-picker :show="showRecordingMethodPicker" :columns="[recordingMethodList]" @confirm="confirmRecordingMethod"
|
|
|
- @cancel="showRecordingMethodPicker = false"></u-picker>
|
|
|
|
|
|
- <!-- 请样类型选择 -->
|
|
|
- <u-picker :show="showConditionTypePicker" :columns="[conditionTypeColumns]" @confirm="confirmConditionType"
|
|
|
- @cancel="showConditionTypePicker = false"></u-picker>
|
|
|
|
|
|
- <!-- 单位选择 -->
|
|
|
- <u-picker :show="showUnitPicker" :columns="unitColumns" @confirm="confirmUnit"
|
|
|
- @cancel="showUnitPicker = false"></u-picker>
|
|
|
|
|
|
- <!-- 包装单位选择 -->
|
|
|
- <u-picker :show="showPackingUnitPicker" :columns="packingUnitColumns" @confirm="confirmPackingUnit"
|
|
|
- @cancel="showPackingUnitPicker = false"></u-picker>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -333,7 +354,7 @@
|
|
|
qualityWorkOrderCode: "",
|
|
|
qualityWorkOrderName: "",
|
|
|
isFirstSampling: "",
|
|
|
- measureUnit:''
|
|
|
+ measureUnit: ''
|
|
|
};
|
|
|
import {
|
|
|
queryQualityInventory,
|
|
|
@@ -345,11 +366,13 @@
|
|
|
samplingrecordUpdate,
|
|
|
samplingRecordsPage,
|
|
|
} from "@/api/samplingRecords";
|
|
|
- import inspectionWorkDialog from "./components/inspectionWorkDialog.vue";
|
|
|
- import { getCodeList, getCode, parameterGetByCode } from '@/api/pda/picking.js'
|
|
|
+ import {
|
|
|
+ getCodeList,
|
|
|
+ getCode,
|
|
|
+ parameterGetByCode
|
|
|
+ } from '@/api/pda/picking.js'
|
|
|
export default {
|
|
|
components: {
|
|
|
- inspectionWorkDialog,
|
|
|
DictSelection
|
|
|
},
|
|
|
|
|
|
@@ -383,12 +406,11 @@
|
|
|
],
|
|
|
selection: [],
|
|
|
// 弹窗相关
|
|
|
- showQualityModePicker: false,
|
|
|
+
|
|
|
showRecordingMethodPicker: false,
|
|
|
showConditionTypePicker: false,
|
|
|
showUnitPicker: false,
|
|
|
showPackingUnitPicker: false,
|
|
|
- qualityModeColumns: [],
|
|
|
recordingMethodPickerColumns: [],
|
|
|
conditionTypeColumns: [{
|
|
|
label: "请整样",
|
|
|
@@ -399,9 +421,7 @@
|
|
|
value: 2
|
|
|
},
|
|
|
],
|
|
|
- unitColumns: [
|
|
|
- []
|
|
|
- ],
|
|
|
+
|
|
|
packingUnitColumns: [
|
|
|
[]
|
|
|
],
|
|
|
@@ -520,24 +540,12 @@
|
|
|
this.getById(row.id);
|
|
|
}
|
|
|
},
|
|
|
- // 选择质检工单
|
|
|
- selectQualityWorkOrder() {
|
|
|
- this.$refs.inspectionWorkDialog.open();
|
|
|
- },
|
|
|
- // 质检方式选择
|
|
|
- selectQualityMode() {
|
|
|
- if (this.form.isFirstSampling != "1") return;
|
|
|
- this.qualityModeColumns = [this.sampleNumberList];
|
|
|
- this.showQualityModePicker = true;
|
|
|
- },
|
|
|
- confirmQualityMode(e) {
|
|
|
- this.form.qualityMode = e.value[0].value;
|
|
|
- this.form.qualityModeName = e.value[0].label;
|
|
|
- this.handleQualityModeChange(e.value[0].value);
|
|
|
- this.showQualityModePicker = false;
|
|
|
- },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 记录方法选择
|
|
|
selectRecordingMethod() {
|
|
|
+ console.log(this.form.isFirstSampling, 'this.form.isFirstSampling')
|
|
|
if (this.form.isFirstSampling != "1") return;
|
|
|
// this.recordingMethodPickerColumns = [this.recordingMethodList];
|
|
|
this.showRecordingMethodPicker = true;
|
|
|
@@ -558,37 +566,20 @@
|
|
|
this.form.conditionTypeName = e.value[0].label;
|
|
|
this.showConditionTypePicker = false;
|
|
|
},
|
|
|
- // 单位选择
|
|
|
- selectUnit() {
|
|
|
- if (this.form.isFirstSampling != "1") return;
|
|
|
- let unitList = this.packingSpecificationOption.map(
|
|
|
- (item) => item.conversionUnit,
|
|
|
- );
|
|
|
- this.unitColumns = [unitList];
|
|
|
- this.showUnitPicker = true;
|
|
|
- },
|
|
|
- confirmUnit(e) {
|
|
|
- this.form.unit = e.value[0];
|
|
|
- this.showUnitPicker = false;
|
|
|
- },
|
|
|
+
|
|
|
// 包装单位选择
|
|
|
selectPackingUnit() {
|
|
|
if (this.form.isFirstSampling != "1") return;
|
|
|
- let unitList = this.packingSpecificationOption.map(
|
|
|
- (item) => item.conversionUnit,
|
|
|
- );
|
|
|
- this.packingUnitColumns = [unitList];
|
|
|
+ // let unitList = this.packingSpecificationOption.map(
|
|
|
+ // (item) => item.conversionUnit,
|
|
|
+ // );
|
|
|
+ // this.packingUnitColumns = [unitList];
|
|
|
this.showPackingUnitPicker = true;
|
|
|
},
|
|
|
confirmPackingUnit(e) {
|
|
|
- let selectedItem = this.packingSpecificationOption.find(
|
|
|
- (item) => item.conversionUnit === e.value[0],
|
|
|
- );
|
|
|
- if (selectedItem) {
|
|
|
- this.form.packingUnit = selectedItem.id;
|
|
|
- this.form.packingUnitName = selectedItem.conversionUnit;
|
|
|
- this.form.unit = selectedItem.conversionUnit;
|
|
|
- }
|
|
|
+
|
|
|
+ this.$set(this.form, 'packingUnit', e.value[0].value);
|
|
|
+ this.$set(this.form, 'unit', e.value[0].label);
|
|
|
this.showPackingUnitPicker = false;
|
|
|
},
|
|
|
parameterGetByCode() {
|
|
|
@@ -618,6 +609,7 @@
|
|
|
this.form.qualityWorkOrderCode = row.code;
|
|
|
this.form.qualityWorkOrderName = row.name;
|
|
|
this.workSampleQuantity = Number(row.sampleQuantity) || 0;
|
|
|
+ this.form.recordingMethod = this.form.recordingMethod || '1'
|
|
|
|
|
|
if (!list1?.length) {
|
|
|
this.form.isFirstSampling = 1;
|
|
|
@@ -687,7 +679,7 @@
|
|
|
this.form = {
|
|
|
...defForm,
|
|
|
};
|
|
|
- this.workSampleQuantity=0
|
|
|
+ this.workSampleQuantity = 0
|
|
|
this.schemeList = [];
|
|
|
this.packingSpecificationOption = [];
|
|
|
this.sampleList = [];
|
|
|
@@ -695,9 +687,7 @@
|
|
|
|
|
|
this.visible = false;
|
|
|
},
|
|
|
- changeParent(row) {
|
|
|
- this.init(row);
|
|
|
- },
|
|
|
+
|
|
|
async datasource(unit, isPackingUnit) {
|
|
|
const res = await queryQualityInventory({
|
|
|
qualityWorkerId: this.form.qualityWorkOrderId,
|
|
|
@@ -1135,8 +1125,11 @@
|
|
|
return true;
|
|
|
},
|
|
|
|
|
|
- handleQualityModeChange(val) {
|
|
|
- if (val == 1) {
|
|
|
+ handleQualityModeChange({
|
|
|
+ dictCode,
|
|
|
+ dictValue
|
|
|
+ }) {
|
|
|
+ if (dictCode == 1) {
|
|
|
this.updatePackingList();
|
|
|
} else {
|
|
|
this.sampleList = [];
|
|
|
@@ -1580,4 +1573,35 @@
|
|
|
flex: 1;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .select-input {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding: 20rpx 0;
|
|
|
+ min-height: 70rpx;
|
|
|
+ border-bottom: 1rpx solid #e5e5e5;
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ &.disabled {
|
|
|
+ opacity: 0.6;
|
|
|
+ }
|
|
|
+
|
|
|
+ .value-text {
|
|
|
+ flex: 1;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #333;
|
|
|
+
|
|
|
+ &.empty {
|
|
|
+ color: #999;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .arrow {
|
|
|
+ font-size: 40rpx;
|
|
|
+ color: #999;
|
|
|
+ line-height: 1;
|
|
|
+ margin-left: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|