hd 1 周之前
父节点
当前提交
60cb2ce914

+ 0 - 3
mini-pro-web/src/views/device/index.vue

@ -133,7 +133,6 @@ export default{
                community = this.selcommunity.hospitalCode||this.selcommunity.hospital||''
                town = community? '' : (this.selcommunity.town||'')
            }
            debugger
            if(this.extendList[0].value!==undefined){
                networkStatus = this.extendList[0].value
@ -154,10 +153,8 @@ export default{
            } else {
                func = medicineAbinetApi.getDeviceListWithUserId
            }
            console.log('params', p)
            func(p)
                .then(res=>{
                    console.log('getOutOfStockDeviceList', res)
                    if(res.status == 200){
                        var list = res.detailModelList
                        this.list = page==1? list : this.list.concat(list)

+ 1 - 2
mini-pro-web/src/views/device/infoLog/deviceLog.vue

@ -13,6 +13,7 @@
                            <div v-for='(citem) in item.shipmentLogs' :key="citem.id" class='item bgc-fff plr10 c-333 c-f14  '>
                                <div class=''>
                                    <div>药品名称:{{citem.drugName}}</div>
                                    <div>药品追溯码:{{citem.traceabilityCode}}</div>
                                    <div>出货状态:<span>{{citem.status==1? '未出货' : citem.status==2? '已出货' : citem.status==3? '出货故障' : ""}}</span></div>
                                    <div>货道信息:{{citem.layerNo}}层 {{citem.wayerNo}}道</div>
                                    <div>出货时间:{{citem.outTime}}</div>
@ -69,11 +70,9 @@ export default{
                page: page,
                size: 12
            }
            console.log('getDeviceOrderInfoPage', p)
            medicineAbinetApi
                .getDeviceOrderInfoPage(p)
                .then(res=>{
                    console.log('getDeviceOrderInfoPage', res)
                    if(res.status == 200){
                        var list = res.detailModelList || []
                        this.list = page==1? list : this.list.concat(list)

+ 0 - 9
mini-pro-web/src/views/index/Index.vue

@ -267,7 +267,6 @@ export default {
	created(){
        this.first = true
        this.getOrgList()
        console.log('this.$store.user.state',this.$store.state.user.curRoleCode)
        if(this.$store.state.user.curRoleCode =='replenisher'){
            this.medicineShow = false;
            this.sales = false;
@ -291,7 +290,6 @@ export default {
			medicineAbinetApi
				.countAllDevice(p)
				.then(res=>{
                    // console.log('countall', res);
                    this.overview = res.obj.overview;
                    this.maintain = res.obj.maintain;
				})
@ -315,10 +313,8 @@ export default {
            if(this.medicineData){
                if(val == '全部'){
                    this.medicineBag = '';
                    console.log('全部')
                }else{
                    this.medicineBag = val;
                    console.log('1,3,7,9')
                }
                this.medicineData = false;
                this.medicine();
@ -329,10 +325,8 @@ export default {
        salesTime(val){
            if(val == '全部'){
                this.salesBag = '';
                console.log('全部')
            }else{
                this.salesBag = val;
                console.log('1,3,7,9')
            }
            this.echartsData();
        },
@ -461,7 +455,6 @@ export default {
                        await medicineAbinetApi
                            .baseTownList({ filters: "city=350200"})//写死厦门市
                            .then(res => {
                                console.log('baseTownList', res)
                                if (res.status == 200) {
                                    var detailModelList = res.detailModelList;
                                    detailModelList.forEach((item) => {
@ -483,7 +476,6 @@ export default {
                await medicineAbinetApi
                    .findOrgDeviceList({ code: item.town || '', paeg: 1, pageSize: 999 })
                    .then(res => {
                        console.log('findOrgList', res)
                        if (res.status == 200) {
                            res.detailModelList.forEach(v=>{
                                v.hospitalName = v.name
@ -511,7 +503,6 @@ export default {
                this.prescriptionBag = ''
                this.medicineBag = ''
            }
            console.log('this.selcommunity', item)
            if(item){
                this.selcommunity = item;
            }

+ 0 - 4
mini-pro-web/src/views/index/components/OrderAnalyse.vue

@ -113,11 +113,9 @@ export default {
                p.startTime = startDate + " 00:00:00"
                p.endTime = endDate? (endDate + " 23:59:59") : ""
            }
            console.log('getprescriptions', p)
            medicineAbinetApi
				.getprescriptions(p)
				.then(res=>{
                    console.log('getprescriptions', res)
                    if(res.status == 200){
                        var { onlineTotal, offlineTotal } = res.obj
                        var total = Number(onlineTotal) + Number(offlineTotal)
@ -232,11 +230,9 @@ export default {
                p.startTime = startDate + " 00:00:00"
                p.endTime = endDate? (endDate + " 23:59:59") : ""
            }
            console.log('getPrescriptionStaticsRank', p)
            medicineAbinetApi
				.getPrescriptionStaticsRank(p)
				.then(res=>{
                    console.log('getPrescriptionStaticsRank', res)
                    if(res.status == 200){
                        if(res.detailModelList.length){
                            this.nodata = false

+ 0 - 2
mini-pro-web/src/views/index/components/PickAnalyse.vue

@ -61,11 +61,9 @@ export default {
                p.endTime = endDate? (endDate + " 23:59:59") : ""
            }
            console.log('medicine', p)
            medicineAbinetApi
				.getmedicine(p)
				.then(res=>{
                    console.log('medicine', res)
                    var { saomaTotal, yibaoTotal } = res.obj
                    var total = Number(saomaTotal) + Number(yibaoTotal)
                    if(this.myChart){

+ 0 - 3
mini-pro-web/src/views/order/components/Filter.vue

@ -170,7 +170,6 @@ export default{
            }
        },
        submit(selcommunity, state, allTime){
            console.log('selcommunity', this.selcommunity)
            var {dateType} = this
            if(selcommunity){
                this.selcommunity = selcommunity
@ -250,7 +249,6 @@ export default{
                        await medicineAbinetApi
                            .baseTownList({ filters: "city=350200"})//写死厦门市
                            .then(res => {
                                console.log('baseTownList', res)
                                if (res.status == 200) {
                                    var detailModelList = res.detailModelList;
                                    detailModelList.forEach((item) => {
@ -272,7 +270,6 @@ export default{
                await medicineAbinetApi
                    .findOrgList({ code: item.town, paeg: 1, pageSize: 999 })
                    .then(res => {
                        console.log('findOrgList', res)
                        if (res.status == 200) {
                            res.detailModelList.forEach(v=>{
                                v.hospitalName = v.name

+ 1 - 0
mini-pro-web/src/views/order/detail/components/LogList.vue

@ -7,6 +7,7 @@
                <div>x1</div>
            </div>
            <div>药品规格: <span>{{item.specif}}</span></div>
            <div>药品追溯码: <span>{{item.traceabilityCode}}</span></div>
            <div>设备日志: <span>{{item.status==2? '(无异常)出货成功' : item.description}}</span></div>
            <div>设备名称: <span>{{item.equName}}</span></div>
            <div class="out-img"><span>出货图片: </span><img @click="preview(item.pic)" :src="setImgUrl(item.pic)" alt=""></div>

+ 0 - 5
mini-pro-web/src/views/order/list.vue

@ -251,11 +251,9 @@ export default{
                    timeSort: this.sortAsc? 1 : -1,
                } 
            }
            console.log('params', p)
            medicineAbinetApi
                .orderList(p)
                .then(res=>{
                    console.log('orderList', res)
                    if(res.status == 200){
                        this.totalCount = res.totalCount
                        var list = res.detailModelList
@ -318,7 +316,6 @@ export default{
                        await medicineAbinetApi
                            .baseTownList({ filters: "city=350200"})//写死厦门市
                            .then(res => {
                                console.log('baseTownList', res)
                                if (res.status == 200) {
                                    var detailModelList = res.detailModelList;
                                    detailModelList.forEach((item) => {
@ -340,7 +337,6 @@ export default{
                await medicineAbinetApi
                    .findOrgList({ code: item.town, paeg: 1, pageSize: 999 })
                    .then(res => {
                        console.log('findOrgList', res)
                        if (res.status == 200) {
                            res.detailModelList.forEach(v=>{
                                v.hospitalName = v.name
@ -386,7 +382,6 @@ export default{
                medicineAbinetApi
                    .reviewerOrder(p)
                    .then(res=>{
                        console.log('reviewerOrder', res)
                        if(res.status == 200){
                            this.$toast("操作成功")
                            item.reviewerState = -2

+ 1 - 2
mini-pro-web/src/views/replenishment/record/list.vue

@ -22,6 +22,7 @@
                        <div v-else-if="active==3">下架药品:{{citem.drugName}}</div>
                        <div v-if="citem.quantity >= citem.oldQuantity">变动数:{{citem.quantity - citem.oldQuantity}}</div>
                        <div v-else>变动数:{{citem.quantity}}</div>
                        <div>药品追溯码:{{citem.traceabilityCode}}</div>
                        <div>操作人员:{{citem.name}}</div>
                    </template>
                    <!-- <template>
@ -92,11 +93,9 @@ export default{
                page: page,
                size: pageSize
            };
            console.log('getDeviceInventoryRecordListByDeviceId', params)
            medicineAbinetApi
                .getDeviceInventoryRecordListByDeviceId(params)
                .then(res=>{
                    console.log('getDeviceInventoryRecordListByDeviceId', res)
                   if(res.status == 200){
                        var list = res.detailModelList
                        this.list = page==1? list : this.list.concat(list)

+ 60 - 35
mini-pro-web/src/views/replenishment/start/components/SetStockDialog.vue

@ -17,31 +17,18 @@
          <div class="pt10 c-999">软件显示库存:{{ data.qty }}</div>
          <div class="pt10 pb20 ipt plr50">
            <div class="tc  ">
              <van-stepper placeholder="实际库存" v-model="stock" min="1" max="99" button-size="36px" input-width="60px" />
              <van-stepper placeholder="实际库存" v-model="stock" min="1" :max="data.cargoCapacity" button-size="36px" input-width="60px" @change="changeStock"/>
            </div>
          </div>
        </div>
        <div>
          <div class="title">
          <div class="title mb8">
            <span>药品追溯码(</span>
            <span class="c-17b3ec">{{ 0 }}</span>
            <span class="c-17b3ec">{{ fillNum }}</span>
            <span>/{{ stock }})</span>
          </div>
          <div class="code-box">
            <draggable v-model="items" :group="{ name: 'items' }" :animation="200" handle=".drag">
              <div class="flex justify-between align-center mb10" style="position: relative;">
                <van-field v-model="keyword" label="第5位次" placeholder="请扫描或输入追溯码" class="mr8" />
                <img src="@/assets/images/traceability/scan.png" class="scan" alt="" v-if="data.qty <= stock" />
                <img src="@/assets/images/traceability/drag.png" class="drag" alt="" v-if="data.qty <= stock" />
                <img src="@/assets/images/traceability/del.png" alt="" v-if="data.qty > stock" @click="delDrug" />
              </div>
              <div class="flex justify-between align-center" style="position: relative;">
                <van-field v-model="keyword" label="第5位次" placeholder="请扫描或输入追溯码" class="mr8" />
                <img src="@/assets/images/traceability/scan.png" class="scan" alt="" v-if="data.qty <= stock" />
                <img src="@/assets/images/traceability/drag.png" class="drag" alt="" v-if="data.qty <= stock" />
                <img src="@/assets/images/traceability/del.png" alt="" v-if="data.qty > stock" @click="delDrug()" />
              </div>
            </draggable>
            <codeList :codeList="newCodeList" :qty="data.qty" :stock="stock" :bussiness="bussiness"></codeList>
          </div>
        </div>
        <div class="ptb10">
@ -52,11 +39,11 @@
  </div>
</template>
<script>
import draggable from 'vuedraggable'
import medicineAbinetApi from '@/api/api-medicineAbinet'
import codeList from './codeList.vue'
export default {
  components: {
    draggable
    codeList
  },
  props: {
    value: {},
@ -69,19 +56,40 @@ export default {
      }
    },
    trackId: { default: '' },
    drugId: { default: '' }
    drugId: { default: '' },
    codeList:{
      type:Array,
      default: ()=>{
        return []
      }
    }
  },
  data() {
    return {
      stock: 1,
      keyword: '',
      items: []
      items: [],
      newCodeList: []
    }
  },
  computed:{
    fillNum(){
      let num = 0
      this.newCodeList.forEach(el=>{
        if(el.code){
          num ++
        }
      })
      return num
    }
  },
  watch: {
    value: {
      handler() {
        this.stock = this.bussiness == 1 ? this.data.cargoCapacity : this.data.qty
      handler(val) {
        this.stock = this.bussiness == 1 ? this.data.cargoCapacity : this.data.qty        
        if(val){
          this.newCodeList = JSON.parse(JSON.stringify(this.codeList))
        }
      },
      immediate: true
    }
@ -89,22 +97,40 @@ export default {
  created() {},
  methods: {
    confirm() {
      if(this.bussiness == 1 && this.fillNum > this.stock){
        this.$toast('追溯码数量不能大于容量')
        return
      }
      
      if(this.bussiness == 2 && this.fillNum != this.stock*1){
        this.$toast("追溯码数量必须等于库存")
        return
      }
      if (this.trackId) {
        this.updateMediicinecabineInventory()
        return
      }
      this.$emit('onConfirm', this.stock)
      
      this.$emit('onConfirm', {stock: this.stock,codeList: this.newCodeList})
    },
    emitValue(show) {
      this.$emit('input', show)
    },
    updateMediicinecabineInventory(data) {
      this.$loading('保存中..')
      const codeList = []
      this.newCodeList.forEach((el,index)=>{
        codeList.push({
          code: el.code,
          sort: this.newCodeList.length - index
        })
      })
      let p = {
        id: this.trackId,
        drugId: this.drugId,
        qty: this.stock,
        userId: this.user.id
        userId: this.user.id,
        codeStr: JSON.stringify(codeList)
      }
      medicineAbinetApi
@ -125,17 +151,16 @@ export default {
          console.error(err)
        })
    },
    delDrug() {
      this.$dialog
        .confirm({
          message: '是否确定删除该药品'
        })
        .then(() => {
          // on confirm
        })
        .catch(() => {
          // on cancel
    changeStock(val){
      if(val > this.newCodeList.length){
        this.newCodeList.push({
          code: ''
        })
      }else if(val < this.newCodeList.length){
        if(!this.newCodeList[this.newCodeList.length - 1].code){
          this.newCodeList.pop()
        }
      }
    }
  }
}

+ 107 - 0
mini-pro-web/src/views/replenishment/start/components/codeList.vue

@ -0,0 +1,107 @@
<template>
  <draggable v-model="items" :group="{ name: groupName }" :animation="200" handle=".drag" @sort="onSort">
    <div class="flex justify-between align-center mb10" style="position: relative;" v-for="(item, index) in codeList" :key="index">
      <van-field v-model="item.code" :label="getLabel(index)" placeholder="请扫描或输入追溯码" class="mr8" />
      <img src="@/assets/images/traceability/scan.png" class="scan" alt="" v-if="qty <= stock&&bussiness != 1" />
      <img src="@/assets/images/traceability/drag.png" class="drag" alt="" v-if="qty <= stock&&bussiness != 1" />
      <img src="@/assets/images/traceability/del.png" alt="" v-if="qty > stock" @click="delDrug(index)" />
    </div>
  </draggable>
</template>
<script>
import draggable from 'vuedraggable'
export default {
  props: {
    qty: {
      default: 0
    },
    stock: {
      default: 0
    },
    codeList: {
      type: Array,
      default: () => {
        return []
      }
    },
    bussiness: {
      default: 0  //1修改容量 2矫正库存 4设置库存 5选择药品后 设置库存  6备药时选择药品
    }
  },
  components: {
    draggable
  },
  data() {
    return {
      items: [],
      groupName: ''
    }
  },
  mounted() {
    this.groupName = 'group' + this.getRandomString(10)
  },
  methods: {
    delDrug(index) {
      this.$dialog
        .confirm({
          message: '是否确定删除该药品?'
        })
        .then(() => {
          this.codeList.splice(index, 1)
        })
        .catch(() => {})
    },
    getLabel(index) {
      const len = this.codeList.length
      if (index == 0) {
        return `${len - index}位最里:`
      } else if (index == len - 1) {
        return '1位最外:'
      } else {
        return `第${len - index}位次:`
      }
    },
    onSort(event) {
      const oldIndex = event.oldIndex
      const newIndex = event.newIndex
      const obj = this.codeList[oldIndex]
      this.codeList.splice(oldIndex, 1)
      this.codeList.splice(newIndex, 0, obj)
    },
    getRandomString(length) {
      const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
      let result = ''
      const charactersLength = characters.length
      for (let i = 0; i < length; i++) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength))
      }
      return result
    }
  }
}
</script>
<style lang="scss" scoped>
.van-cell {
  background: #f1f3f4;
  padding: 6px 16px;
}
.scan {
  position: absolute;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
}
.drag {
  width: 20px;
  height: 20px;
}
::v-deep {
  .van-field__label {
    color: #999;
    width: 60px;
    margin-right: 0;
  }
}
</style>

+ 44 - 20
mini-pro-web/src/views/replenishment/start/productDetail.vue

@ -20,16 +20,12 @@
    <div class="box">
      <div class="mb10">
        <span>药品追溯码(</span>
        <span class="c-17b3ec">{{ info.qty }}</span>
        <span>/{{ info.cargoCapacity }})</span>
        <span class="c-17b3ec">{{ codeList.length }}</span>
        <span>/{{ info.qty }})</span>
      </div>
      <div class="drug-item">
        <span class="c-999">1位最外:</span>
        <span>9431924004563435393</span>
      </div>
      <div class="drug-item">
        <span class="c-999">2位最外:</span>
        <span>9431924004563435393</span>
      <div class="drug-item" v-for="(item, index) in codeList" :key="index">
        <span class="c-999">{{ getLabel(index, codeList.length) }}</span>
        <span>{{ item.code }}</span>
      </div>
    </div>
    <div class="bot-banner  ptb10">
@ -65,7 +61,7 @@
      </div>
    </div>
    <!-- 修改容量 -->
    <SetStockDialog v-model="setStockShow" :data="info" @onConfirm="updateMediicinecabineInventoryInfoById" :bussiness="bussiness" />
    <SetStockDialog v-model="setStockShow" :data="info" :codeList="codeList" @onConfirm="updateMediicinecabineInventoryInfoById" :bussiness="bussiness" />
  </div>
</template>
<script>
@ -86,7 +82,8 @@ export default {
      drugId: '',
      drugName: '',
      drugPrice: '',
      from: this.$route.query.from
      from: this.$route.query.from,
      codeList: []
    }
  },
  computed: {
@ -113,12 +110,10 @@ export default {
        inventoryIds: trackId
      }
      medicineAbinetApi.drugTraceabilityCodeDetail(params).then(res => {
        // const data = res.obj
        // this.drug = data.drug
        // this.inventoryList = data.inventoryList.map(el => {
        const data = res.obj
        // const inventoryList = data.inventoryList.map(el => {
        //   let obj = {
        //     ...el,
        //     arr: []
        //     ...el
        //   }
        //   var maxNum = el.cargoCapacity * 1 > this.stock * 1 ? this.stock * 1 : el.cargoCapacity * 1
        //   var len = obj.codeList.length
@ -130,6 +125,9 @@ export default {
        //   return obj
        // })
        if (data.inventoryList.length > 0) {
          this.codeList = data.inventoryList[0].codeList
        }
      })
    },
    selectMediicinecabineInventoryById() {
@ -140,7 +138,7 @@ export default {
      medicineAbinetApi
        .selectMediicinecabineInventoryById(p)
        .then(res => {
          console.log(res,"REs");
          console.log(res, 'REs')
          const obj = res.obj
          this.$toast.clear()
          this.info = obj
@ -175,7 +173,15 @@ export default {
      } else if (this.bussiness == 1) {
        p.cargoCapacity = data
      } else if (this.bussiness == 2) {
        p.qty = data
        p.qty = data.stock
        const codeList = []
        data.codeList.forEach((el, index) => {
          codeList.push({
            code: el.code,
            sort: data.codeList.length - index
          })
        })
        p.codeStr = JSON.stringify(codeList)
      }
      medicineAbinetApi
        .updateMediicinecabineInventoryInfoById(p)
@ -204,11 +210,19 @@ export default {
    updateMediicinecabineInventory(data) {
      this.$loading('保存中..')
      const codeList = []
      data.codeList.forEach((el,index)=>{
        codeList.push({
          code: el.code,
          sort: data.codeList - index
        })
      })
      let p = {
        id: this.id,
        drugId: this.drugId,
        qty: data,
        userId: this.user.id
        qty: data.stock,
        userId: this.user.id,
        codeStr: JSON.stringify(codeList)
      }
      medicineAbinetApi
@ -233,12 +247,22 @@ export default {
        .catch(err => {
          console.error(err)
        })
    },
    getLabel(index, len) {
      if (index == 0) {
        return `${len - index}位最里:`
      } else if (index == len - 1) {
        return '1位最外:'
      } else {
        return `第${len - index}位次:`
      }
    }
  }
}
</script>
<style lang="scss" scoped>
.replenishment-start-product-detail {
  padding-bottom: 70px;
  .van-image {
    width: 100px;
    height: 100px;

+ 22 - 58
mini-pro-web/src/views/replenishment/start/traceability.vue

@ -26,13 +26,7 @@
        <div v-for="item in inventoryList" :key="item.id">
          <div class="title">{{ item.layerNo }}层{{ item.wayerNo }}号位</div>
          <div class="code-box">
            <draggable v-model="item.arr" :group="{ name: item.id }" :animation="200" handle=".drag" @end="onEnd" @sort="onSort($event, item.id)">
              <div class="flex justify-between align-center mb10" style="position: relative;" v-for="(el, index) in item.codeList" :key="index">
                <van-field v-model="el.code" :label="getLabel(index, item.codeList.length)" placeholder="请扫描或输入追溯码" class="mr8" />
                <img src="@/assets/images/traceability/scan.png" class="scan" alt="" />
                <img src="@/assets/images/traceability/drag.png" class="drag" alt="" />
              </div>
            </draggable>
            <code-list :codeList="item.codeList"></code-list>
          </div>
        </div>
      </div>
@ -49,9 +43,9 @@
<script>
import medicineAbinetApi from '@/api/api-medicineAbinet'
import draggable from 'vuedraggable'
import codeList from './components/codeList.vue'
export default {
  components: { draggable },
  components: { codeList },
  data() {
    return {
      stock: this.$route.query.stock,
@ -60,13 +54,7 @@ export default {
      drugId: this.$route.query.drugId,
      outDetailId: this.$route.query.outDetailId || '',
      type: this.$route.query.type, // 1: '补货' 2:'入库
      drug: {
        'drugCode': '41187',
        'drugName': '复方酮康唑乳膏',
        'drugId': '808080eb7d84c42a017d84c801ee0000',
        'pic': null,
        'specif': '7g/支'
      },
      drug: {},
      inventoryList: []
    }
  },
@ -135,24 +123,24 @@ export default {
    },
    finish() {
      if (this.allNum == this.fillNum) {
        if (type == 1) {
        if (this.type == 1) {
          this.batchAddInventory()
        } else {
          this.updateMediicinecabineInventory()
        }
      } else {
        this.$dialog
          .confirm({
            message: '未录入所有追溯码,是否完成补货?请确保顺序靠后的位次为空,药品放在前置位。'
          })
          .then(() => {
            if (type == 1) {
        if (this.type == 1) {
          this.$dialog
            .confirm({
              message: '未录入所有追溯码,是否完成补货?请确保顺序靠后的位次为空,药品放在前置位。'
            })
            .then(() => {
              this.batchAddInventory()
            } else {
              this.updateMediicinecabineInventory
            }
          })
          .catch(() => {})
            })
            .catch(() => {})
        } else {
          this.updateMediicinecabineInventory
        }
      }
    },
    batchAddInventory() {
@ -160,7 +148,12 @@ export default {
      const list = []
      this.inventoryList.forEach(el => {
        const codeList = []
        let qty = 0
        el.codeList.forEach((item, index) => {
          // 记录填写了追溯码的数量
          if (item.code) {
            qty++
          }
          codeList.push({
            code: item.code,
            sort: el.codeList.length - index
@ -169,7 +162,7 @@ export default {
        list.push({
          cargoId: el.id,
          drugId: this.drugId,
          qty: el.qty,
          qty: qty,
          codeList
        })
      })
@ -212,14 +205,6 @@ export default {
    },
    backFn() {
      this.$router.go(-1)
    },
    onSort(val, id) {
      const oldIndex = val.oldIndex
      const newIndex = val.newIndex
      const obj = this.inventoryList.find(el => el.id == id)
      const obj1 = obj.codeList[oldIndex]
      obj.codeList.splice(oldIndex, 1)
      obj.codeList.splice(newIndex, 0, obj1)
    }
  }
}
@ -253,20 +238,6 @@ export default {
  padding: 10px;
  border: 1px solid rgba($color: #000000, $alpha: 0.1);
}
.van-cell {
  background: #f1f3f4;
  padding: 6px 16px;
}
.scan {
  position: absolute;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
}
.drag {
  width: 20px;
  height: 20px;
}
.footer {
  background: #fff;
  height: 60px;
@ -291,11 +262,4 @@ export default {
    line-height: 40px;
  }
}
::v-deep {
  .van-field__label {
    color: #999;
    width: 60px;
    margin-right: 0;
  }
}
</style>