Răsfoiți Sursa

修改样品扫码bug

ZZJ 3 ani în urmă
părinte
comite
b177d0b83d

+ 2 - 2
src/views/component/qrcodeedse.vue

@@ -44,8 +44,8 @@
           width: 132,
           height: 132,
          // text:`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0aecf99696061a3&redirect_uri=https%3A%2F%2Fwww.mingjianlims.com%2F%23%2Fziliao&response_type=code&scope=snsapi_base&state=${id}#wechat_redirect`,
-         text:`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxea2c214ca5d25739&redirect_uri=https%3A%2F%2Fwww.mingjianlims.com%2F%23%2Fziliao&response_type=code&scope=snsapi_base&state=${id}#wechat_redirect`,//明鉴
-          colorDark: "#000000", //前景色
+			text:`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxea2c214ca5d25739&redirect_uri=https%3A%2F%2Fwww.mingjianlims.com%2F%23%2Fziliao&response_type=code&scope=snsapi_base&state=${id}#wechat_redirect`,//明鉴
+            colorDark: "#000000", //前景色
           colorLight: "#FFFFFF", //背景色
           correctLevel: QRCode.CorrectLevel.L,
 

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

@@ -0,0 +1,606 @@
+<template>
+  <div class="sample-content">
+    <!-- 表格組件 -->
+    <div class="selectPo" @dblclick="positionBtn">
+      <el-input type="text" v-model="placeValue" clearable></el-input>
+      <!-- <div>{{ placeValue }}</div> -->
+      <input type="text" v-model="value" style="opacity: 0; position: fixed" />
+    </div>
+    <div class="viewArea" v-if="viewShow">
+      <h3 class="title">留样间样品存放位置可视图</h3>
+      <div class="close" @click="positionBtn">
+        <i class="el-icon-circle-close"></i>
+      </div>
+      <div class="select_quyu" v-if="viewShow">
+        <div class="test-quyu" v-if="leixingcare">
+          <div class="test-list">
+            <ul class="list-items">
+              <li
+                class="list-item quyu-item"
+                :style="{
+                  background: quyuShow == item.qu_yu_ ? '#FF9900' : '#0099CC',
+                }"
+                @click="qu_yu_Event"
+                v-for="item in quyu_arr"
+                :key="item.qu_yu_"
+              >
+                {{ item.qu_yu_ }}
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="huojia">
+          <div class="test-list">
+            <ul class="list-items">
+              <li
+                class="list-item huojia-item"
+                :style="{
+                  background:
+                    huojiashow ==
+                    item.huo_jia_hao_ + '号' + item.huo_jia_lei_xing_
+                      ? '#ff9900'
+                      : '#0099cc',
+                }"
+                @click="huo_jia_hao_Event"
+                v-for="(item, index) in huo_jia_arr"
+                :key="index"
+              >
+                {{ item.huo_jia_hao_ }}号{{ item.huo_jia_lei_xing_}}
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="huojia">
+          <div class="test-list" v-show="!leixingcare">
+            <ul class="list-items">
+              <li
+                class="list-item huojia-item"
+                :style="{
+                  background:
+                    guajiashow == item.gua_jia_hao_ + '号挂件'
+                      ? '#FF9900'
+                      : '#e5baba',
+                }"
+                @click="gua_jia_Event"
+                v-for="(item, index) in gua_jia_arr"
+                :key="index"
+              >
+                {{ item.gua_jia_hao_ }}号挂件
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <div class="body-content" v-if="viewShow">
+        <div class="right-view">
+          <div class="goods-items">
+            <div
+              class="show-demo"
+              v-for="(item, index) in listData"
+              :key="item"
+            >
+              <div @click="positionClick(listData[index])">
+                <div class="goods-level">
+                  <div class="level-dsc">第{{ index }}层</div>
+                  <div class="goods-list">
+                    <div
+                      class="goods-dsc"
+                      v-for="(it, ind) in listData[index]"
+                      :key="ind"
+                      :style="{
+                        background:
+                          it.wei_zhi_zhuang_ta == '空余' ? '#67c23a' : '',
+                      }"
+                    >
+                      <div class="top-dsc">
+                        <div class="position">
+                          <!-- <p>位置id:{{ it.shou_yang_wei_zhi }}</p>
+                          <p>货位id:{{ it.id_ }}</p> -->
+                          <p>样品名称:{{ it.yang_pin_ming_che }}</p>
+
+                          <p>样品编号:{{ it.yang_pin_bian_hao }}</p>
+                          <p>位置编号:{{ it.wei_zhi_bian_hao_ }}</p>
+
+                          <p>留样期限:{{ it.liu_yang_qi_xian_ }}</p>
+
+                          <p>位置状态:{{ it.wei_zhi_zhuang_ta }}</p>
+                          <p>存储条件:{{ it.cun_chu_tiao_jian }}</p>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div
+            class="goodshelf-name"
+            style="height: 500px; font-size: 20px; text-align: center"
+          >
+            {{ desString }}
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import FixHeight from "@/mixins/height";
+import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
+export default {
+  mixins: [FixHeight],
+  data() {
+    return {
+      sampleOption: [],
+      formInline: {
+        fang_jian_hao_value: "",
+        qu_yu_value: "",
+        huo_jia_value: "",
+        gua_jia_value: "",
+      },
+      listData: [],
+      warehouseOptions: [],
+      quyu_arr: [],
+      huo_jia_arr: [],
+      gua_jia_arr: [],
+      firstLoadActive: true,
+      qu_yu_value: "",
+      quyuShow: "",
+      huojiashow: "",
+      guajiashow: "",
+      leixingcare: true,
+      cenghao: [],
+      warehouse: [],
+      loading: false,
+      // pagination: {},
+      // secondshow: false,
+      desString: "",
+      viewShow: false,
+      placeValue: "选择位置",
+    };
+  },
+  props: {
+    value: {
+      type: [String, Number, Array, Object],
+      default: "",
+    },
+  },
+  filters: {
+    specimenFilters: function (values) {
+      if (values == "空余") {
+        return "未占用";
+      } else {
+        return values;
+      }
+    },
+  },
+  // created() {},
+  methods: {
+    firstLoadViewData() {
+      var this_ = this;
+      var sqlString = `select * from t_mjypcfwz where fang_jian_lei_xin = '留样间' and qu_yu_ = '' and  huo_jia_lei_xing_ = '冰箱' and huo_jia_hao_ = '1'`;
+      this.huojiashow = "1号冰箱";
+      this.quyuShow = "";
+      this.desString = "留样间" + "1号冰箱";
+      this.queryLoad(sqlString);
+      this.formInline.fang_jian_hao_value = "留样间";
+      this.formInline.qu_yu_value = "";
+      this.formInline.huo_jia_value = "1号冰箱";
+      let sql = `select distinct huo_jia_lei_xing_ ,huo_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '留样间'  order by huo_jia_hao_ asc`;
+      curdPost("sql", sql).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+      });
+    },
+    loadQueryData() {
+      //查询选择数据查询
+      var sqlString =
+        "select distinct fang_jian_lei_xin from t_mjypcfwz WHERE fang_jian_lei_xin !=''";
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.sampleOption = response.variables.data;
+        this_.sampleOption.pop();
+      });
+    },
+    onSubmits(sql) {
+      var fang_jian_ = this.formInline.fang_jian_hao_value;
+      var qu_yu = this.formInline.qu_yu_value;
+      var huo_jia_hao_ = this.formInline.huo_jia_value.substr(0, 1);
+      let huo_jia_lei_xing_ = this.formInline.huo_jia_value.substr(
+        2,
+        this.formInline.huo_jia_value.length
+      );
+      var gua_jia_hao = this.formInline.gua_jia_value.substr(0, 1);
+      var sql;
+      if (qu_yu != "") {
+        sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and qu_yu_ = '${qu_yu}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
+      } else {
+        if (huo_jia_lei_xing_.includes("冰箱")) {
+          sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
+        } else if (huo_jia_lei_xing_.includes("液氮罐")) {
+          sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}'  and huo_jia_hao_ = '${huo_jia_hao_}' and gua_jia_hao_= '${gua_jia_hao}'`;
+        }
+      }
+      // this.desString = fang_jian_ + qu_yu + huo_jia_hao_;
+      this.queryLoad(sql);
+    },
+    queryLoad(sql) {
+      //根据样品信息货位查询相对应的样品登记表
+      var datas = [];
+      var labelsMap = {}; // map存储
+      var this_ = this;
+      this_.listData = [];
+      curdPost("sql", sql).then((res) => {
+        datas = res.variables.data;
+        datas.forEach((item) => {
+          let yangpingSql =
+            "select * from t_mjypdjb WHERE yang_pin_bian_hao = '" +
+            item.yang_pin_bian_hao +
+            "'";
+          if (!labelsMap[item.ceng_hao_]) {
+            //没有就创建
+            labelsMap[item.ceng_hao_] = [];
+            curdPost("sql", yangpingSql).then((res) => {
+              if (res.variables.data.length > 0) {
+                let data = res.variables.data;
+                item["yang_pin_ming_che"] = data[0].yang_pin_ming_che;
+                labelsMap[item.ceng_hao_].push(item);
+              } else {
+                labelsMap[item.ceng_hao_].push(item);
+              }
+            });
+          } else {
+            curdPost("sql", yangpingSql).then((res) => {
+              if (res.variables.data.length > 0) {
+                let data = res.variables.data;
+                item["yang_pin_ming_che"] = data[0].yang_pin_ming_che;
+                labelsMap[item.ceng_hao_].push(item);
+              } else {
+                labelsMap[item.ceng_hao_].push(item);
+              }
+            });
+          }
+        });
+        this_.listData = labelsMap;
+      });
+    },
+    qu_yu_Event(e) {
+      //区间 留样 样品间 点击事件 查询相应的货架号->冰箱 赋值 huo_jia_hao_
+      this.huo_jia_arrEvent(e.target.innerText);
+      this.huojiashow = "";
+      this.guajiashow = "";
+      let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${e.target.innerText}' order by huo_jia_hao_ asc`;
+      var this_ = this;
+      this.qu_yu_value = e.target.innerText;
+      this.quyuShow = e.target.innerText;
+      this.formInline.qu_yu_value = e.target.innerText;
+      curdPost("sql", sqlString).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+      });
+    },
+    huo_jia_hao_Event(e) {
+      //货架 冰箱 液氮罐点击事件
+      console.log("huo_ji")
+      this.guajiashow = "";
+      let selectText = e.target.innerText;
+      this.guajiaarrEvent(selectText);
+      this.huojiashow = selectText;
+      let huojiaNum = selectText.substr(0, 1);
+      this.formInline.huo_jia_value = selectText;
+      let huojialeixing = this.formInline.huo_jia_value.substr(
+        2,
+        this.formInline.huo_jia_value.length
+      );
+      //区分是冰箱和液氮罐的点击事件
+      if (selectText.includes("冰箱")) {
+        //如果是冰箱 请求样品货位配置信息 ->查询登记表
+        var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${this.formInline.qu_yu_value}' and  huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}'`;
+        this.desString =
+          this.formInline.fang_jian_hao_value +
+          this.formInline.qu_yu_value +
+          huojiaNum +
+          huojialeixing;
+        this.queryLoad(sql);
+      } else if (selectText.includes("液氮罐")) {
+        //液氮罐 查询该液氮罐下所有的挂件
+        console.log(selectText)
+        let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huojiaNum}'  order by gua_jia_hao_ asc`;
+        var this_ = this;
+        curdPost("sql", sqlString).then((response) => {
+          this_.gua_jia_arr = response.variables.data;
+        });
+      }
+      this.formInline.huo_jia_value = selectText;
+    },
+    gua_jia_Event(e) {
+      //液氮罐挂件号点击事件 查询该液氮罐下该挂件的货位位置信息;
+      let selectText = e.target.innerText;
+      this.guajiashow = selectText;
+      let hguajiaNum = selectText.substr(0, 1);
+      var fang_jian_hao_value = this.formInline.fang_jian_hao_value;
+      var huo_jia_value = this.formInline.huo_jia_value;
+      var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_hao_value}' and huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huo_jia_value.substring(
+        0,
+        1
+      )}' and gua_jia_hao_= '${hguajiaNum}'`;
+      this.desString = fang_jian_hao_value + huo_jia_value + selectText;
+      this.queryLoad(sql);
+    },
+    huo_jia_arrEvent(quyu) {
+      let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${quyu}'   order by huo_jia_hao_ asc`;
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+        if (!this_.firstLoadActive) {
+          this_.formInline.huo_jia_value = "";
+        }
+        this_.firstLoadActive = false;
+      });
+    },
+    guajiaarrEvent(huojiaweizhi) {
+      let huojiaNum = huojiaweizhi.substr(0, 1);
+      let huojialeixing = huojiaweizhi.substr(2, huojiaweizhi.length);
+      if (huojiaweizhi.includes("冰箱")) {
+        this.gua_jia_arr = [];
+        return;
+      }
+      let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '留样间' and huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}'   order by gua_jia_hao_`;
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.gua_jia_arr = response.variables.data;
+        this_.leixingcare = false;
+      });
+    },
+    positionBtn() {
+      this.loadQueryData();
+      this.firstLoadViewData();
+      this.viewShow = !this.viewShow;
+    },
+    positionClick(values) {
+      this.viewShow = !this.viewShow;
+      this.placeValue = values[0].wei_zhi_bian_hao_;
+      let this_ = this;
+      this_.$emit("input", values[0].id_); //传导
+    },
+  },
+  watch: {
+    // "formInline.fang_jian_hao_value": function (newdata, olddata) {
+    //   //监控房间号 input 输入框数据变化 来改变区域和货架信息(input)
+    //   this.huo_jia_arr = [];
+    //   let sqlString = `select distinct qu_yu_ ,huo_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}' `;
+    //   var this_ = this;
+    //   curdPost("sql", sqlString).then((response) => {
+    //     this_.quyu_arr = response.variables.data.reverse();
+    //     console.log(this_.quyu_arr);
+    //     this_.quyu_arr.forEach((item) => {
+    //       if (item.qu_yu_ == "") {
+    //         this_.leixingcare = false;
+    //         this_.formInline.qu_yu_value = "";
+    //         let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}'  order by huo_jia_hao_ asc`;
+    //         curdPost("sql", sql).then((res) => {
+    //           this_.huo_jia_arr = res.variables.data;
+    //           console.log(this_.huo_jia_arr);
+    //         });
+    //         return;
+    //       } else {
+    //         this_.leixingcare = true;
+    //       }
+    //     });
+    //     if (!this.firstLoadActive) {
+    //       this_.formInline.qu_yu_value = "";
+    //     }
+    //   });
+    // },
+    placeValue: function (newdata, olddata) {
+      if (newdata == "" || newdata == null) {
+        this.$emit("input", "");
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.sample-content {
+  width: 100%;
+  // position: fixed;
+  top: 50;
+  position: relative;
+  background: white;
+  .close {
+    position: fixed;
+    right: 52px;
+    top: 20px;
+    color: red;
+    z-index: 999;
+    font-size: 45px;
+  }
+  .title {
+    width: 100%;
+    height: 14px;
+    line-height: 24px;
+    font-size: 24px;
+    text-align: center;
+  }
+  .selectPo {
+    cursor: pointer;
+    z-index: 9;
+  }
+  .top-content {
+    width: 100%;
+    .top-title {
+      text-align: center;
+      font-weight: bold;
+      width: 100%;
+      font-size: 18px;
+      line-height: 40px;
+    }
+
+    .query-content {
+      display: flex;
+      margin-left: 25px;
+    }
+  }
+  .viewArea {
+    position: fixed;
+    left: 0;
+    top: 0;
+    width: 100%;
+    background: white;
+    z-index: 99 !important;
+  }
+  .select_quyu {
+    .test-quyu,
+    .huojia {
+      width: 100%;
+      .list-items {
+        display: flex;
+        cursor: pointer;
+        .quyu-item {
+          background: #0099cc;
+        }
+        .huojia-item {
+          background: #99ccff;
+        }
+        .list-item {
+          padding: 0px 10px;
+          background-color: rgb(206, 198, 164);
+          text-align: center;
+          line-height: 35px;
+          margin-left: 20px;
+          border-radius: 10px;
+        }
+      }
+      .cangku-mingchen {
+        width: 100%;
+        text-align: left;
+        margin-left: 50px;
+      }
+    }
+  }
+
+  .body-content {
+    margin-bottom: 20px;
+    display: flex;
+    box-sizing: border-box;
+    height: 100vh;
+    overflow-x: hidden;
+    overflow-y: scroll;
+    // .left-table {
+    //   // width: 40%;
+    //   ::v-deep .el-table {
+    //     width: 40%;
+    //   }
+    // }
+    .right-view {
+      z-index: 99;
+      width: 100%;
+      .goods-items {
+        width: 100%;
+        border: solid 2px rgb(202, 236, 247);
+        display: flex;
+        flex-direction: column-reverse;
+        .show-demo {
+          width: 100%;
+          // border-bottom: 1px solid bisque;
+          //   margin: 0 auto;
+          text-align: center;
+
+          .goods-level {
+            display: flex;
+            position: relative;
+            margin-bottom: 6px;
+          }
+          .level-dsc {
+            margin-top: 12px;
+            position: absolute;
+            bottom: 0;
+            left: 10px;
+          }
+          .goods-list {
+            display: flex;
+            // justify-content: flex-start;
+            flex-wrap: wrap-reverse;
+            align-content: flex-start;
+            margin-left: 50px;
+            margin-right: 15px;
+            .goods-dsc {
+              cursor: pointer;
+              padding: 2px 6px;
+              border-radius: 5px;
+              background: #e6a23c;
+              margin-left: 12px;
+              margin-top: 6px;
+              // box-sizing: border-box;
+              .top-dsc {
+                display: flex;
+                justify-content: space-between;
+                font-size: 12px;
+                // height: 18px;
+                line-height: 18px;
+                .position {
+                  width: 165px;
+                  overflow: hidden;
+                }
+                .position > p {
+                  text-align: left;
+                  color: #fbe8ff;
+                }
+                .right-content {
+                  display: flex;
+                  align-items: center;
+                  p {
+                    height: 18px;
+                    line-height: 18px;
+                    margin-left: 5px;
+                    color: #fbe8ff;
+                    text-align: left;
+                  }
+                }
+              }
+              .bottom-dsc {
+                width: 100%;
+                text-align: center;
+                font-size: 18px;
+                height: 45px;
+                line-height: 45px;
+                margin-top: 9px;
+                color: #fbe8ff;
+              }
+              .goods-demo {
+                display: block;
+                width: 70px;
+                height: 90px;
+                border: 1px solid rgb(10, 9, 8);
+                text-align: center;
+                margin: 0;
+              }
+              .goods-code {
+                text-align: center;
+                width: 100%;
+                height: 20px;
+                line-height: 20px;
+              }
+            }
+          }
+          .goodshelf-name {
+            margin: 15px 0px;
+          }
+          .shelf {
+            width: 100%;
+            height: 40px;
+            line-height: 40px;
+            text-align: center;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
+
+

+ 11 - 5
src/views/system/jbdScan/goods/manualConfirmation.vue

@@ -72,10 +72,11 @@
                            width="230px"
                            >
                             <template slot-scope="scope">
-                              <ibps-link-data
+                              <!-- <ibps-link-data
                                 v-model="scope.row.shou_yang_wei_zhi"
                                 template-key = "mjyphjwzjztzly"
-                              />
+                              /> -->
+                              <weizhiData  v-model="scope.row.shou_yang_wei_zhi"/>
                              </template>
                          </el-table-column>
 
@@ -83,10 +84,11 @@
                            label="留样存放位置"
                            width="230px">
                             <template slot-scope="scope">
-                              <ibps-link-data
+                              <!-- <ibps-link-data
                                 v-model="scope.row.liu_yang_wei_zhi_"
                                 template-key = "mjyphjwzjztzly"
-                              />
+                              /> -->
+                              <liuyangData v-model="scope.row.liu_yang_wei_zhi_"/>
                              </template>
 
                          </el-table-column>
@@ -131,9 +133,13 @@
 <script>
 import manualConfirmationJS from '../js/manualConfirmationJS.js'
 import IbpsLinkData from '@/business/platform/data/templaterender/link-data'
+import weizhiData from "./weizhiData.vue"
+import liuyangData from "./liuyangData.vue"
  export default {
    components:{
-     IbpsLinkData
+     IbpsLinkData,
+     weizhiData,
+     liuyangData
    },
    mixins:[manualConfirmationJS],
    props:{scanVisible:Boolean},

+ 11 - 5
src/views/system/jbdScan/goods/sampleConfirmation.vue

@@ -71,10 +71,11 @@
                            width="230px"
                            >
                             <template slot-scope="scope">
-                              <ibps-link-data
+                              <!-- <ibps-link-data
                                 v-model="scope.row.shou_yang_wei_zhi"
                                 template-key = "mjyphjwzjztzly"
-                              />
+                              /> -->
+                              <weizhiData  v-model="scope.row.shou_yang_wei_zhi"/>
                              </template>
                          </el-table-column>
 <!--
@@ -83,10 +84,11 @@
                            label="留样存放位置"
                            width="230px">
                             <template slot-scope="scope">
-                              <ibps-link-data
+                              <!-- <ibps-link-data
                                 v-model="scope.row.liu_yang_wei_zhi_"
                                 template-key = "mjyphjwzjztzly"
-                              />
+                              /> -->
+                               <liuyangData v-model="scope.row.liu_yang_wei_zhi_"/>
                              </template>
 
                          </el-table-column>
@@ -131,9 +133,13 @@
 <script>
 import sampleConfirmationJS from '../js/sampleConfirmationJS.js'
 import IbpsLinkData from '@/business/platform/data/templaterender/link-data'
+import weizhiData from "./weizhiData.vue"
+import liuyangData from "./liuyangData.vue"
  export default {
    components:{
-     IbpsLinkData
+     IbpsLinkData,
+     weizhiData,
+     liuyangData
    },
    mixins:[sampleConfirmationJS],
    props:{scanVisible:Boolean},

+ 606 - 0
src/views/system/jbdScan/goods/weizhiData.vue

@@ -0,0 +1,606 @@
+<template>
+  <div class="sample-content">
+    <!-- 表格組件 -->
+    <div class="selectPo" @dblclick="positionBtn">
+      <el-input type="text" v-model="placeValue" clearable></el-input>
+      <input type="text" v-model="value" style="opacity: 0; position: fixed" />
+    </div>
+   <div class="viewArea" v-if="viewShow">
+      <h2 class="title">样品间样品存放位置可视图</h2>
+      <div class="close" @click="positionBtn"><i class="el-icon-circle-close"></i></div>
+      <div class="select_quyu" v-if="viewShow">
+        <div class="test-quyu" v-if="leixingcare">
+          <div class="test-list">
+            <ul class="list-items">
+              <li
+                class="list-item quyu-item"
+                :style="{
+                  background: quyuShow == item.qu_yu_ ? '#FF9900' : '#0099CC',
+                }"
+                @click="qu_yu_Event"
+                v-for="item in quyu_arr"
+                :key="item.qu_yu_"
+              >
+                {{ item.qu_yu_ }}
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="huojia">
+          <div class="test-list">
+            <ul class="list-items">
+              <li
+                class="list-item huojia-item"
+                :style="{
+                  background:
+                    huojiashow ==
+                    item.huo_jia_hao_ + '号' + item.huo_jia_lei_xing_
+                      ? '#ff9900'
+                      : '#0099cc',
+                }"
+                @click="huo_jia_hao_Event"
+                v-for="(item, index) in huo_jia_arr"
+                :key="index"
+              >
+                {{ item.huo_jia_hao_ }}号{{ item.huo_jia_lei_xing_ }}
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="huojia">
+          <div class="test-list" v-show="!leixingcare">
+            <ul class="list-items">
+              <li
+                class="list-item huojia-item"
+                :style="{
+                  background:
+                    guajiashow == item.gua_jia_hao_ + '号挂件'
+                      ? '#FF9900'
+                      : '#e5baba',
+                }"
+                @click="gua_jia_Event"
+                v-for="(item, index) in gua_jia_arr"
+                :key="index"
+              >
+                {{ item.gua_jia_hao_ }}号挂件
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <div class="body-content" v-if="viewShow" v-loading="loading">
+        <div class="right-view">
+          <div class="goods-items">
+            <div
+              class="show-demo"
+              v-for="(item, index) in listData"
+              :key="item"
+            >
+              <div @click="positionClick(listData[index])">
+                <div class="goods-level">
+                  <div class="level-dsc">第{{ index }}层</div>
+                  <div class="goods-list">
+                    <div
+                      class="goods-dsc"
+                      v-for="(it, ind) in listData[index]"
+                      :key="ind"
+                      :style="{
+                        background:
+                          it.wei_zhi_zhuang_ta == '空余' ? '#67c23a' : '',
+                      }"
+                    >
+                      <div class="top-dsc">
+                        <div class="position">
+                          <!-- <p>位置id:{{ it.shou_yang_wei_zhi }}</p>
+                          <p>货位id:{{ it.id_ }}</p>                          -->
+                          <p>样品名称:{{ it.yang_pin_ming_che}}</p>
+                          <p>位置编号:{{ it.wei_zhi_bian_hao_ }}</p>
+                          <p>样品编号:{{ it.yang_pin_bian_hao }}</p>
+                          <p>位置状态:{{ it.wei_zhi_zhuang_ta }}</p>
+                          <p>
+                            存储条件:{{
+                              it.cun_chu_tiao_jian || it.cun_chu_yao_qiu_
+                            }}
+                          </p>
+                        </div>
+                      </div>
+                      <div class="bottom-dsc" v-if="false">
+                        {{ it.yang_pin_ming_che || it.wei_zhi_zhuang_ta }}
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+
+            </div>
+
+
+          </div>
+          <div
+            class="goodshelf-name"
+            style="height: 500px;font-size:20px;text-align:center"
+            >
+                {{ desString }}
+            </div>
+        </div>
+        
+      </div>
+
+    </div>
+  </div>
+</template>
+
+<script>
+import FixHeight from "@/mixins/height";
+import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
+export default {
+  mixins: [FixHeight],
+  data() {
+    return {
+      sampleOption: [],
+      formInline: {
+        fang_jian_hao_value: "",
+        qu_yu_value: "",
+        huo_jia_value: "",
+        gua_jia_value: "",
+      },
+      listData: [],
+      warehouseOptions: [],
+      quyu_arr: [],
+      huo_jia_arr: [],
+      gua_jia_arr: [],
+      firstLoadActive: true,
+      qu_yu_value: "",
+      quyuShow: "",
+      huojiashow: "",
+      guajiashow: "",
+      leixingcare: true,
+      cenghao: [],
+      warehouse: [],
+      loading: false,
+      // pagination: {},
+      // secondshow: false,
+      desString: "",
+      viewShow: false,
+      placeValue: "选择位置",
+      loading: true,
+      samplearr:[],
+    };
+  },
+  props: {
+    value: {
+      type: [String, Number, Array, Object],
+      default: "",
+    },
+  },
+  filters: {
+    specimenFilters: function (values) {
+      if (values == "空余") {
+        return "未占用";
+      } else {
+        return values;
+      }
+    },
+  },
+  methods: {
+    firstLoadViewData() {
+      var this_ = this;
+      var sqlString = `select * from t_mjypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区' and huo_jia_hao_ = '1' and huo_jia_lei_xing_ = '冰箱'`;
+      this.huojiashow = "1号冰箱";
+      this.quyuShow = "待检区";
+      this.desString = "样品间" + "待检区1号冰箱";
+      this.queryLoad(sqlString);
+      this.formInline.fang_jian_hao_value = "样品间";
+      this.formInline.qu_yu_value = "待检区";
+      this.formInline.huo_jia_value = "1号冰箱";
+      let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区'  order by huo_jia_hao_ asc `;
+      curdPost("sql", sql).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+      });
+    },
+    loadQueryData() {
+      //查询选择数据查询
+      var sqlString =
+        "select distinct fang_jian_lei_xin from t_mjypcfwz WHERE fang_jian_lei_xin !=''";
+      // var sqlString = "select * from t_mjypcfwz";
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.sampleOption = response.variables.data;
+        this_.sampleOption.pop();
+      });
+    },
+    onSubmits(sql) {
+      var fang_jian_ = this.formInline.fang_jian_hao_value;
+      var qu_yu = this.formInline.qu_yu_value;
+      var huo_jia_hao_ = this.formInline.huo_jia_value.substr(0, 1);
+      let huo_jia_lei_xing_ = this.formInline.huo_jia_value.substr(
+        2,
+        this.formInline.huo_jia_value.length
+      );
+      var gua_jia_hao = this.formInline.gua_jia_value.substr(0, 1);
+      var sql;
+      if (qu_yu != "") {
+        sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and qu_yu_ = '${qu_yu}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
+      } else {
+        if (huo_jia_lei_xing_.includes("冰箱")) {
+          sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
+        } else if (huo_jia_lei_xing_.includes("液氮罐")) {
+          sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}'  and huo_jia_hao_ = '${huo_jia_hao_}' and gua_jia_hao_= '${gua_jia_hao}'`;
+        }
+      }
+      this.queryLoad(sql);
+    },
+    queryLoad(sql) {
+      //根据样品信息货位查询相对应的样品登记表
+      var datas = [];
+      var labelsMap = {}; // map存储
+      var this_ = this;
+      this_.listData = [];
+      curdPost("sql", sql).then((res) => {
+        datas = res.variables.data;
+        datas.forEach((item) => {
+          let yangpingSql ="select * from t_mjypdjb WHERE yang_pin_bian_hao = '" +item.yang_pin_bian_hao +"'";  // 通过样品货位配置的id外键 查询样品登记表
+          if (!labelsMap[item.ceng_hao_]) {           
+            labelsMap[item.ceng_hao_] = [];//没有就创建
+            curdPost("sql", yangpingSql).then((res) => {
+              if (res.variables.data.length > 0) {
+                let data = res.variables.data;
+                item['yang_pin_ming_che'] = data[0].yang_pin_ming_che;
+                labelsMap[item.ceng_hao_].push(item);
+              }else{
+                labelsMap[item.ceng_hao_].push(item);
+              }
+            });
+          } else {
+            curdPost("sql", yangpingSql).then((res) => {
+              if (res.variables.data.length > 0) {
+                let data = res.variables.data;
+                item['yang_pin_ming_che'] = data[0].yang_pin_ming_che;
+                labelsMap[item.ceng_hao_].push(item);
+              }else{
+                labelsMap[item.ceng_hao_].push(item);
+              }
+            });
+          }
+        });
+        this_.listData = labelsMap;
+        this.$nextTick(() => {
+          this.loading = false;
+        });
+
+        // this.loading = true;
+      });
+    },
+    qu_yu_Event(e) {
+      //区间 留样 样品间 点击事件 查询相应的货架号->冰箱 赋值 huo_jia_hao_
+      this.huo_jia_arrEvent(e.target.innerText);
+      this.huojiashow = "";
+      this.guajiashow = "";
+      let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${e.target.innerText}' order by huo_jia_hao_ asc`;
+      var this_ = this;
+      this.qu_yu_value = e.target.innerText;
+      this.quyuShow = e.target.innerText;
+      this.formInline.qu_yu_value = e.target.innerText;
+      curdPost("sql", sqlString).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+      });
+    },
+    huo_jia_hao_Event(e) {
+      //货架 冰箱 液氮罐点击事件
+      this.guajiashow = "";
+      let selectText = e.target.innerText;
+      this.guajiaarrEvent(selectText);
+      this.huojiashow = selectText;
+      let huojiaNum = selectText.substr(0, 1);
+      this.formInline.huo_jia_value = selectText;
+      let huojialeixing = this.formInline.huo_jia_value.substr(
+        2,
+        this.formInline.huo_jia_value.length
+      );
+      //区分是冰箱和液氮罐的点击事件
+      if (selectText.includes("冰箱")) {
+        //如果是冰箱 请求样品货位配置信息 ->查询登记表
+        var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${this.formInline.qu_yu_value}' and  huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}'`;
+        this.desString = this.formInline.fang_jian_hao_value +this.formInline.qu_yu_value + huojiaNum+huojialeixing
+        this.queryLoad(sql);
+      } else if (selectText.includes("液氮罐")) {
+        //液氮罐 查询该液氮罐下所有的挂件
+        let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huojiaNum}'  order by gua_jia_hao_ asc`;
+        var this_ = this;
+        curdPost("sql", sqlString).then((response) => {
+          this_.gua_jia_arr = response.variables.data;
+        });
+      }
+      this.formInline.huo_jia_value = selectText;
+    },
+    gua_jia_Event(e) {
+      //液氮罐挂件号点击事件 查询该液氮罐下该挂件的货位位置信息;
+      let selectText = e.target.innerText;
+      this.guajiashow = selectText;
+      let hguajiaNum = selectText.substr(0, 1);
+      var fang_jian_hao_value = this.formInline.fang_jian_hao_value;
+      var huo_jia_value = this.formInline.huo_jia_value;
+      var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_hao_value}' and huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huo_jia_value.substring(
+        0,
+        1
+      )}' and gua_jia_hao_= '${hguajiaNum}'`;
+      this.desString = fang_jian_hao_value + huo_jia_value + selectText;
+      this.queryLoad(sql);
+    },
+    huo_jia_arrEvent(quyu) {
+      let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${quyu}'   order by huo_jia_hao_ asc`;
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.huo_jia_arr = response.variables.data;
+        if (!this_.firstLoadActive) {
+          this_.formInline.huo_jia_value = "";
+        }
+        this_.firstLoadActive = false;
+      });
+    },
+    guajiaarrEvent(huojiaweizhi) {
+      let huojiaNum = huojiaweizhi.substr(0, 1);
+      let huojialeixing = huojiaweizhi.substr(2, huojiaweizhi.length);
+      if (huojiaweizhi.includes("冰箱")) {
+        this.gua_jia_arr = [];
+        return;
+      }
+      let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '留样间' and huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}'   order by gua_jia_hao_`;
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.gua_jia_arr = response.variables.data;
+      });
+    },
+    positionBtn() {
+      this.loadQueryData();
+      this.firstLoadViewData();
+      this.viewShow = !this.viewShow;
+      console.log(this.viewShow);
+    },
+    positionClick(values) {
+      this.viewShow = !this.viewShow;
+      this.placeValue = values[0].wei_zhi_bian_hao_;
+      let this_ = this;
+      console.log(values[0].id_, "id");
+      this_.$emit("input", values[0].id_); //传导
+    },
+  },
+  watch: {
+    "formInline.fang_jian_hao_value": function (newdata, olddata) {
+      //监控房间号 input 输入框数据变化 来改变区域和货架信息(input)
+      this.huo_jia_arr = [];
+      let sqlString = `select distinct qu_yu_ ,huo_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}' `;
+      var this_ = this;
+      curdPost("sql", sqlString).then((response) => {
+        this_.quyu_arr = response.variables.data.reverse();
+        this_.quyu_arr.forEach((item) => {
+          //待优化 事实上是一个用来判断
+          if (item.qu_yu_ == "") {
+            this_.leixingcare = false;
+            this_.formInline.qu_yu_value = "";
+            let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}'  order by huo_jia_hao_ asc`;
+            curdPost("sql", sql).then((res) => {
+              this_.huo_jia_arr = res.variables.data;
+            });
+            return;
+          } else {
+            this_.leixingcare = true;
+          }
+        });
+        if (!this.firstLoadActive) {
+          this_.formInline.qu_yu_value = "";
+        }
+      });
+    },
+    placeValue: function (newdata, olddata) {
+      if (newdata == "" || newdata == null) {
+        this.$emit("input", "");
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.sample-content {
+  width: 100%;
+  // position: fixed;
+  top: 50;
+  position: relative;
+  background: white;
+    .close{
+    position: fixed;
+    right: 52px;
+    top:20px;
+    color: red;
+    z-index: 999;
+    font-size: 45px;
+  }
+  .title{
+      width: 100%;
+     height: 14px;
+     line-height: 24px;
+     font-size: 24px;
+     text-align: center;
+    }
+  .selectPo {
+    cursor: pointer;
+    z-index: 9;
+  }
+  .top-content {
+    width: 100%;
+    .top-title {
+      text-align: center;
+      font-weight: bold;
+      width: 100%;
+      font-size: 18px;
+      line-height: 40px;
+    }
+    .query-content {
+      display: flex;
+      margin-left: 25px;
+    }
+  }
+  .viewArea {
+    position: fixed;
+    left: 0;
+    top: 0;
+    width: 100%;
+    background: white;
+    z-index: 99 !important;
+  }
+  .select_quyu {
+    .test-quyu,
+    .huojia {
+      width: 100%;
+      .list-items {
+        display: flex;
+        cursor: pointer;
+        .quyu-item {
+          background: #0099cc;
+        }
+        .huojia-item {
+          background: #99ccff;
+        }
+        .list-item {
+          padding: 0px 10px;
+          background-color: rgb(206, 198, 164);
+          text-align: center;
+          line-height: 35px;
+          margin-left: 20px;
+          border-radius: 10px;
+        }
+      }
+      .cangku-mingchen {
+        width: 100%;
+        text-align: left;
+        margin-left: 50px;
+      }
+    }
+  }
+
+  .body-content {
+    margin-bottom: 20px;
+    display: flex;
+    box-sizing: border-box;
+    height: 100vh;
+    overflow-x: hidden;
+    overflow-y: scroll;
+    // .left-table {
+    //   // width: 40%;
+    //   ::v-deep .el-table {
+    //     width: 40%;
+    //   }
+    // }
+    .right-view {
+      z-index: 99;
+      width: 100%;
+      .goods-items {
+        width: 100%;
+        border: solid 2px rgb(202, 236, 247);
+        display: flex;
+        flex-direction: column-reverse;
+        .show-demo {
+          width: 100%;
+          // border-bottom: 1px solid bisque;
+          //   margin: 0 auto;
+          text-align: center;
+
+          .goods-level {
+            display: flex;
+            position: relative;
+            margin-bottom: 6px;
+          }
+          .level-dsc {
+            margin-top: 12px;
+            position: absolute;
+            bottom: 0;
+            left: 10px;
+          }
+          .goods-list {
+            display: flex;
+            // justify-content: flex-start;
+            flex-wrap: wrap-reverse;
+            align-content: flex-start;
+            margin-left: 50px;
+            margin-right: 15px;
+            .goods-dsc {
+              cursor: pointer;
+              padding: 2px 6px;
+              border-radius: 5px;
+              background: #E6A23C;
+              margin-left: 12px;
+              margin-top: 6px;
+              // box-sizing: border-box;
+              .top-dsc {
+                display: flex;
+                justify-content: space-between;
+                font-size: 12px;
+                // height: 18px;
+                line-height: 18px;
+                .position {
+                  width: 160px;
+                  overflow: hidden;
+                }
+                .position > p {
+                  text-align: left;
+                  color: #fbe8ff;
+                }
+                .right-content {
+                  display: flex;
+                  align-items: center;
+                  p {
+                    height: 18px;
+                    line-height: 18px;
+                    margin-left: 5px;
+                    color: #fbe8ff;
+                    text-align: left;
+                  }
+                }
+              }
+              .bottom-dsc {
+                width: 100%;
+                text-align: center;
+                font-size: 18px;
+                height: 45px;
+                line-height: 45px;
+                margin-top: 9px;
+                color: #fbe8ff;
+              }
+              .goods-demo {
+                display: block;
+                width: 70px;
+                height: 90px;
+                border: 1px solid rgb(10, 9, 8);
+                text-align: center;
+                margin: 0;
+              }
+              .goods-code {
+                text-align: center;
+                width: 100%;
+                height: 20px;
+                line-height: 20px;
+              }
+            }
+          }
+          .goodshelf-name {
+            margin: 15px 0px;
+          }
+          .shelf {
+            width: 100%;
+            height: 40px;
+            line-height: 40px;
+            text-align: center;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
+
+

+ 329 - 289
src/views/system/jbdScan/js/manualConfirmationJS.js

@@ -2,302 +2,342 @@ import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js'
 
 export default {
   methods: {
-
     facilityData() {
       this.loadData()
     },
     /* 获取数据 ,开始查阅记录 */
     loadData() {
       // 扫码扫到新数据,查询 回填展示
-         repostCurd('select','{"tableName": "t_mjypdjb","paramWhere":{"jie_yang_zhuang_t":"待确认"}}').then(response => {
-          if (response.variables.data && response.variables.data.length > 0) {
-              for(let i in response.variables.data){
-                response.variables.data[i].jie_yang_shu_lian = 1
-                this.listData.push(response.variables.data[i])
-                this.OriginalPosition.push(response.variables.data[i].shi_fou_liu_yang_ == "是" ? response.variables.data[i].liu_yang_wei_zhi_ : response.variables.data[i].shou_yang_wei_zhi)
-              }
+      repostCurd('select', '{"tableName": "t_mjypdjb","paramWhere":{"jie_yang_zhuang_t":"待确认"}}').then(response => {
+        if (response.variables.data && response.variables.data.length > 0) {
+          for (let i in response.variables.data) {
+            response.variables.data[i].jie_yang_shu_lian = 1
+            this.listData.push(response.variables.data[i])
+            this.OriginalPosition.push(response.variables.data[i].shi_fou_liu_yang_ == "是" ? response.variables.data[i].liu_yang_wei_zhi_ : response.variables.data[i].shou_yang_wei_zhi)
           }
-        })
+        }
+      })
     },
     /* 列表失去焦点*/
-    handleChange(){
-        this.$refs.redarInput.focus(); //聚焦input
+    handleChange() {
+      this.$refs.redarInput.focus(); //聚焦input
     },
     /* 关闭弹出列表框*/
     closeDialog() {
       this.remRedar()
       //回传关闭事件。隐藏当前组件。
     },
-    handleClose(){
+    handleClose() {
       this.handleChange()
       this.$confirm('确认关闭样品列表页面?').then(_ => {
-         this.closeDialog();
-      }).catch(_ => {
-      });
-      },
+        this.closeDialog();
+      }).catch(_ => {});
+    },
 
     submitData(type) {
       // this指针
       let this_ = this;
+      let changeWeizhi;
+      let changesyWeizhi;
       // 回传关闭事件。隐藏当前组件。
       let judge = true;
 
-      if(this_.listData.length == 0){
-          this.$emit('callback',true)
-          this.visable = false
-          this.$message({
-            message:'暂无样品待接收确认!',
-            type:'error'
-          })
-          this.closeDialog();
-      }else{
+      if (this_.listData.length == 0) {
+        this.$emit('callback', true)
+        this.visable = false
+        this.$message({
+          message: '暂无样品待接收确认!',
+          type: 'error'
+        })
+        this.closeDialog();
+      } else {
         this.$confirm('请再次确认 [样品接收信息]').then(_ => {
-                // 获取样品列表
-                let ypInfoList = this_.listData
 
-                  let dWhere = []
-                  let ypbh = []
-                  let cfwzIdList = [] // 放置 存放位置的ID
-                  let uuidList = [] // 列表的UUID
+          // 获取样品列表
+          let ypInfoList = this_.listData
+          // console.log(ypInfoList, "样品信息")
 
-                  let ypIdList = []             // 样品id列表,格式转好的
-                  let ypWeiZhi = []             // 样品收样位置
-                  let ypLiuYangWeiZhi = []      // 样品留样位置
-                  let saoMaNumList = []         // 扫码确认数量列表
-                  let jieYangQueRenZTList = []  // 接样状态列表
+          let dWhere = []
+          let ypbh = []
+          let cfwzIdList = [] // 放置 存放位置的ID
+          let uuidList = [] // 列表的UUID
 
-                  let ypbhList = []   // 样品编号列表
-                  let mjypbList = [] // 明鉴样品表
-                  let mjypbWJ = [] // 明鉴样品表外键
+          let ypIdList = [] // 样品id列表,格式转好的
+          let ypWeiZhi = [] // 样品收样位置
+          let ypLiuYangWeiZhi = [] // 样品留样位置
+          let saoMaNumList = [] // 扫码确认数量列表
+          let jieYangQueRenZTList = [] // 接样状态列表
 
-                  for(let yp in ypInfoList){
-                    let cfwz = ''
-                    if(ypInfoList[yp].jie_yang_shu_lian > ypInfoList[yp].shou_yang_shu_lia){
-                       this_.$message.error('操作失败,['+ypInfoList[yp].yang_pin_ming_che+'] 接收确认数量不得大于收样数量。')
-                       return;
-                    }
-                    if(ypInfoList[yp].jie_yang_zhuang_t == '待确认'){
-                      this_.$message.error('操作失败,['+ypInfoList[yp].yang_pin_ming_che+'] 接收确认状态必须为已确认。')
-                      return;
-                    }
-                    if(ypInfoList[yp].shi_fou_liu_yang_ == "是"){
-                      if(ypInfoList[yp].liu_yang_wei_zhi_ == null || ypInfoList[yp].liu_yang_wei_zhi_ == ''){
-                        this_.$message.error("你要留样的话,存放位置不能为空哦!")
-                        return;
-                      }
-                      if(ypInfoList[yp].shou_yang_wei_zhi != undefined && ypInfoList[yp].shou_yang_wei_zhi != ''){
-                        this_.$message.error("你要留样的话,就不要选收样存放位置!")
-                        return;
-                      }
-                      let isLy = ypInfoList[yp].liu_yang_wei_zhi_
-                      if(isLy.substr(-2,isLy.length -1) == "占用" || isLy.substr(-2,isLy.length -1) == "空余"){
-                        let sql = "select `id` from MJ_yp_position_status where positionAndStatus = '" + isLy + "' limit 1"
-                         repostCurd('sql',sql).then(response=>{
-                           cfwz = response.variables.data[0].id
-                           ypInfoList[yp].liu_yang_wei_zhi_ = cfwz
-                           console.log('?question time')
-                         })
-                      }else{
-                        cfwz = ypInfoList[yp].liu_yang_wei_zhi_
-                      }
+          let ypbhList = [] // 样品编号列表
+          let mjypbList = [] // 明鉴样品表
+          let mjypbWJ = [] // 明鉴样品表外键
+          for (let yp in ypInfoList) { //样品数据
+            let cfwz = ''
+            if (ypInfoList[yp].jie_yang_shu_lian > ypInfoList[yp].shou_yang_shu_lia) {
+              this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 接收确认数量不得大于收样数量。')
+              return;
+            }
+            if (ypInfoList[yp].jie_yang_zhuang_t == '待确认') {
+              this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 接收确认状态必须为已确认。')
+              return;
+            }
+            if (ypInfoList[yp].shi_fou_liu_yang_ == "是") {
+              if (ypInfoList[yp].liu_yang_wei_zhi_ == null || ypInfoList[yp].liu_yang_wei_zhi_ == '') {
+                this_.$message.error("你要留样的话,存放位置不能为空哦!")
+                return;
+              }
+              if (ypInfoList[yp].shou_yang_wei_zhi != undefined && ypInfoList[yp].shou_yang_wei_zhi != '') {
+                this_.$message.error("你要留样的话,就不要选收样存放位置!")
+                return;
+              }
+              let isLy = ypInfoList[yp].liu_yang_wei_zhi_
+              // console.log(isLy, "留样");
+              if (isLy.substr(-2, isLy.length - 1) == "占用" || isLy.substr(-2, isLy.length - 1) == "空余") { //?
+                let sql = "select 'id' from MJ_yp_position_status where positionAndStatus = '" + isLy + "' limit 1"
+                repostCurd('sql', sql).then(response => {
+                  cfwz = response.variables.data[0].id
+                  ypInfoList[yp].liu_yang_wei_zhi_ = cfwz
+                  // console.log(ypInfoList)
+                  console.log('?question time留样')
+                })
+              } else {
+                cfwz = ypInfoList[yp].liu_yang_wei_zhi_
+              }
 
-                    }else{
-                      if(ypInfoList[yp].shou_yang_wei_zhi == null || ypInfoList[yp].shou_yang_wei_zhi == ''){
-                        this_.$message.error("你正常收样的话,样品存放位置不能为空哦!")
-                        return;
-                      }
-                      if(ypInfoList[yp].liu_yang_wei_zhi_ != undefined && ypInfoList[yp].liu_yang_wei_zhi_ != ''){
-                        this_.$message.error("你正常收样的话,就不要选择留样存放位置!")
-                        return;
-                      }
-                      let isZC = ypInfoList[yp].shou_yang_wei_zhi
-                      if(isZC.substr(-2,isZC.length -1) == "占用" || isZC.substr(-2,isZC.length -1) == "空余"){
-                        let sql = "select `id` from MJ_yp_position_status where positionAndStatus = '" + isZC + "' limit 1"
-                         repostCurd('sql',sql).then(response=>{
-                           cfwz = response.variables.data[0].id
-                           ypInfoList[yp].shou_yang_wei_zhi = cfwz
-                           console.log('?question time')
-                         })
-                      }else{
-                        cfwz = ypInfoList[yp].shou_yang_wei_zhi
-                      }
-                    }
-                    dWhere.push('{"id_":"' + cfwz + '"}')
-                    ypbh.push(ypInfoList[yp].yang_pin_bian_hao)
-                    uuidList.push(ypInfoList[yp].biao_zhi_uuid_)
-                    cfwzIdList.push(cfwz)
+            } else {
+              if (ypInfoList[yp].shou_yang_wei_zhi == null || ypInfoList[yp].shou_yang_wei_zhi == '') {
+                this_.$message.error("你正常收样的话,样品存放位置不能为空哦!")
+                return;
+              }
+              if (ypInfoList[yp].liu_yang_wei_zhi_ != undefined && ypInfoList[yp].liu_yang_wei_zhi_ != '') {
+                this_.$message.error("你正常收样的话,就不要选择留样存放位置!")
+                return;
+              }
+              let isZC = ypInfoList[yp].shou_yang_wei_zhi
+              if (isZC.substr(-2, isZC.length - 1) == "占用" || isZC.substr(-2, isZC.length - 1) == "空余") { //?
+                let sql1 = "select `id` from MJ_yp_position_status where positionAndStatus = '" + isZC + "' limit 1"
+                // console.log(sql1)
+                repostCurd('sql', sql1).then(response => {
+                  // console.log(response.variables)
+                  cfwz = response.variables.data[0].id
+                  ypInfoList[yp].shou_yang_wei_zhi = cfwz //查询位置状态表 取值位置的id
+                  console.log('?question time')
+                })
+              } else {
+                cfwz = ypInfoList[yp].shou_yang_wei_zhi //取位置信息
+              }
+            }
+            dWhere.push('{"id_":"' + cfwz + '"}')
+            ypbh.push(ypInfoList[yp].yang_pin_bian_hao)
+            uuidList.push(ypInfoList[yp].biao_zhi_uuid_)
+            cfwzIdList.push(cfwz)
+            ypIdList.push('{"id_":"' + ypInfoList[yp].id_ + '"}')
+            ypWeiZhi.push(ypInfoList[yp].shou_yang_wei_zhi) // 收样存放位置
+            ypLiuYangWeiZhi.push(ypInfoList[yp].liu_yang_wei_zhi_) // 留样存放位置
+            saoMaNumList.push(ypInfoList[yp].jie_yang_shu_lian) // 扫码数量
+            jieYangQueRenZTList.push(ypInfoList[yp].jie_yang_zhuang_t) // 接收确认状态
+            ypbhList.push('{"yang_pin_bian_hao":"' + ypInfoList[yp].yang_pin_bian_hao + '"}') // 样品编号列表
+          }
 
-                    ypIdList.push('{"id_":"' + ypInfoList[yp].id_ + '"}')
-                    ypWeiZhi.push(ypInfoList[yp].shou_yang_wei_zhi)		            // 收样存放位置
-                    ypLiuYangWeiZhi.push(ypInfoList[yp].liu_yang_wei_zhi_)	      // 留样存放位置
-                    saoMaNumList.push(ypInfoList[yp].jie_yang_shu_lian)           // 扫码数量
-                    jieYangQueRenZTList.push(ypInfoList[yp].jie_yang_zhuang_t)    // 接收确认状态
 
-                    ypbhList.push('{"yang_pin_bian_hao":"' + ypInfoList[yp].yang_pin_bian_hao + '"}') // 样品编号列表
-                  }
-                    for(let index in ypIdList){
-                      let WZtem = ypWeiZhi[index]==null?'':ypWeiZhi[index]
-                      let LYWZtem = ypLiuYangWeiZhi[index]==null?'':ypLiuYangWeiZhi[index]
-                      repostCurd('update','{"tableName":"t_mjypdjb","paramWhere":'+ypIdList[index]+',"paramCond":'+'{"shou_yang_wei_zhi":"'+WZtem+'","jie_yang_shu_lian":"'+saoMaNumList[index]+'","jie_yang_zhuang_t":"'+jieYangQueRenZTList[index]+'","liu_yang_wei_zhi_":"'+ LYWZtem + '"}}')
-                  }
-                  for(let num in dWhere){
-                    if(this.OriginalPosition[num] != cfwzIdList[num]){
-                      let sql = "select * from t_mjypcfwz where id_ = '" + cfwzIdList[num] + "'"
-                      repostCurd('sql',sql).then(response=>{
-                          let resArr = response.variables.data
-                          if(resArr.length == 1){
-                              if(resArr[0].wei_zhi_zhuang_ta == "空余"){
-                               repostCurd('update','{"tableName":"t_mjypcfwz","paramWhere":'+dWhere[num]+',"paramCond":'+'{"wei_zhi_zhuang_ta":"占用","yang_pin_bian_hao":"'+ ypbh[num] + '","ru_ku_shi_jian_":"'+ this_.dateFormat() + '","shou_yang_ri_qi_":"'+ uuidList[num] + '"}}')
-                              }else if(resArr[0].wei_zhi_zhuang_ta == "占用"){
-                                // 新增一条新的位置记录,使用旧的位置记录 修改它的样品编号,入库时间,标识UUID
-                                      let cfNewList = []
-                                      let cfNew = {}
-                                      cfNew["fang_jian_lei_xin"] = resArr[0].fang_jian_lei_xin
-                                      cfNew["huo_jia_lei_xing_"] = resArr[0].huo_jia_lei_xing_
-                                      cfNew["huo_jia_hao_"] = resArr[0].huo_jia_hao_
-                                      cfNew["qu_yu_"] = resArr[0].qu_yu_
-                                      cfNew["gua_jia_hao_"] = resArr[0].gua_jia_hao_
-                                      cfNew["ceng_hao_"] = resArr[0].ceng_hao_
-                                      cfNew["wei_zhi_bian_hao_"] = resArr[0].wei_zhi_bian_hao_
-                                      cfNew["wei_zhi_zhuang_ta"] = resArr[0].wei_zhi_zhuang_ta
-                                      cfNew["cun_fang_lei_xing"] = resArr[0].cun_fang_lei_xing
-                                      cfNew["cun_chu_tiao_jian"] = resArr[0].cun_chu_tiao_jian
-                                      cfNew["yang_pin_bian_hao"] = ypbh[num]
-                                      cfNew["ru_ku_shi_jian_"] = this_.dateFormat()
-                                      cfNew["shou_yang_ri_qi_"] = uuidList[num]
-                                      cfNewList.push(cfNew)
-                                    repostCurd('add','{"tableName":"t_mjypcfwz","paramWhere":'+JSON.stringify(cfNewList)+'}')
-                              }
-                          }
+          for (let index in ypIdList) { // 更新样品登记表
+            let WZtem = ypWeiZhi[index] == null ? '' : ypWeiZhi[index]
+            let LYWZtem = ypLiuYangWeiZhi[index] == null ? '' : ypLiuYangWeiZhi[index]
+            changeWeizhi = WZtem;
+            changesyWeizhi = LYWZtem;
+            // console.log(WZtem, LYWZtem, "双id")
+
+            repostCurd('update', '{"tableName":"t_mjypdjb","paramWhere":' + ypIdList[index] + ',"paramCond":' + '{"shou_yang_wei_zhi":"' + WZtem + '","jie_yang_shu_lian":"' + saoMaNumList[index] + '","jie_yang_zhuang_t":"' + jieYangQueRenZTList[index] + '","liu_yang_wei_zhi_":"' + LYWZtem + '"}}').then(res => {
+              // console.log(res, "更新成功")
+            })
+          }
+          for (let num in dWhere) {
+            if (this.OriginalPosition[num] != cfwzIdList[num]) {
+              let sql = "select * from t_mjypcfwz where id_ = '" + cfwzIdList[num] + "'"
+              repostCurd('sql', sql).then(response => {
+                let resArr = response.variables.data
+                if (resArr.length == 1) {
+                  if (resArr[0].wei_zhi_zhuang_ta == "空余") {
+                    repostCurd('update', '{"tableName":"t_mjypcfwz","paramWhere":' + dWhere[num] + ',"paramCond":' + '{"wei_zhi_zhuang_ta":"占用","yang_pin_bian_hao":"' + ypbh[num] + '","ru_ku_shi_jian_":"' + this_.dateFormat() + '","shou_yang_ri_qi_":"' + uuidList[num] + '"}}').then(res => {
+                      // console.log(res, "原本位置为空余 ,新位置更新成功")
+                      // alert('样品货位状态更新成功')
+                    })
+                  } else if (resArr[0].wei_zhi_zhuang_ta == "占用") {
+                    // 新增一条新的位置记录,使用旧的位置记录 修改它的样品编号,入库时间,标识UUID
+                    let cfNewList = []
+                    let cfNew = {}
+                    cfNew["fang_jian_lei_xin"] = resArr[0].fang_jian_lei_xin
+                    cfNew["huo_jia_lei_xing_"] = resArr[0].huo_jia_lei_xing_
+                    cfNew["huo_jia_hao_"] = resArr[0].huo_jia_hao_
+                    cfNew["qu_yu_"] = resArr[0].qu_yu_
+                    cfNew["gua_jia_hao_"] = resArr[0].gua_jia_hao_
+                    cfNew["ceng_hao_"] = resArr[0].ceng_hao_
+                    cfNew["wei_zhi_bian_hao_"] = resArr[0].wei_zhi_bian_hao_
+                    cfNew["wei_zhi_zhuang_ta"] = resArr[0].wei_zhi_zhuang_ta
+                    cfNew["cun_fang_lei_xing"] = resArr[0].cun_fang_lei_xing
+                    cfNew["cun_chu_tiao_jian"] = resArr[0].cun_chu_tiao_jian
+                    cfNew["yang_pin_bian_hao"] = ypbh[num]
+                    cfNew["ru_ku_shi_jian_"] = this_.dateFormat()
+                    cfNew["shou_yang_ri_qi_"] = uuidList[num]
+                    cfNewList.push(cfNew)
+                    let uuid = cfNew["shou_yang_ri_qi_"];
+                    // console.log(cfNewList, 111111111111111)
+                    repostCurd('add', '{"tableName":"t_mjypcfwz","paramWhere":' + JSON.stringify(cfNewList) + '}').then(res => {
+                      // alert('样品货位占位时重新生成货位')
+                      let selectsql = "select id_ from t_mjypcfwz where shou_yang_ri_qi_='" + uuid + "'";
+                      // console.log('zzj selectsql',selectsql)
+                      repostCurd('sql', selectsql).then(res => {
+                        let dataid = res.variables.data[0].id_;
+                        // console.log(res.variables.data)
+                        let abc = '{"biao_zhi_uuid_":"' + uuid + '"}'
+                        // console.log('zzj abc ',abc)
+                        if (changeWeizhi && !changesyWeizhi) {
+                          // alert(1)
+                          repostCurd('update', '{"tableName":"t_mjypdjb","paramWhere":' + abc + ',"paramCond":' + '{"shou_yang_wei_zhi":"' + dataid + '"}}').then(res => {
+                            // alert('yang状态更新成功')
+                          })
+                        } else {
+                          // alert(2)
+                          repostCurd('update', '{"tableName":"t_mjypdjb","paramWhere":' + abc + ',"paramCond":' + '{"liu_yang_wei_zhi_":"' + dataid + '"}}').then(res => {
+                            // alert('yang状态更新成功')
+                          })
+                        }
                       })
-                    }
 
+                    })
                   }
-                   repostCurd('selects','{"tableName":"t_mjypb","paramWhere":['+ypbhList+']}').then(response=>{
-                     mjypbList = response.variables.data
-                     let wjList = []
-                     let wjAll  = []
-                     let wjAllList = []
-                     for(let i in mjypbList){
-                        wjList.push(mjypbList[i].wai_jian_)
-                        wjAll.push(mjypbList[i].wai_jian_)
-                     }
-                     wjList = this_.unique(wjList)
-                     for(let i in wjList){
-                        mjypbWJ.push('{"id_":"' + wjList[i]+ '"}')
-                     }
-                     for(let i in wjAll){
-                        wjAllList.push('{"id_":"' + wjAll[i]+ '"}')
-                     }
-                        repostCurd('updates','{"tableName":"t_mjwtsqb","paramWhere":['+mjypbWJ+'],"paramCond":{"zhuang_tai_":"委托结束"}}')
-                       let mjwtsqbAllResult = []
-                       let mjwtsqbIdList = []
-                       let mjfbbList = []
-                       let mjfbbWJList = []
-                       // console.log('wjAllList',wjAllList)
-                      for(let i in wjAllList){
-                        repostCurd('select','{"tableName":"t_mjwtsqb","paramWhere":'+wjAllList[i]+'}').then(response=>{
-                               mjfbbWJList.push('{"wei_tuo_wai_jian_":"' + response.variables.data[0].id_ + '"}')
-                               mjwtsqbAllResult.push(response.variables.data[0])
-                               mjwtsqbIdList.push('{"id_":"' + response.variables.data[0].id_ + '"}')
-                               // console.log('fbb=>',i,mjfbbWJList[i])
-                              // repostCurd('select','{"tableName":"t_mjfbb","paramWhere":'+mjfbbWJList[i]+'}').then(response=>{
-                              //                  console.log(response.variables)
-                              //                       mjfbbList.push(response.variables.data)
-                              //                    })
-                              })
-                      }
-                setTimeout(()=>{
-                  let narr = []
-                  for(let a of mjfbbWJList){
-                    narr.push(a)
-                  }
-                  repostCurd('selects','{"tableName":"t_mjfbb","paramWhere":['+narr+']}').then(response=>{
-                                   console.log(response.variables)
-                                        mjfbbList.push(response.variables.data)
-                                     })
-                }, 1000)
+                }
+              })
+            }
+
+          }
+          repostCurd('selects', '{"tableName":"t_mjypb","paramWhere":[' + ypbhList + ']}').then(response => {
+            mjypbList = response.variables.data
+            let wjList = []
+            let wjAll = []
+            let wjAllList = []
+            for (let i in mjypbList) {
+              wjList.push(mjypbList[i].wai_jian_)
+              wjAll.push(mjypbList[i].wai_jian_)
+            }
+            wjList = this_.unique(wjList)
+            for (let i in wjList) {
+              mjypbWJ.push('{"id_":"' + wjList[i] + '"}')
+            }
+            for (let i in wjAll) {
+              wjAllList.push('{"id_":"' + wjAll[i] + '"}')
+            }
+            repostCurd('updates', '{"tableName":"t_mjwtsqb","paramWhere":[' + mjypbWJ + '],"paramCond":{"zhuang_tai_":"委托结束"}}')
+            let mjwtsqbAllResult = []
+            let mjwtsqbIdList = []
+            let mjfbbList = []
+            let mjfbbWJList = []
+            // console.log('wjAllList',wjAllList)
+            for (let i in wjAllList) {
+              repostCurd('select', '{"tableName":"t_mjwtsqb","paramWhere":' + wjAllList[i] + '}').then(response => {
+                mjfbbWJList.push('{"wei_tuo_wai_jian_":"' + response.variables.data[0].id_ + '"}')
+                mjwtsqbAllResult.push(response.variables.data[0])
+                mjwtsqbIdList.push('{"id_":"' + response.variables.data[0].id_ + '"}')
+                // console.log('fbb=>',i,mjfbbWJList[i])
+                // repostCurd('select','{"tableName":"t_mjfbb","paramWhere":'+mjfbbWJList[i]+'}').then(response=>{
+                //                  console.log(response.variables)
+                //                       mjfbbList.push(response.variables.data)
+                //                    })
+              })
+            }
+            setTimeout(() => {
+              let narr = []
+              for (let a of mjfbbWJList) {
+                narr.push(a)
+              }
+              repostCurd('selects', '{"tableName":"t_mjfbb","paramWhere":[' + narr + ']}').then(response => {
+                // console.log(response.variables)
+                mjfbbList.push(response.variables.data)
+              })
+            }, 1000)
 
-                   setTimeout(()=>{
+            setTimeout(() => {
 
-                    // let mjfbbArray = []
-                    // for(let a in mjfbbList){
-                    //   for(let b in mjfbbList[a]){
-                    //     mjfbbArray.push(mjfbbList[a][b])
-                    //   }
-                    // }
-                    // console.log('mjfbbArray',mjfbbArray)
+              // let mjfbbArray = []
+              // for(let a in mjfbbList){
+              //   for(let b in mjfbbList[a]){
+              //     mjfbbArray.push(mjfbbList[a][b])
+              //   }
+              // }
+              // console.log('mjfbbArray',mjfbbArray)
 
-                    // console.log('mjfbbList',mjfbbList)
-                    // console.log('mjypbList',mjypbList)
-                     let rwb = []
-                     let index = 0
-                     if(mjypbList != null && mjypbList.length >= 1){
-                       index = mjypbList[0].jian_ce_xiang_mu2.split(",").length - 1
-                     }
-                     for(var i in mjypbList){
-                      let str =  mjypbList[i].jian_ce_xiang_mu2.split(",")
-                      // index += str.length-1
-                        for(var p in str){
-                          // console.log('坐标',i,p)
-                          let temp = index - p
-                        let rwzb = {}
-                          let wz_ = ypInfoList[i].shi_fou_liu_yang_ == "是" ? ypInfoList[i].liu_yang_wei_zhi_ : ypInfoList[i].shou_yang_wei_zhi   	  //	对应的样品存放位置
-                          rwzb["jian_ce_xiang_mu_"] = str[p] 			  	                //	取当前检测项目
-                          rwzb["yang_pin_bian_hao"] = mjypbList[i].yang_pin_bian_hao 	//	取对应的样品编号
-                          rwzb["yang_pin_ming_che"] = mjypbList[i].yang_pin_ming_che   //	对应的样品名称
-                          rwzb["yang_pin_dai_ci_"] = mjypbList[i].dai_ci_   			      //	对应的样品代次
-                          rwzb["yang_pin_pi_hao_"] = mjypbList[i].pi_hao_   			      //	对应的样品批号
-                          rwzb["yang_pin_shu_lian"] = mjypbList[i].shu_liang_   		    //	对应的样品数量
-                          rwzb["bug_ri_qi_"] = mjypbList[i].song_yang_ri_qi_   	      //  对应的送样日期
-                          rwzb["cun_fang_wei_zhi_"] = wz_
-                          rwzb["wei_tuo_wai_jian_"] = mjypbList[i].wai_jian_ 			    //	检测申请单id
-                          rwzb["he_tong_wai_jian_"] = mjwtsqbAllResult[i].he_tong_bian_hao_    //合同id
-                          rwzb["song_yang_ri_qi_"] = mjypbList[i].biao_zhi_uuid_       // 收样日期
-                          rwzb["wei_tuo_ren_"] =   mjwtsqbAllResult[i].lian_xi_ren_  // 委托人
-                          rwzb["bao_gao_jian_ce_s"] =  this_.dateFormat()   // 检测时间
-                          rwzb["zhan_shi_biao_wai"] = mjwtsqbAllResult[i].ye_mian_zong_zhua
-                          rwzb["zhuang_tai_"] = "任务待分配"			//	状态
-                          rwzb["shi_fou_fen_bao_"] = mjfbbList[0][temp].shi_fou_fen_bao_			// 是否分包
-                          rwzb["qi_wang_wan_cheng"] = mjfbbList[0][temp].wan_cheng_shi_jia 			// 期望完成时间
-                          rwb.push(rwzb)
-                        }
-                        index += str.length
-                     }
-                     // console.log('任务表:',rwb)
+              // console.log('mjfbbList',mjfbbList)
+              // console.log('mjypbList',mjypbList)
+              let rwb = []
+              let index = 0
+              if (mjypbList != null && mjypbList.length >= 1) {
+                index = mjypbList[0].jian_ce_xiang_mu2.split(",").length - 1
+              }
+              for (var i in mjypbList) {
+                let str = mjypbList[i].jian_ce_xiang_mu2.split(",")
+                // index += str.length-1
+                for (var p in str) {
+                  // console.log('坐标',i,p)
+                  let temp = index - p
+                  let rwzb = {}
+                  let wz_ = ypInfoList[i].shi_fou_liu_yang_ == "是" ? ypInfoList[i].liu_yang_wei_zhi_ : ypInfoList[i].shou_yang_wei_zhi //	对应的样品存放位置
+                  rwzb["jian_ce_xiang_mu_"] = str[p] //	取当前检测项目
+                  rwzb["yang_pin_bian_hao"] = mjypbList[i].yang_pin_bian_hao //	取对应的样品编号
+                  rwzb["yang_pin_ming_che"] = mjypbList[i].yang_pin_ming_che //	对应的样品名称
+                  rwzb["yang_pin_dai_ci_"] = mjypbList[i].dai_ci_ //	对应的样品代次
+                  rwzb["yang_pin_pi_hao_"] = mjypbList[i].pi_hao_ //	对应的样品批号
+                  rwzb["yang_pin_shu_lian"] = mjypbList[i].shu_liang_ //	对应的样品数量
+                  rwzb["bug_ri_qi_"] = mjypbList[i].song_yang_ri_qi_ //  对应的送样日期
+                  rwzb["cun_fang_wei_zhi_"] = wz_
+                  rwzb["wei_tuo_wai_jian_"] = mjypbList[i].wai_jian_ //	检测申请单id
+                  rwzb["he_tong_wai_jian_"] = mjwtsqbAllResult[i].he_tong_bian_hao_ //合同id
+                  rwzb["song_yang_ri_qi_"] = mjypbList[i].biao_zhi_uuid_ // 收样日期
+                  rwzb["wei_tuo_ren_"] = mjwtsqbAllResult[i].lian_xi_ren_ // 委托人
+                  rwzb["bao_gao_jian_ce_s"] = this_.dateFormat() // 检测时间
+                  rwzb["zhan_shi_biao_wai"] = mjwtsqbAllResult[i].ye_mian_zong_zhua
+                  rwzb["zhuang_tai_"] = "任务待分配" //	状态
+                  rwzb["shi_fou_fen_bao_"] = mjfbbList[0][temp].shi_fou_fen_bao_ // 是否分包
+                  rwzb["qi_wang_wan_cheng"] = mjfbbList[0][temp].wan_cheng_shi_jia // 期望完成时间
+                  rwzb["gong_xian_zhi_"] = mjypbList[i].yang_pin_lei_xin			// 供限值
+                  rwb.push(rwzb)
+                }
+                index += str.length
+              }
+              // console.log('任务表:',rwb)
 
-                     repostCurd('updates', '{"tableName":"t_mjwtsqb","paramWhere":['+mjwtsqbIdList+'],"paramCond":{"jian_ce_kai_shi_s":"' + this_.dateFormat() + '"}}')
-                     let uidList = []
-                     for(let item of mjwtsqbAllResult){
-                       uidList.push(item.ye_mian_zong_zhua)
-                     }
-                     uidList = this_.unique(uidList)
-                     repostCurd('add', '{"tableName":"t_rwfpb","paramWhere":'+JSON.stringify(rwb)+',"defKey":"Process_04tgh24","formKey":"mjrwfp"}' )
-                       if(uidList.length > 0 ){
-                         let ups = []
-                         for(let t of uidList){
-                           ups.push('{"shen_qing_id_":"'+t+'"}')
-                         }
-                         repostCurd('updates', '{"tableName":"t_mjwtzsb","paramWhere":['+ups+'],"paramCond":{"zhuang_tai_":"任务分配进行中"}}')
-                       }/**/
-                   },5000)
-                   })
-                        this.$emit('callback',true)
-                        this.visable = false
-                        this.$message({
-                          message:'样品接收确认操作成功!',
-                          type:'success'
-                        })
-                        this.closeDialog();
-                        }).catch(_ => {});
+              repostCurd('updates', '{"tableName":"t_mjwtsqb","paramWhere":[' + mjwtsqbIdList + '],"paramCond":{"jian_ce_kai_shi_s":"' + this_.dateFormat() + '"}}')
+              let uidList = []
+              for (let item of mjwtsqbAllResult) {
+                uidList.push(item.ye_mian_zong_zhua)
+              }
+              uidList = this_.unique(uidList)
+              repostCurd('add', '{"tableName":"t_rwfpb","paramWhere":' + JSON.stringify(rwb) + ',"defKey":"Process_04tgh24","formKey":"mjrwfp"}')
+              if (uidList.length > 0) {
+                let ups = []
+                for (let t of uidList) {
+                  ups.push('{"shen_qing_id_":"' + t + '"}')
+                }
+                repostCurd('updates', '{"tableName":"t_mjwtzsb","paramWhere":[' + ups + '],"paramCond":{"zhuang_tai_":"任务分配进行中"}}')
+              } /**/
+            }, 5000)
+          })
+          this.$emit('callback', true)
+          this.visable = false
+          this.$message({
+            message: '样品接收确认操作成功!',
+            type: 'success'
+          })
+          this.closeDialog();
+        }).catch(_ => {});
       }
 
     },
+
     /* 去除指定行数据 使用过滤器filter过滤指定行号数据 */
-    deleteData(val){
-      this.listData = this.listData.filter((data) =>{
-            return data.id_!=val
-        })
+    deleteData(val) {
+      this.listData = this.listData.filter((data) => {
+        return data.id_ != val
+      })
     },
 
     unique(arr) {
@@ -305,51 +345,51 @@ export default {
         return arr.indexOf(item, 0) === index;
       });
     },
-   /* 提交数据
-    commitData(val){
-      for(let item of val) {
-             let dataWhere = [] //ajax的修改字段
-             dataWhere.push('{"tableName":"t_gdyrqcyp" + "," + "paramWhere":"id_:'+item.id_ +'" +","+    "shu_liang_":"'+ item.shu_liang_ +'"  +","+  "lingYongRen":"' + item.ling_yong_ren_ + '"  +","+  "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '"  +","+  "sign":"out"}')
-               // dataWhere.push('{"yangPinBianHao":"'+ item.yang_pin_bian_hao +'"  +","+  "lingYongRen":"' + item.ling_yong_ren_ + '"  +","+  "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '"  +","+  "shuLiang":"' + item.shu_liang_ + '"}')
+    /* 提交数据
+     commitData(val){
+       for(let item of val) {
+              let dataWhere = [] //ajax的修改字段
+              dataWhere.push('{"tableName":"t_gdyrqcyp" + "," + "paramWhere":"id_:'+item.id_ +'" +","+    "shu_liang_":"'+ item.shu_liang_ +'"  +","+  "lingYongRen":"' + item.ling_yong_ren_ + '"  +","+  "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '"  +","+  "sign":"out"}')
+                // dataWhere.push('{"yangPinBianHao":"'+ item.yang_pin_bian_hao +'"  +","+  "lingYongRen":"' + item.ling_yong_ren_ + '"  +","+  "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '"  +","+  "shuLiang":"' + item.shu_liang_ + '"}')
 
-            // repostCurd('updateSample',"{data:'"+JSON.stringify(dataWhere)+"'}").then(response =>{
-            //   console.log(response)
-            // })
+             // repostCurd('updateSample',"{data:'"+JSON.stringify(dataWhere)+"'}").then(response =>{
+             //   console.log(response)
+             // })
 
-            // this.Update('t_gdyrqcyp',{"id_":item.id_},"{data:'"+JSON.stringify(dataWhere)+"'}").then(response => {
-            //            this.$emit('callback', true)
-            //            this.visible = false
-            //            this.$message({
-            //                      message: '样品出库操作成功!',
-            //                      type: 'success'
-            //                    });
-            //          })
-               }
-    },*/
-    Update (name,where,cond) {
-    	  let cont = {}
-    	  cont['tableName'] = name
-    	  cont['paramWhere'] = where
-    	  cont['paramCond'] = cond
-    	  return repostCurd('update',JSON.stringify(cont))
-    	},
+             // this.Update('t_gdyrqcyp',{"id_":item.id_},"{data:'"+JSON.stringify(dataWhere)+"'}").then(response => {
+             //            this.$emit('callback', true)
+             //            this.visible = false
+             //            this.$message({
+             //                      message: '样品出库操作成功!',
+             //                      type: 'success'
+             //                    });
+             //          })
+                }
+     },*/
+    Update(name, where, cond) {
+      let cont = {}
+      cont['tableName'] = name
+      cont['paramWhere'] = where
+      cont['paramCond'] = cond
+      return repostCurd('update', JSON.stringify(cont))
+    },
 
     /* zzj add */
-     dateFormat() { // 获取当前时间
-        var date=new Date();
-        var year=date.getFullYear();
-        var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
-        var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
-        return year+"-"+month+"-"+day;
+    dateFormat() { // 获取当前时间
+      var date = new Date();
+      var year = date.getFullYear();
+      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+      var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+      return year + "-" + month + "-" + day;
     },
 
 
     /* 关闭*/
     remRedar() {
-      this.visible = false  // 列表隐藏
-      this.listData = []    // 清空列表数据
-      this.redar = false    // 扫码图标隐藏
-      this.$emit('scanOff',false)
+      this.visible = false // 列表隐藏
+      this.listData = [] // 清空列表数据
+      this.redar = false // 扫码图标隐藏
+      this.$emit('scanOff', false)
     },
 
   }

+ 25 - 1
src/views/system/jbdScan/js/sampleConfirmationJS.js

@@ -178,7 +178,30 @@ export default {
                                 cfNew["ru_ku_shi_jian_"] = this_.dateFormat()
                                 cfNew["shou_yang_ri_qi_"] = uuidList[num]
                                 cfNewList.push(cfNew)
-                              repostCurd('add','{"tableName":"t_mjypcfwz","paramWhere":'+JSON.stringify(cfNewList)+'}')
+                                let uuid = cfNew["shou_yang_ri_qi_"];
+                                repostCurd('add', '{"tableName":"t_mjypcfwz","paramWhere":' + JSON.stringify(cfNewList) + '}').then(res => {
+                                  // alert('样品货位占位时重新生成货位')
+                                  let selectsql = "select id_ from t_mjypcfwz where shou_yang_ri_qi_='" + uuid + "'";
+                                  // console.log('zzj selectsql',selectsql)
+                                  repostCurd('sql', selectsql).then(res => {
+                                    let dataid = res.variables.data[0].id_;
+                                    // console.log(res.variables.data)
+                                    let abc = '{"biao_zhi_uuid_":"' + uuid + '"}'
+                                    // console.log('zzj abc ',abc)
+                                    if (changeWeizhi && !changesyWeizhi) {
+                                      // alert(1)
+                                      repostCurd('update', '{"tableName":"t_mjypdjb","paramWhere":' + abc + ',"paramCond":' + '{"shou_yang_wei_zhi":"' + dataid + '"}}').then(res => {
+                                        // alert('yang状态更新成功')
+                                      })
+                                    } else {
+                                      // alert(2)
+                                      repostCurd('update', '{"tableName":"t_mjypdjb","paramWhere":' + abc + ',"paramCond":' + '{"liu_yang_wei_zhi_":"' + dataid + '"}}').then(res => {
+                                        // alert('yang状态更新成功')
+                                      })
+                                    }
+                                  })
+
+                                })
                         }
                     }
                 })
@@ -259,6 +282,7 @@ export default {
                     rwzb["qi_wang_wan_cheng"] = mjfbbList[i].wan_cheng_shi_jia 			// 期望完成时间
                     rwzb["shi_fou_fen_bao_"] = mjfbbList[0][temp].shi_fou_fen_bao_			// 是否分包
                     rwzb["qi_wang_wan_cheng"] = mjfbbList[0][temp].wan_cheng_shi_jia 			// 期望完成时间
+                    rwzb["gong_xian_zhi_"] = mjypbList[i].yang_pin_lei_xin			// 供限值
                     rwb.push(rwzb)
                   }
                     index += str.length