huangxw 6 dias atrás
pai
commit
3b089fd46b

+ 1 - 1
src/plant/storage/seed-source/info-edit/index.vue

@@ -364,7 +364,7 @@ const form = ref<seedInfoListType>({
     adcode: '',
     instoreBizInfo: {
         motherFatherFlag: '',
-        idFlag: '1',
+        idFlag: '0',
         genUnit: '',
     },
     supplierId: undefined,

+ 165 - 1
src/plant/storage/seed-source/info-update/index.vue

@@ -529,6 +529,170 @@
                     </up-form-item>
                 </view>
             </template>
+            <template v-if="form.instoreType == '4'">
+                <view class="pd-24">
+                    <view class="startline-title">种源信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <!-- 基本信息 -->
+                    <view class="h-1" id="seedTypepppp"></view>
+                    <up-form-item borderBottom label="种源类型" required prop="seedType">
+                        <view v-if="form.seedType" class="f-s-30 c-999 f-w-5 flex1">{{ selectDictLabel(pt_seed_type, form.seedType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种源类型</view>
+                    </up-form-item>
+                    <view class="h-1" id="varietyIdpppp"></view>
+                    <up-form-item borderBottom label="物种基原" required prop="varietyId">
+                        <view class="flex1">
+                            <up-button v-if="!form.varietyId" @click="selectVarietyId" type="primary" plain>
+                                <image class="w-36 h-36 mr-10" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/select_push_icon.png" mode="widthFix" />
+                                <span>请选择物种基原</span>
+                            </up-button>
+                            <view v-else class="bg-#FBFDFB card-info-block pd-24 p-rtv">
+                                <view class="mb-16">
+                                    <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.varietyName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.latinName }}</span>
+                                </view>
+                                <view class="mb-16">
+                                    <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.genusName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.genusLatinName }}</span>
+                                </view>
+                                <view v-if="form?.varietyInfo?.medicineName" class="f-s-24 c-#666">产出:{{ form?.varietyInfo?.medicineName }}</view>
+                            </view>
+                        </view>
+                    </up-form-item>
+                    <up-form-item borderBottom label="具体品种/品系名称" prop="seedName">
+                        <up-input v-model="form.seedName" placeholder="请输入具体品种/品系名称" border="none" clearable></up-input>
+                    </up-form-item>
+                    <view class="h-1" id="seedSourcepppp"></view>
+                    <up-form-item borderBottom label="种源来源" required prop="seedSource">
+                        <view v-if="form.seedSource" class="f-s-30 c-999 f-w-5 flex1">{{ selectDictLabel(pt_seed_source, form.seedSource) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种源来源</view>
+                    </up-form-item>
+                 
+                    <!-- 检验报告与供应商信息 -->
+                    <up-form-item borderBottom label="检验报告" prop="examinReport">
+                        <ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
+                    </up-form-item>
+
+                    <!-- 菌种编码信息 -->
+                    <up-form-item required v-if="['A4', 'A8'].includes(form.seedType as string)" :label="`${selectDictLabel(pt_seed_type, form.seedType as string)}编号`" class="form-item-bottom-padding-0">
+                        <view class="f-s-30 c-999 f-w-5 flex1"> {{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }} </view>
+                    </up-form-item>
+                    <!-- 个体标识:此处仅占位,后续可改为多选列表 -->
+                    <view class="h-1" id="idFlagpppp"></view>
+                    <up-form-item borderBottom label="是否有个体标识" prop="idFlag" required>
+                        <up-radio-group v-model="form.instoreBizInfo.idFlag">
+                            <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
+                        </up-radio-group>
+                    </up-form-item>
+                    <!-- 个体标识:此处仅占位,后续可改为多选列表 -->
+                    <view class="h-1" id="animalspppp"></view>
+                    <template v-if="+form?.instoreBizInfo?.idFlag">
+                        <up-form-item borderBottom label="个体标识号" prop="animals" required>
+                            <AnimalsInput v-model="form.instoreBizInfo.animals"></AnimalsInput>
+                        </up-form-item>
+                    </template>
+                    <!-- 保藏方法 -->
+                    <up-form-item borderBottom label="保藏方法" prop="storageMethod">
+                        <up-input v-model="form.instoreBizInfo.storageMethod" placeholder="请输入保藏方法" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 媒体与附件 -->
+                    <up-form-item borderBottom label="种源图片" prop="imgs">
+                        <ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
+                    </up-form-item>
+                    <up-form-item borderBottom label="种源视频" prop="vedios">
+                        <ut-upload v-model="form.vedios" :max-count="3" accept="video" valueType="string"></ut-upload>
+                    </up-form-item>
+
+                    <!-- 种源产地 -->
+                    <up-form-item borderBottom label="种源产地">
+                        <view v-if="form.adcode" class="f-s-30 c-333 f-w-5 flex1">{{ form.adcodeName }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种源产地</view>
+                    </up-form-item>
+                    <ut-action-sheet :tabs="pt_breeding_materials" mode="custom" title="繁殖材料" multiple v-model="form.generationMaterial">
+                        <up-form-item borderBottom label="繁殖材料" prop="generationMaterial">
+                            <view v-if="form.generationMaterial" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabels(pt_breeding_materials, form.generationMaterial, ',') }}</view>
+                            <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁殖材料</view>
+                            <template #right>
+                                <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
+                            </template>
+                        </up-form-item>
+                    </ut-action-sheet>
+
+                    <PickerAreaInput v-model="form.generationAdcode" v-model:full-name="form.generationAdcodeName" :maxLevel="4" title="选择繁殖地点/采集地点">
+                        <up-form-item borderBottom label="繁殖地点/采集地点" prop="generationAdcode">
+                            <view v-if="form.generationAdcode" class="f-s-30 c-333 f-w-5 flex1">{{ form.generationAdcodeName }}</view>
+                            <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择繁殖地点/采集地点</view>
+                            <template #right>
+                                <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
+                            </template>
+                        </up-form-item>
+                    </PickerAreaInput>
+                    <!-- 资质证明附件(暂按上传控件处理,可后续细化) -->
+                    <up-form-item borderBottom label="物种鉴定证书" prop="spCert">
+                        <ut-upload v-model="form.spCert" :max-count="9" valueType="array" accept="file"></ut-upload>
+                    </up-form-item>
+                    <!-- 检疫信息 -->
+                    <up-form-item borderBottom label="种源检疫证号" prop="seedCheckSn">
+                        <up-input v-model="form.seedCheckSn" placeholder="请输入种源检疫证号" border="none" clearable></up-input>
+                    </up-form-item>
+                    <up-form-item borderBottom label="种源检疫证书" prop="seedCheckCert">
+                        <ut-upload v-model="form.seedCheckCert" :max-count="9" valueType="array" accept="file"></ut-upload>
+                    </up-form-item>
+                </view>
+
+                <view class="pd-24">
+                    <view class="startline-title">入库信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <!-- 种源级别 -->
+                    <up-form-item borderBottom label="种源级别" prop="seedLevel">
+                        <up-input v-model="form.seedLevel" placeholder="请输入种源级别" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 入库类型 -->
+                    <up-form-item borderBottom label="入库类型" required prop="instoreType">
+                        <view v-if="form.instoreType" class="f-s-30 c-999 f-w-5 flex1">{{ selectDictLabel(pt_seed_instore_type, form.instoreType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择入库类型</view>
+                    </up-form-item>
+                    <!-- 入库日期 -->
+                    <view class="h-1" id="instoreDatepppp"></view>
+                    <ut-datetime-picker v-model="form.instoreBizInfo.instoreDate" :maxDate="new Date()" mode="date">
+                        <up-form-item borderBottom label="入库日期" required prop="instoreDate">
+                            <up-input v-model="form.instoreBizInfo.instoreDate" readonly placeholder="请选择入库日期" border="none" clearable></up-input>
+                            <template #right>
+                                <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
+                            </template>
+                        </up-form-item>
+                    </ut-datetime-picker>
+                       <!-- 入库数量与单位 -->
+                    <view class="h-1" id="capacitypppp"></view>
+                    <view class="h-1" id="unitpppp"></view>
+                    <up-form-item label="入库量" prop="capacity" required class="form-item-bottom-padding-0">
+                        <view class="f-s-30 c-999 f-w-5 flex1">{{ form?.capacity }}{{ form?.unit }}</view>
+                    </up-form-item>
+                    <!-- 入库批号 -->
+                    <up-form-item borderBottom label="入库批号" required prop="batchCode">
+                        <view class="f-s-30 c-999 f-w-5 flex1">{{ form.batchCode }}</view>
+                    </up-form-item>
+                    <!-- 库房类型 -->
+                    <up-form-item borderBottom label="库房类型" prop="storageType" required>
+                        <view v-if="form.storageType" class="f-s-30 c-999 f-w-5 flex1">{{ selectDictLabel(pt_warehouse_type, form.storageType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择库房类型</view>
+                    </up-form-item>
+                    <!-- 存放库房(具体库房/货架信息稍后补充为选择器) -->
+                    <up-form-item borderBottom label="存放库房" prop="warehouses">
+                        <select-warehouse-input v-model="form.warehouses" title="添加种源存放库房" :params="{ type: '2' }"></select-warehouse-input>
+                    </up-form-item>
+                    <!-- 入库人 -->
+                    <up-form-item borderBottom label="入库人" required prop="instoreMg">
+                        <up-input v-model="form.instoreBizInfo.instoreMg" placeholder="请输入入库人" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 入库备注 -->
+                    <up-form-item borderBottom label="入库备注" prop="remark">
+                        <up-textarea v-model="form.instoreBizInfo.remark" placeholder="请输入入库备注" autoHeight></up-textarea>
+                    </up-form-item>
+                </view>
+            </template>
         </up-form>
         <template #bottom>
             <view class="pd-20 d-flex">
@@ -561,7 +725,7 @@ const form = ref<seedInfoListType | any>({
     adcode: '',
     instoreBizInfo: {
         motherFatherFlag: '',
-        idFlag: '1',
+        idFlag: '0',
         genUnit: '',
         instoreDate: '',
         instoreMg: '',