Przeglądaj źródła

fix sample question

ZZJ 2 lat temu
rodzic
commit
365fd177e1

+ 2 - 0
src/views/system/jbdScan/goods/liuyangData.vue

@@ -197,7 +197,9 @@ export default {
   methods: {
     
     clearPosition(){
+        console.log('start')
         this.placeValue = null
+        console.log('end...'+this.placeValue)
     },
     positionBtn() {
       this.loadQueryData();

+ 50 - 68
src/views/system/jbdScan/goods/manualConfirmation.vue

@@ -120,7 +120,7 @@
                                             </el-form-item>
                                         </el-col>
                                         <el-col :span="8">
-                                            <el-form-item label="单位(一)" v-if="UnitFlag">
+                                            <el-form-item label="单位(一)" v-if="UnitFlag" required>
                                                 <el-input v-model="item.dan_wei_yi"></el-input>
                                             </el-form-item>
                                         </el-col>
@@ -139,7 +139,7 @@
                                         <el-form-item label="是否留样" class="zzj">
                                             <template slot-scope="scope">
                                                 <el-select v-model="item.shi_fou_liu_yang_yi" placeholder="请选择"
-                                                    @change="ifLiuYangChange_One(index)">
+                                                    @change="ifLiuYangChange(index,0)">
                                                     <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
                                                         :value="item.value">
                                                     </el-option>
@@ -220,7 +220,7 @@
                                         </el-form-item>
                                     </el-col>
                                     <el-col :span="8">
-                                            <el-form-item label="单位(二)" v-if="UnitFlag">
+                                            <el-form-item label="单位(二)" v-if="UnitFlag" required>
                                                 <el-input v-model="item.dan_wei_er"></el-input>
                                             </el-form-item>
                                     </el-col>
@@ -238,7 +238,7 @@
                                         <el-form-item label="是否留样" class="zzj">
                                             <template slot-scope="scope">
                                                 <el-select v-model="item.shi_fou_liu_yang_er" placeholder="请选择"
-                                                    @change="ifLiuYangChange_Two(index)">
+                                                    @change="ifLiuYangChange(index,1)">
                                                     <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
                                                         :value="item.value">
                                                     </el-option>
@@ -319,7 +319,7 @@
                                         </el-form-item>
                                     </el-col>
                                     <el-col :span="8">
-                                                <el-form-item label="单位(三)" v-if="UnitFlag">
+                                                <el-form-item label="单位(三)" v-if="UnitFlag" required>
                                                     <el-input v-model="item.dan_wei_san"></el-input>
                                                 </el-form-item>
                                         </el-col>
@@ -338,7 +338,7 @@
                                         <el-form-item label="是否留样" class="zzj">
                                             <template slot-scope="scope">
                                                 <el-select v-model="item.shi_fou_liu_yang_san" placeholder="请选择"
-                                                    @change="ifLiuYangChange_Three(index)">
+                                                    @change="ifLiuYangChange(index,2)">
                                                     <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
                                                         :value="item.value">
                                                     </el-option>
@@ -419,7 +419,7 @@
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="8">
-                                    <el-form-item label="单位(四)" v-if="UnitFlag">
+                                    <el-form-item label="单位(四)" v-if="UnitFlag" required>
                                         <el-input v-model="item.dan_wei_si"></el-input>
                                     </el-form-item>
                                 </el-col>
@@ -438,7 +438,7 @@
                                         <el-form-item label="是否留样" class="zzj">
                                             <template slot-scope="scope">
                                                 <el-select v-model="item.shi_fou_liu_yang_si" placeholder="请选择"
-                                                    @change="ifLiuYangChange_Four(index)">
+                                                    @change="ifLiuYangChange(index,3)">
                                                     <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
                                                         :value="item.value">
                                                     </el-option>
@@ -476,7 +476,7 @@
                                         <template slot-scope="scope">
                                             <el-date-picker v-model="item.liu_yang_ri_qi_" type="date"
                                                 value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="请选择"
-                                                :readonly="false" :clearable="true" @change="liuyanChange(item, index)" />
+                                                :readonly="false" :clearable="true" @change="liuyanRiQiChange(item, index)" />
                                         </template>
                                     </el-form-item>
                                 </el-col>
@@ -733,81 +733,65 @@ export default {
             this.currentPage = currentPage
             this.facilityData(currentPage)
         },
-        liuyanChange(item, index) {
-            // console.log(item,index)
-            if (this.listData[index].liu_yang_ri_qi_ === undefined || this.listData[index].liu_yang_ri_qi_ === null) {
-                this.listData[index].xiao_hui_ri_qi_ = ""
-                this.listData[index].liu_yang_qi_xian = ""
+        /** 留样日期选择时 联动 留样期限时间更新 */
+        liuyanRiQiChange(item, index) {
+            if (item.liu_yang_ri_qi_ === undefined || item.liu_yang_ri_qi_ === null) {
+                item.xiao_hui_ri_qi_ = ""
+                item.liu_yang_qi_xian = ""
             } else {
                 this.flag = false
                 let curTime = new Date(new Date().getTime() + 28800000).toJSON().slice(0, 10).replace('T', ' ')
-                if (this.listData[index].liu_yang_ri_qi_ < curTime) {
+                if (item.liu_yang_ri_qi_ < curTime) {
                     this.msgTips("留样日期不得早于收样日期")
                 }
-                // let itemData =  dayjs(this.listData[index].liu_yang_ri_qi_).add(7,'day').format("YYYY-MM-DD")
-                let val = dayjs(this.listData[index].liu_yang_ri_qi_).add(3, 'month').format("YYYY-MM-DD")
-                // this.listData[index].xiao_hui_ri_qi_ = itemData
-                this.listData[index].xiao_hui_ri_qi_ = ""
-                this.listData[index].liu_yang_qi_xian = val
+                // let itemData =  dayjs(item.liu_yang_ri_qi_).add(7,'day').format("YYYY-MM-DD")
+                let val = dayjs(item.liu_yang_ri_qi_).add(3, 'month').format("YYYY-MM-DD")
+                // item.xiao_hui_ri_qi_ = itemData
+                item.xiao_hui_ri_qi_ = ""
+                item.liu_yang_qi_xian = val
                 this.flag = true
             }
         },
+        /** 改变数量时 计算总数 */
         changeShuLiang(index) {
             let item = this.listData[index]
             let total = parseInt(item.shu_liang_ || 0) + parseInt(item.shu_liang_er_ || 0) + parseInt(item.shu_liang_san_ || 0) + parseInt(item.shu_liang_si_ || 0)
             item.yang_pin_zong_shu = total
             item.jie_yang_shu_lian = total
         },
-        ifLiuYangChange_One(index) {
-            if (this.listData[index].shi_fou_liu_yang_yi == '否') {
-                this.listData[index].liu_yang_shu_lian_yi = null
-                this.$refs.LyPositionOne[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_yi = ' ml/支×1支'
-            }
-        },
-        ifLiuYangChange_Two(index) {
-            if (this.listData[index].shi_fou_liu_yang_er == '否') {
-                this.listData[index].liu_yang_shu_lian_er = null
-                this.$refs.LyPositionTwo[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_er = ' ml/支×1支'
-            }
-        },
-
-        ifLiuYangChange_Three(index) {
-            if (this.listData[index].shi_fou_liu_yang_san == '否') {
-                this.listData[index].liu_yang_shu_lian_san = null
-                this.$refs.LyPositionThree[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_san = ' ml/支×1支'
-            }
-        },
-
-        ifLiuYangChange_Four(index) {
-            if (this.listData[index].shi_fou_liu_yang_si == '否') {
-                this.listData[index].liu_yang_shu_lian_si = null
-                this.$refs.LyPositionFour[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
+        /** 页面触发是否留样按钮执行判断事件 */
+        ifLiuYangChange(index,LYIndex) {
+            let item = this.listData[index]
+            let ifLYArgs = ['shi_fou_liu_yang_yi','shi_fou_liu_yang_er','shi_fou_liu_yang_san','shi_fou_liu_yang_si']
+            let LYShuLiangArgs = ['liu_yang_shu_lian_yi','liu_yang_shu_lian_er','liu_yang_shu_lian_san','liu_yang_shu_lian_si']
+            let positionArgs = ['LyPositionOne','LyPositionTwo','LyPositionThree','LyPositionThree']
+            if (item[ifLYArgs[LYIndex]] == '否') {
+                item[LYShuLiangArgs[LYIndex]] = null
+                this.$refs[positionArgs[LYIndex]][0].clearPosition()
+                this.commonJudgeLiuYangState(item)
             } else {
-                this.listData[index].liu_yang_shu_lian_si = ' ml/支×1支'
+                item[LYShuLiangArgs[LYIndex]] = ' ml/支×1支'
+                // todo 把位置填写并显示?
             }
         },
-        commonJudgeLiuYangState(index) {
-            if (this.listData[index].shi_fou_liu_yang_yi == '否'
-                && ((this.listData[index].flag2 == true && this.listData[index].shi_fou_liu_yang_er == '否') || this.listData[index].flag2 == false)
-                && ((this.listData[index].flag3 == true && this.listData[index].shi_fou_liu_yang_san == '否') || this.listData[index].flag3 == false)
-                && ((this.listData[index].flag4 == true && this.listData[index].shi_fou_liu_yang_si == '否') || this.listData[index].flag4 == false)) {
-                this.listData[index].liu_yang_ri_qi_ = null
-                this.listData[index].liu_yang_qi_xian = null
+        /** 判断该样品是否四种类型都 不留样,则置空 留样日期、留样期限 */
+        commonJudgeLiuYangState(item) {
+            if(item.shi_fou_liu_yang_yi == '否'){
+                let LYFlag = true
+                let flagArgs = ['flag2','flag3','flag4']
+                let shiFouLYArgs = ['shi_fou_liu_yang_er','shi_fou_liu_yang_san','shi_fou_liu_yang_si']
+                flagArgs.forEach((element,i) => {
+                    if(item[element] === true && item[shiFouLYArgs[i]] === '是'){
+                        LYFlag = false
+                    }
+                });
+                if(LYFlag){
+                    item.liu_yang_ri_qi_ = null
+                    item.liu_yang_qi_xian = null
+                }
             }
         },
-        /*
-            规格触发事件:匹配规格中 被 / 和 * 包裹的字符串,并赋值给单位字段展示
-        */
+        /* 规格触发事件:匹配规格中 被 / 和 * 包裹的字符串,并赋值给单位字段展示 */
         changeGuiGe(index,specificationIndex){
             this.UnitFlag = false
             let SpecificationsArgs = ['yang_pin_gui_ge_','yang_pin_gui_ge_e','yang_pin_gui_ge_s','yang_pin_gui_si_']
@@ -816,9 +800,7 @@ export default {
             this.listData[index][UnitArgs[specificationIndex]] = unit
             this.UnitFlag = true
         },
-        /**
-         * 匹配表达式,符合则返回值,否则返回空字符串
-         */
+        /** 匹配表达式,符合则返回值,否则返回空字符串 */
         handleSpecificationsToUnit(val){
             const regex = /[\/\*]([^\/*]*)[\/\*]/
             return val.match(regex) ? val.match(regex)[1] : ''

+ 449 - 385
src/views/system/jbdScan/goods/sampleConfirmation.vue

@@ -58,260 +58,321 @@
                             </el-row>
 
 
-                            <el-row>
-                                <el-col :span="6">
-                                    <el-form-item label="样品类型(一)">
-                                        <!-- <el-input v-model="item.yang_pin_lei_xing " ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_lei_xing" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-
-                                <el-col :span="6">
-                                    <el-form-item label="样品运输条件(一)">
-                                        <!-- <el-input v-model="item.yang_ben_yun_shu_" ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_ben_yun_shu_" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTransportationConditions" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-
-                                <el-col :span="6">
-                                    <el-form-item label="样品数量(一)">
-                                        <el-input v-model="item.shu_liang_" @change="changeShuLiang(index)"></el-input>
-                                    </el-form-item>
-                                </el-col>
+                            <div v-if="item.yang_pin_lei_xing">
+                                <div>
+                                    <el-alert
+                                        title="样品类型①信息"
+                                        type="success">
+                                    </el-alert>
+                                </div>
 
-                                <el-col :span="6">
-                                    <el-form-item label="样品规格(一)">
-                                        <!-- <el-input v-model="item.yang_pin_gui_ge_"></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_gui_ge_" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleSpecifications" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-                            <!--每种类型对应的留样数量和留样存放位置-->
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品类型(一)">
+                                            <!-- <el-input v-model="item.yang_pin_lei_xing " ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_lei_xing" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+
+                                    <el-col :span="8">
+                                        <el-form-item label="样品运输条件(一)">
+                                            <!-- <el-input v-model="item.yang_ben_yun_shu_" ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_ben_yun_shu_" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTransportationConditions" :key="item.value"
+                                                        :label="item.label" :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+
+                                    <el-col :span="8">
+                                        <el-form-item label="样品数量(一)">
+                                            <el-input v-model="item.shu_liang_" @change="changeShuLiang(index)"></el-input>
+                                        </el-form-item>
+                                    </el-col>
+                                    </el-row>
+
+                                    <el-row>
+                                        <el-col :span="8">
+                                            <el-form-item label="样品规格(一)">
+                                                <template slot-scope="scope">
+                                                    <el-select 
+                                                        v-model="item.yang_pin_gui_ge_"     
+                                                        placeholder="请选择" 
+                                                        filterable
+                                                        allow-create
+                                                        @change="changeGuiGe(index,0)">
+                                                        <el-option v-for="item in sampleSpecifications" :key="item.value"
+                                                            :label="item.label" :value="item.value">
+                                                        </el-option>
+                                                    </el-select>
+                                                </template>
+                                            </el-form-item>
+                                        </el-col>
+                                        <el-col :span="8">
+                                            <el-form-item label="单位(一)" v-if="UnitFlag" required>
+                                                <el-input v-model="item.dan_wei_yi"></el-input>
+                                            </el-form-item>
+                                        </el-col>
+                                        <el-col :span="8">
+                                        <el-form-item label="样品存放位置(一)" required>
+                                            <template slot-scope="scope">
+                                                <weizhiData v-model="item.shou_yang_wei_zhi_yi" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                                <!--每种类型对应的留样数量和留样存放位置-->
+                                <el-row>
+                                
+                                    <el-col :span="8">
+                                        <el-form-item label="是否留样" class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.shi_fou_liu_yang_yi" placeholder="请选择"
+                                                    @change="ifLiuYangChange(index,0)">
+                                                    <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样数量(一)" required class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-input v-model="item.liu_yang_shu_lian_yi"></el-input>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样存放位置(一)" required>
+                                            <template slot-scope="scope">
+                                                <liuyangData v-model="item.liu_yang_wei_zhi_yi" ref="LyPositionOne" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                            </div>
+                            
+                            <div  v-if="item.flag2">
+                                <div>
+                                    <el-alert
+                                        title="样品类型②信息"
+                                        type="success">
+                                    </el-alert>
+                                </div>
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品类型(二)">
+                                            <!-- <el-input v-model="item.yang_pin_lei_er_"   ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_lei_er_" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品运输条件(二)">
+                                            <!-- <el-input v-model="item.yang_pin_yun_shu_"  ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_yun_shu_" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTransportationConditions" :key="item.value"
+                                                        :label="item.label" :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品数量(二)">
+                                            <el-input v-model="item.shu_liang_er_" @change="changeShuLiang(index)"></el-input>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品规格(二)">
+                                            <!-- <el-input v-model="item.yang_pin_gui_ge_e"  ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_gui_ge_e" placeholder="请选择" filterable
+                                                    allow-create @change="changeGuiGe(index,1)">
+                                                    <el-option v-for="item in sampleSpecifications" :key="item.value"
+                                                        :label="item.label" :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                            <el-form-item label="单位(二)" v-if="UnitFlag" required>
+                                                <el-input v-model="item.dan_wei_er"></el-input>
+                                            </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品存放位置(二)" required>
+                                            <template slot-scope="scope">
+                                                <weizhiData v-model="item.shou_yang_wei_zhi_er" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                                <!--每种类型对应的留样数量和留样存放位置-->
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="是否留样" class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.shi_fou_liu_yang_er" placeholder="请选择"
+                                                    @change="ifLiuYangChange(index,1)">
+                                                    <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样数量(二)" required class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-input v-model="item.liu_yang_shu_lian_er"></el-input>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样存放位置(二)" required>
+                                            <template slot-scope="scope">
+                                                <liuyangData v-model="item.liu_yang_wei_zhi_er" ref="LyPositionTwo" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                            </div>
+                            
+                            
+                            <div v-if="item.flag3">
+                                <div>
+                                    <el-alert
+                                        title="样品类型③信息"
+                                        type="success">
+                                    </el-alert>
+                                </div>
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品类型(三)">
+                                            <!-- <el-input v-model="item.yang_pin_lei_san_"  ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_lei_san_" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品运输条件(三)">
+                                            <!-- <el-input v-model="item.yang_pin_yun_san"  ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_yun_san" placeholder="请选择" filterable
+                                                    allow-create>
+                                                    <el-option v-for="item in sampleTransportationConditions" :key="item.value"
+                                                        :label="item.label" :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品数量(三)">
+                                            <el-input v-model="item.shu_liang_san_" @change="changeShuLiang(index)"></el-input>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="样品规格(三)">
+                                            <!-- <el-input v-model="item.yang_pin_gui_ge_s"  ></el-input> -->
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.yang_pin_gui_ge_s" placeholder="请选择" filterable
+                                                    allow-create @change="changeGuiGe(index,2)">
+                                                    <el-option v-for="item in sampleSpecifications" :key="item.value"
+                                                        :label="item.label" :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                                <el-form-item label="单位(三)" v-if="UnitFlag" required>
+                                                    <el-input v-model="item.dan_wei_san"></el-input>
+                                                </el-form-item>
+                                        </el-col>
+                                        <el-col :span="8">
+                                        <el-form-item label="样品存放位置(三)" required>
+                                            <template slot-scope="scope">
+                                                <weizhiData v-model="item.shou_yang_wei_zhi_san" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                              
+                                <!--每种类型对应的留样数量和留样存放位置-->
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="是否留样" class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.shi_fou_liu_yang_san" placeholder="请选择"
+                                                    @change="ifLiuYangChange(index,2)">
+                                                    <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样数量(三)" required class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-input v-model="item.liu_yang_shu_lian_san"></el-input>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样存放位置(三)" required>
+                                            <template slot-scope="scope">
+                                                <liuyangData v-model="item.liu_yang_wei_zhi_san" ref="LyPositionThree" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                            </div>
+                            
+
+                            <div v-if="item.flag4">
+                                <div>
+                                    <el-alert
+                                        title="样品类型④信息"
+                                        type="success">
+                                    </el-alert>
+                                </div>
                             <el-row>
-                                <el-col :span="6">
-                                    <el-form-item label="样品存放位置(一)" required>
-                                        <template slot-scope="scope">
-                                            <weizhiData v-model="item.shou_yang_wei_zhi_yi" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="是否留样" class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.shi_fou_liu_yang_yi" placeholder="请选择"
-                                                @change="ifLiuYangChange_One(index)">
-                                                <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样数量(一)" required class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-input v-model="item.liu_yang_shu_lian_yi"></el-input>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样存放位置(一)" required>
-                                        <template slot-scope="scope">
-                                            <liuyangData v-model="item.liu_yang_wei_zhi_yi" ref="LyPositionOne" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-
-                            <el-row v-if="item.flag2">
-                                <el-col :span="6">
-                                    <el-form-item label="样品类型(二)">
-                                        <!-- <el-input v-model="item.yang_pin_lei_er_"   ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_lei_er_" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品运输条件(二)">
-                                        <!-- <el-input v-model="item.yang_pin_yun_shu_"  ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_yun_shu_" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTransportationConditions" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品数量(二)">
-                                        <el-input v-model="item.shu_liang_er_" @change="changeShuLiang(index)"></el-input>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品规格(二)">
-                                        <!-- <el-input v-model="item.yang_pin_gui_ge_e"  ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_gui_ge_e" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleSpecifications" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-                            <!--每种类型对应的留样数量和留样存放位置-->
-                            <el-row v-if="item.flag2">
-                                <el-col :span="6">
-                                    <el-form-item label="样品存放位置(二)" required>
-                                        <template slot-scope="scope">
-                                            <weizhiData v-model="item.shou_yang_wei_zhi_er" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="是否留样" class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.shi_fou_liu_yang_er" placeholder="请选择"
-                                                @change="ifLiuYangChange_Two(index)">
-                                                <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样数量(二)" required class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-input v-model="item.liu_yang_shu_lian_er"></el-input>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样存放位置(二)" required>
-                                        <template slot-scope="scope">
-                                            <liuyangData v-model="item.liu_yang_wei_zhi_er" ref="LyPositionTwo" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-
-                            <el-row v-if="item.flag3">
-                                <el-col :span="6">
-                                    <el-form-item label="样品类型(三)">
-                                        <!-- <el-input v-model="item.yang_pin_lei_san_"  ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_lei_san_" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTypes" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品运输条件(三)">
-                                        <!-- <el-input v-model="item.yang_pin_yun_san"  ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_yun_san" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleTransportationConditions" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品数量(三)">
-                                        <el-input v-model="item.shu_liang_san_" @change="changeShuLiang(index)"></el-input>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="样品规格(三)">
-                                        <!-- <el-input v-model="item.yang_pin_gui_ge_s"  ></el-input> -->
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yang_pin_gui_ge_s" placeholder="请选择" filterable
-                                                allow-create>
-                                                <el-option v-for="item in sampleSpecifications" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-                            <!--每种类型对应的留样数量和留样存放位置-->
-                            <el-row v-if="item.flag3">
-                                <el-col :span="6">
-                                    <el-form-item label="样品存放位置(三)" required>
-                                        <template slot-scope="scope">
-                                            <weizhiData v-model="item.shou_yang_wei_zhi_san" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="是否留样" class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.shi_fou_liu_yang_san" placeholder="请选择"
-                                                @change="ifLiuYangChange_Three(index)">
-                                                <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样数量(三)" required class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-input v-model="item.liu_yang_shu_lian_san"></el-input>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样存放位置(三)" required>
-                                        <template slot-scope="scope">
-                                            <liuyangData v-model="item.liu_yang_wei_zhi_san" ref="LyPositionThree" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
-
-                            <el-row v-if="item.flag4">
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="样品类型(四)">
                                         <!-- <el-input v-model="item.yang_pin_lei_si_"   ></el-input> -->
                                         <template slot-scope="scope">
@@ -324,7 +385,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="样品运输条件(四)">
                                         <!-- <el-input v-model="item.yang_pin_yun_si_"  ></el-input> -->
                                         <template slot-scope="scope">
@@ -337,17 +398,19 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="样品数量(四)">
                                         <el-input v-model="item.shu_liang_si_" @change="changeShuLiang(index)"></el-input>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                            </el-row>
+                            <el-row>
+                                <el-col :span="8">
                                     <el-form-item label="样品规格(四)">
                                         <!-- <el-input v-model="item.yang_pin_gui_si_"  ></el-input> -->
                                         <template slot-scope="scope">
                                             <el-select v-model="item.yang_pin_gui_si_" placeholder="请选择" filterable
-                                                allow-create>
+                                                allow-create @change="changeGuiGe(index,3)">
                                                 <el-option v-for="item in sampleSpecifications" :key="item.value"
                                                     :label="item.label" :value="item.value">
                                                 </el-option>
@@ -355,55 +418,69 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                            </el-row>
-                            <!--每种类型对应的留样数量和留样存放位置-->
-                            <el-row v-if="item.flag4">
-                                <el-col :span="6">
-                                    <el-form-item label="样品存放位置(四)" required>
-                                        <template slot-scope="scope">
-                                            <weizhiData v-model="item.shou_yang_wei_zhi_si" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="是否留样" class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.shi_fou_liu_yang_si" placeholder="请选择"
-                                                @change="ifLiuYangChange_Four(index)">
-                                                <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
-                                                    :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样数量(四)" required class="zzj">
-                                        <template slot-scope="scope">
-                                            <el-input v-model="item.liu_yang_shu_lian_si"></el-input>
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="留样存放位置(四)" required>
-                                        <template slot-scope="scope">
-                                            <liuyangData v-model="item.liu_yang_wei_zhi_si" ref="LyPositionFour" />
-                                        </template>
-                                    </el-form-item>
-                                </el-col>
-                            </el-row>
+                                <el-col :span="8">
+                                    <el-form-item label="单位(四)" v-if="UnitFlag" required>
+                                        <el-input v-model="item.dan_wei_si"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                                
+                                <el-col :span="8">
+                                        <el-form-item label="样品存放位置(四)" required>
+                                            <template slot-scope="scope">
+                                                <weizhiData v-model="item.shou_yang_wei_zhi_si" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                                <!--每种类型对应的留样数量和留样存放位置 -->
+                                <el-row>
+                                    <el-col :span="8">
+                                        <el-form-item label="是否留样" class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-select v-model="item.shi_fou_liu_yang_si" placeholder="请选择"
+                                                    @change="ifLiuYangChange(index,3)">
+                                                    <el-option v-for="item in ifLY" :key="item.value" :label="item.label"
+                                                        :value="item.value">
+                                                    </el-option>
+                                                </el-select>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样数量(四)" required class="zzj">
+                                            <template slot-scope="scope">
+                                                <el-input v-model="item.liu_yang_shu_lian_si"></el-input>
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="8">
+                                        <el-form-item label="留样存放位置(四)" required>
+                                            <template slot-scope="scope">
+                                                <liuyangData v-model="item.liu_yang_wei_zhi_si" ref="LyPositionFour" />
+                                            </template>
+                                        </el-form-item>
+                                    </el-col>
+                                </el-row>
+                            </div>
 
+                            <div>
+                                    <el-alert
+                                        title="样品信息配置"
+                                        type="warning"
+                                        description="上面样品单位自动截取样品规格中被 / 与 * 包裹着的字符,如果样品规格中不存在匹配的字符,则需要手动填写">
+                                    </el-alert>
+                                </div>
                             <el-row>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="留样日期">
                                         <template slot-scope="scope">
                                             <el-date-picker v-model="item.liu_yang_ri_qi_" type="date"
                                                 value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="请选择"
-                                                :readonly="false" :clearable="true" @change="liuyanChange(item, index)" />
+                                                :readonly="false" :clearable="true" @change="liuyanRiQiChange(item, index)" />
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="留样期限至">
                                         <template slot-scope="scope">
                                             <el-date-picker v-model="item.liu_yang_qi_xian" type="date"
@@ -412,25 +489,21 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <!-- <el-col :span="6">
-                            <el-form-item v-if="flag" label="销毁日期">
-                              <template slot-scope="scope">
-                                <el-date-picker
-                                  v-model="item.xiao_hui_ri_qi_"
-                                  type="date"
-                                  value-format="yyyy-MM-dd"
-                                  format="yyyy-MM-dd"
-                                  placeholder="请选择"
-                                  :readonly="true"
-                                  :clearable="true"
-                                />
-                              </template>
-                            </el-form-item>
-                          </el-col> -->
+                                <el-col :span="6">
+                                    <el-form-item label="验收结果">
+                                        <template slot-scope="scope">
+                                            <el-select v-model="item.yan_shou_jie_guo_" placeholder="请选择">
+                                                <el-option v-for="item in checkOptions" :key="item.value"
+                                                    :label="item.label" :value="item.value">
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-form-item>
+                                </el-col>
                             </el-row>
 
                             <el-row>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="返样日期">
                                         <template slot-scope="scope">
                                             <el-date-picker v-model="item.fan_yang_ri_qi_" type="date"
@@ -439,7 +512,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="返样接样人">
                                         <template slot-scope="scope">
                                             <el-input v-model="item.fan_yang_jyr" placeholder="请输入" type="text"
@@ -447,27 +520,17 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
 
+                                <el-col :span="8">
                                     <el-form-item label="是否加急">
-                                        <el-input v-model="item.chu_ju_bao_gao_ya" readonly="true"></el-input>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="验收结果">
-                                        <template slot-scope="scope">
-                                            <el-select v-model="item.yan_shou_jie_guo_" placeholder="请选择">
-                                                <el-option v-for="item in checkOptions" :key="item.value"
-                                                    :label="item.label" :value="item.value">
-                                                </el-option>
-                                            </el-select>
-                                        </template>
+                                        <el-input v-model="item.chu_ju_bao_gao_ya" readonly="true" ></el-input>
                                     </el-form-item>
                                 </el-col>
+                               
                             </el-row>
 
                             <el-row>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="姓名">
                                         <template slot-scope="scope">
                                             <el-input v-model="item.xing_ming_" placeholder="请输入" type="text"
@@ -475,7 +538,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="性别">
                                         <template slot-scope="scope">
                                             <el-select v-model="item.xing_bie_" placeholder="请选择">
@@ -486,7 +549,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="年龄">
                                         <template slot-scope="scope">
                                             <el-input v-model="item.nian_ling_" placeholder="请输入" type="text"
@@ -498,7 +561,7 @@
 
                             <el-row>
 
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="备注">
                                         <template slot-scope="scope">
                                             <el-input v-model="item.bei_zhu_" placeholder="请输入" type="text"
@@ -506,7 +569,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="8">
                                     <el-form-item label="送样要求">
                                         <template slot-scope="scope">
                                             <el-input v-model="item.song_yang_yao_qiu" placeholder="请输入" type="text"
@@ -514,7 +577,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="7">
                                     <el-form-item label="接样确认状态">
                                         <template slot-scope="scope">
                                             <el-select v-model="item.jie_yang_zhuang_t" placeholder="请选择">
@@ -525,7 +588,7 @@
                                         </template>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="6">
+                                <el-col :span="1">
                                     <el-form-item label="功能">
                                         <template slot-scope="scope">
                                             <el-button size="small" type="danger" icon="el-icon-delete"
@@ -648,7 +711,8 @@ export default {
             }],
             pageCount: '',
             item: '',
-            flag: true
+            flag: true,
+            UnitFlag : true
 
         }
     },
@@ -659,77 +723,77 @@ export default {
                 type: "error"
             })
         },
-        liuyanChange(item, index) {
-            // console.log(item,index)
-            if (this.listData[index].liu_yang_ri_qi_ === undefined || this.listData[index].liu_yang_ri_qi_ === null) {
-                this.listData[index].xiao_hui_ri_qi_ = ""
-                this.listData[index].liu_yang_qi_xian = ""
+        /** 留样日期选择时 联动 留样期限时间更新 */
+        liuyanRiQiChange(item, index) {
+            if (item.liu_yang_ri_qi_ === undefined || item.liu_yang_ri_qi_ === null) {
+                item.xiao_hui_ri_qi_ = ""
+                item.liu_yang_qi_xian = ""
             } else {
                 this.flag = false
                 let curTime = new Date(new Date().getTime() + 28800000).toJSON().slice(0, 10).replace('T', ' ')
-                if (this.listData[index].liu_yang_ri_qi_ < curTime) {
+                if (item.liu_yang_ri_qi_ < curTime) {
                     this.msgTips("留样日期不得早于收样日期")
                 }
-                // let itemData =  dayjs(this.listData[index].liu_yang_ri_qi_).add(7,'day').format("YYYY-MM-DD")
-                let val = dayjs(this.listData[index].liu_yang_ri_qi_).add(3, 'month').format("YYYY-MM-DD")
-                // this.listData[index].xiao_hui_ri_qi_ = itemData
-                this.listData[index].xiao_hui_ri_qi_ = ""
-                this.listData[index].liu_yang_qi_xian = val
+                // let itemData =  dayjs(item.liu_yang_ri_qi_).add(7,'day').format("YYYY-MM-DD")
+                let val = dayjs(item.liu_yang_ri_qi_).add(3, 'month').format("YYYY-MM-DD")
+                // item.xiao_hui_ri_qi_ = itemData
+                item.xiao_hui_ri_qi_ = ""
+                item.liu_yang_qi_xian = val
                 this.flag = true
             }
         },
+        /** 改变数量时 计算总数 */
         changeShuLiang(index) {
             let item = this.listData[index]
             let total = parseInt(item.shu_liang_ || 0) + parseInt(item.shu_liang_er_ || 0) + parseInt(item.shu_liang_san_ || 0) + parseInt(item.shu_liang_si_ || 0)
             item.yang_pin_zong_shu = total
             item.jie_yang_shu_lian = total
         },
-        ifLiuYangChange_One(index) {
-            if (this.listData[index].shi_fou_liu_yang_yi == '否') {
-                this.listData[index].liu_yang_shu_lian_yi = null
-                this.$refs.LyPositionOne[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_yi = ' ml/支×1支'
-            }
-        },
-        ifLiuYangChange_Two(index) {
-            if (this.listData[index].shi_fou_liu_yang_er == '否') {
-                this.listData[index].liu_yang_shu_lian_er = null
-                this.$refs.LyPositionTwo[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
+        /** 页面触发是否留样按钮执行判断事件 */
+        ifLiuYangChange(index,LYIndex) {
+            let item = this.listData[index]
+            let ifLYArgs = ['shi_fou_liu_yang_yi','shi_fou_liu_yang_er','shi_fou_liu_yang_san','shi_fou_liu_yang_si']
+            let LYShuLiangArgs = ['liu_yang_shu_lian_yi','liu_yang_shu_lian_er','liu_yang_shu_lian_san','liu_yang_shu_lian_si']
+            let positionArgs = ['LyPositionOne','LyPositionTwo','LyPositionThree','LyPositionThree']
+            if (item[ifLYArgs[LYIndex]] == '否') {
+                item[LYShuLiangArgs[LYIndex]] = null
+                this.$refs[positionArgs[LYIndex]][0].clearPosition()
+                this.commonJudgeLiuYangState(item)
             } else {
-                this.listData[index].liu_yang_shu_lian_er = ' ml/支×1支'
+                item[LYShuLiangArgs[LYIndex]] = ' ml/支×1支'
+                // todo 把位置填写并显示?
             }
         },
-
-        ifLiuYangChange_Three(index) {
-            if (this.listData[index].shi_fou_liu_yang_san == '否') {
-                this.listData[index].liu_yang_shu_lian_san = null
-                this.$refs.LyPositionThree[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_san = ' ml/支×1支'
+        /** 判断该样品是否四种类型都 不留样,则置空 留样日期、留样期限 */
+        commonJudgeLiuYangState(item) {
+            if(item.shi_fou_liu_yang_yi == '否'){
+                let LYFlag = true
+                let flagArgs = ['flag2','flag3','flag4']
+                let shiFouLYArgs = ['shi_fou_liu_yang_er','shi_fou_liu_yang_san','shi_fou_liu_yang_si']
+                flagArgs.forEach((element,i) => {
+                    if(item[element] === true && item[shiFouLYArgs[i]] === '是'){
+                        LYFlag = false
+                    }
+                });
+                if(LYFlag){
+                    item.liu_yang_ri_qi_ = null
+                    item.liu_yang_qi_xian = null
+                }
             }
         },
-
-        ifLiuYangChange_Four(index) {
-            if (this.listData[index].shi_fou_liu_yang_si == '否') {
-                this.listData[index].liu_yang_shu_lian_si = null
-                this.$refs.LyPositionFour[0].clearPosition()
-                this.commonJudgeLiuYangState(index)
-            } else {
-                this.listData[index].liu_yang_shu_lian_si = ' ml/支×1支'
-            }
+        /* 规格触发事件:匹配规格中 被 / 和 * 包裹的字符串,并赋值给单位字段展示 */
+        changeGuiGe(index,specificationIndex){
+            this.UnitFlag = false
+            let SpecificationsArgs = ['yang_pin_gui_ge_','yang_pin_gui_ge_e','yang_pin_gui_ge_s','yang_pin_gui_si_']
+            let UnitArgs = ['dan_wei_yi','dan_wei_er','dan_wei_san','dan_wei_si']
+            let unit = this.handleSpecificationsToUnit(this.listData[index][SpecificationsArgs[specificationIndex]])
+            this.listData[index][UnitArgs[specificationIndex]] = unit
+            this.UnitFlag = true
         },
-        commonJudgeLiuYangState(index) {
-            if (this.listData[index].shi_fou_liu_yang_yi == '否'
-                && ((this.listData[index].flag2 == true && this.listData[index].shi_fou_liu_yang_er == '否') || this.listData[index].flag2 == false)
-                && ((this.listData[index].flag3 == true && this.listData[index].shi_fou_liu_yang_san == '否') || this.listData[index].flag3 == false)
-                && ((this.listData[index].flag4 == true && this.listData[index].shi_fou_liu_yang_si == '否') || this.listData[index].flag4 == false)) {
-                this.listData[index].liu_yang_ri_qi_ = null
-                this.listData[index].liu_yang_qi_xian = null
-            }
+        /** 匹配表达式,符合则返回值,否则返回空字符串 */
+        handleSpecificationsToUnit(val){
+            const regex = /[\/\*]([^\/*]*)[\/\*]/
+            return val.match(regex) ? val.match(regex)[1] : ''
         }
     }
 }

+ 4 - 8
src/views/system/jbdScan/js/sampleConfirmationJS.js

@@ -202,10 +202,6 @@ export default {
                             this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 验收结果不能为空!')
                             return;
                         }
-                        // if (ypInfoList[yp].shi_fou_liu_yang_ == null || ypInfoList[yp].shi_fou_liu_yang_ == '') {
-                        //     this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 是否留样不能为空!')
-                        //     return;
-                        // }
                         /** 如果四个是否留样中有一个为‘是’ 则 留样日期 和对应的留样位置就不能为空 */
                         if (ypInfoList[yp].shi_fou_liu_yang_yi == "是" ||
                          (ypInfoList[yp].flag2 == true && ypInfoList[yp].shi_fou_liu_yang_er == "是") ||
@@ -465,10 +461,10 @@ export default {
                                     let liuYangList = []
                                     lxList.push(ypInfoList[index].yang_pin_lei_xing, ypInfoList[index].yang_pin_lei_er_, ypInfoList[index].yang_pin_lei_san_, ypInfoList[index].yang_pin_lei_si_)
                                     ypggList.push(
-                                        ypInfoList[index].yang_pin_gui_ge_?ypInfoList[index].yang_pin_gui_ge_ +'*'+ ypInfoList[index].shu_liang_:'',
-                                         ypInfoList[index].yang_pin_gui_ge_e? ypInfoList[index].yang_pin_gui_ge_e+'*'+ ypInfoList[index].shu_liang_er_:'',
-                                         ypInfoList[index].yang_pin_gui_ge_s?ypInfoList[index].yang_pin_gui_ge_s +'*'+ ypInfoList[index].shu_liang_san_:'',
-                                         ypInfoList[index].yang_pin_gui_si_?ypInfoList[index].yang_pin_gui_si_ +'*'+ ypInfoList[index].shu_liang_si_:'')
+                                        ypInfoList[index].yang_pin_gui_ge_? ypInfoList[index].yang_pin_gui_ge_ +'*'+ ypInfoList[index].shu_liang_+ ypInfoList[index].dan_wei_yi:'',
+                                         ypInfoList[index].yang_pin_gui_ge_e? ypInfoList[index].yang_pin_gui_ge_e+'*'+ ypInfoList[index].shu_liang_er_+ ypInfoList[index].dan_wei_er:'',
+                                         ypInfoList[index].yang_pin_gui_ge_s?ypInfoList[index].yang_pin_gui_ge_s +'*'+ ypInfoList[index].shu_liang_san_+ ypInfoList[index].dan_wei_san:'',
+                                         ypInfoList[index].yang_pin_gui_si_?ypInfoList[index].yang_pin_gui_si_ +'*'+ ypInfoList[index].shu_liang_si_+ ypInfoList[index].dan_wei_si:'')
                                     liuYangList.push(ypInfoList[index].liu_yang_shu_lian_yi, ypInfoList[index].liu_yang_shu_lian_er, ypInfoList[index].liu_yang_shu_lian_san, ypInfoList[index].liu_yang_shu_lian_si)
                                     let yplxz = lxList.filter(i => i).join(';')
                                     let ypggStr = ypggList.filter(i => i).join(';')