<template> 
 | 
  <GlobalWindow 
 | 
    :title="title" 
 | 
    width="80%" 
 | 
    :visible.sync="visible" 
 | 
    :confirm-working="isWorking" 
 | 
    @confirm="confirm" 
 | 
  > 
 | 
    <div style="margin-bottom: 10px"> 
 | 
      <span class="title-add-style" style="vertical-align:middle">出库信息</span> 
 | 
      <!-- <el-button type="primary" style="margin-left: 10px;vertical-align:middle">选择来源单据</el-button> --> 
 | 
    </div> 
 | 
    <div class="form-data"> 
 | 
      <el-form :model="form" ref="form" inline :rules="rules" label-width="100px"> 
 | 
        <!-- <el-form-item label="来源单据类型" prop="originType"> 
 | 
          <el-input v-model="form.originTypeName" disabled placeholder="选择来源单据后默认带出" v-trim/> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="来源单据编号" prop="originCode"> 
 | 
          <el-input v-model="form.originCode" disabled placeholder="选择来源单据后默认带出" v-trim/> 
 | 
        </el-form-item> --> 
 | 
        <el-form-item label="计划日期" prop="planDate"> 
 | 
          <el-date-picker 
 | 
            v-model="form.planDate" 
 | 
            value-format="yyyy-MM-dd" 
 | 
            placeholder="选择日期" 
 | 
            :picker-options="pickerOptions" 
 | 
          ></el-date-picker> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="出库类型" prop="billType"> 
 | 
          <el-select v-model="form.billType" :disabled="disabled" filterable clearable placeholder="请选择"> 
 | 
            <el-option 
 | 
              v-for="(item) in billTypes" 
 | 
              :key="item.id" 
 | 
              :label="item.name" 
 | 
              :value="item.id"> 
 | 
            </el-option> 
 | 
          </el-select> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="出库仓库" prop="warehouseId"> 
 | 
          <el-select v-model="form.warehouseId" filterable clearable placeholder="请选择"> 
 | 
            <el-option 
 | 
              v-for="(item, index) in warehouses()" 
 | 
              :key="index" 
 | 
              :label="item.name" 
 | 
              :value="item.id"> 
 | 
            </el-option> 
 | 
          </el-select> 
 | 
        </el-form-item> 
 | 
        <div class="mark"> 
 | 
          <el-form-item label="单据摘要" prop="abstracts"> 
 | 
            <el-input v-model="form.abstracts" placeholder="请输入单据摘要" v-trim/> 
 | 
          </el-form-item> 
 | 
        </div> 
 | 
      </el-form> 
 | 
    </div> 
 | 
    <!-- 列表 --> 
 | 
    <el-tabs v-model="activeName"> 
 | 
      <el-tab-pane label="物料信息" name="first"></el-tab-pane> 
 | 
    </el-tabs> 
 | 
    <ul class="toolbar"> 
 | 
        <li><el-button type="primary" @click="addMaterial">选择物料</el-button></li> 
 | 
      </ul> 
 | 
    <el-table 
 | 
      :data="form.woutBoundDetailBeans" 
 | 
      border 
 | 
      stripe 
 | 
    > 
 | 
      <el-table-column align="center" label="序号" type="index" /> 
 | 
      <el-table-column prop="name" label="物料名称" min-width="100px"></el-table-column> 
 | 
      <el-table-column prop="code" label="物料编码" min-width="160px"></el-table-column> 
 | 
      <el-table-column prop="locationName" label="货位" min-width="100px"></el-table-column> 
 | 
      <el-table-column align="center" prop="procedureName" label="工序" min-width="100px"> 
 | 
        <template slot-scope="{row}"> 
 | 
          <span >{{ row.procedureName || '-' }}</span> 
 | 
        </template> 
 | 
      </el-table-column> 
 | 
      <el-table-column align="center" label="质量属性" min-width="100px"> 
 | 
        <template slot-scope="{row}"> 
 | 
          <span v-if="row.qualityType==0" class="valid-style">合格</span> 
 | 
          <span v-else-if="row.qualityType==1" class="unvalid-style">不良</span> 
 | 
          <span v-else-if="row.qualityType==2" class="scrap-style">报废</span> 
 | 
          <span v-else>-</span> 
 | 
        </template> 
 | 
      </el-table-column> 
 | 
      <el-table-column prop="batch" label="批次号" min-width="100px"></el-table-column> 
 | 
      <el-table-column prop="unitName" label="单位" min-width="100px"></el-table-column> 
 | 
      <el-table-column prop="stockNum" label="可用库存" min-width="100px"></el-table-column> 
 | 
      <el-table-column label="出库数量" min-width="100px"> 
 | 
        <template slot-scope="{row}"> 
 | 
          <el-input 
 | 
            v-if="row.unitAttribute==0" 
 | 
            v-model="row.num" 
 | 
            placeholder="请输入数量" 
 | 
            v-trim 
 | 
            onkeyup="value=value.replace(/[^0-9]/g, '')" 
 | 
            oninput="if(value<0) { value = ''} else {value=value.replace(/[^0-9]/g, ''}" 
 | 
          /> 
 | 
          <el-input 
 | 
            v-else 
 | 
            v-model="row.num" 
 | 
            placeholder="请输入数量" 
 | 
            v-trim 
 | 
            onkeyup="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" 
 | 
            oninput="if(value<0) { value = ''} else {value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '')}" 
 | 
          /> 
 | 
        </template> 
 | 
      </el-table-column> 
 | 
      <el-table-column 
 | 
        label="操作" 
 | 
        min-width="120" 
 | 
        align="center" 
 | 
        fixed="right" 
 | 
      > 
 | 
        <template slot-scope="{row}"> 
 | 
          <span> 
 | 
            <el-button type="text" @click="deleteMaterail(row)">删除</el-button> 
 | 
          </span> 
 | 
        </template> 
 | 
      </el-table-column> 
 | 
    </el-table> 
 | 
    <SelectMaterail 
 | 
      ref="selectMaterail" 
 | 
      @selectData="selectData" 
 | 
    > 
 | 
      <div slot="tree" style="height: calc(100% - 20px);"> 
 | 
        <Tree 
 | 
          style="height:98%;overflow-y: scroll;" 
 | 
          :list="materialTypes" 
 | 
          :defaultProps="defaultProps" 
 | 
          @callback="callback" 
 | 
        ></Tree> 
 | 
      </div> 
 | 
      <div slot="main"> 
 | 
        <el-form ref="materialSearchForm" :model="materialSearchForm" inline> 
 | 
          <el-form-item label="物料信息" prop="materialName"> 
 | 
            <el-input v-model="materialSearchForm.materialName" placeholder="请输入物料编码/名称" v-trim/> 
 | 
          </el-form-item> 
 | 
          <el-form-item label="批次号" prop="batch"> 
 | 
            <el-input v-model="materialSearchForm.batch" placeholder="请输入批次号" v-trim/> 
 | 
          </el-form-item> 
 | 
          <section > 
 | 
            <el-button type="primary" @click="searchMaterail">搜索</el-button> 
 | 
            <el-button @click="reset">重置</el-button> 
 | 
          </section> 
 | 
        </el-form> 
 | 
        <el-table 
 | 
          style="margin-top:10px" 
 | 
          v-loading="isSearch" 
 | 
          :data="tempMaterials" 
 | 
          ref="materials" 
 | 
          border 
 | 
          @selection-change="handleSelectionChange" 
 | 
        > 
 | 
          <el-table-column type="selection" fixed="left" width="55"></el-table-column> 
 | 
          <el-table-column label="物料编码" min-width="160px"> 
 | 
            <template slot-scope="{row}"> 
 | 
              <el-button type="text"> 
 | 
                {{ row.materialCode }} 
 | 
              </el-button> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column prop="materialName" label="物料名称" min-width="100px"></el-table-column> 
 | 
          <el-table-column prop="attr" label="规格" min-width="60px"></el-table-column> 
 | 
          <el-table-column prop="categoryName" label="物料分类" min-width="180px"> 
 | 
            <template slot-scope="{row}"> 
 | 
              <span class="long-title-style">{{ row.categoryName }}</span> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column prop="unitName" label="单位" min-width="50px"></el-table-column> 
 | 
          <el-table-column prop="batch" label="批次号" min-width="100px"></el-table-column> 
 | 
          <el-table-column align="center" prop="procedureName" label="工序" min-width="100px"> 
 | 
            <template slot-scope="{row}"> 
 | 
              <span >{{ row.procedureName || '-' }}</span> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column align="center" label="质量属性" min-width="100px"> 
 | 
            <template slot-scope="{row}"> 
 | 
              <span v-if="row.qualityType==0" class="valid-style">合格</span> 
 | 
              <span v-else-if="row.qualityType==1" class="unvalid-style">不良</span> 
 | 
              <span v-else-if="row.qualityType==2" class="scrap-style">报废</span> 
 | 
              <span v-else>-</span> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column prop="locationName" label="货位" min-width="100px"></el-table-column> 
 | 
          <el-table-column prop="num" fixed="right" label="可用库存" min-width="100px"> 
 | 
            <!-- <template slot-scope="{row}"> 
 | 
              <el-input 
 | 
                v-if="isSelectRow(row)" 
 | 
                v-model="row.num" 
 | 
                placeholder="请输入数量" 
 | 
                v-trim 
 | 
                onkeyup="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" 
 | 
                oninput="if(value<0) { value = ''} else {value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '')}" 
 | 
              /> 
 | 
            </template> --> 
 | 
          </el-table-column> 
 | 
        </el-table> 
 | 
        <el-pagination 
 | 
          style="margin-top:10px" 
 | 
          :current-page="pagination.pageIndex" 
 | 
          :page-size="pagination.pageSize" 
 | 
          layout="total, prev, pager, next, jumper" 
 | 
          :total="pagination.total" 
 | 
          @current-change="handlePageChange" 
 | 
          background> 
 | 
        </el-pagination> 
 | 
      </div> 
 | 
    </SelectMaterail> 
 | 
  </GlobalWindow> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import BaseOpera from '@/components/base/BaseOpera' 
 | 
import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
import Tree from '@/components/common/Tree' 
 | 
import { treeCategoryList } from '@/api/ext/categoryExt' 
 | 
import { choiceStockListPage } from '@/api/ext/wOutboundExt' 
 | 
export default { 
 | 
  name: 'OperaWOutboundExtWindow', 
 | 
  extends: BaseOpera, 
 | 
  components: { 
 | 
    GlobalWindow, 
 | 
    Tree, 
 | 
    SelectMaterail: () => import('@/components/ext/SelectMaterail') 
 | 
  }, 
 | 
  data () { 
 | 
    return { 
 | 
      // 表单数据 
 | 
      form: { 
 | 
        planDate: null, 
 | 
        warehouseId: null, 
 | 
        abstracts: null, 
 | 
        type: 0, 
 | 
        origin: 0, 
 | 
        billType: null, 
 | 
        woutBoundDetailBeans: [] 
 | 
      }, 
 | 
      materialSearchForm: { 
 | 
        materialName: null, 
 | 
        batch: null 
 | 
      }, 
 | 
      disabled: false, 
 | 
      // 验证规则 
 | 
      rules: { 
 | 
        planDate: [{ required: true, message: '请选择出库日期', trigger: 'change' }], 
 | 
        warehouseId: [{ required: true, message: '请选择出库仓库', trigger: 'blur' }], 
 | 
        billType: [{ required: true, message: '请选择出库类型', trigger: 'blur' }], 
 | 
      }, 
 | 
      activeName: 'first', 
 | 
      // warehouses: [ 
 | 
      // ], 
 | 
      pickerOptions: {}, 
 | 
      isSelectMaterial: false, 
 | 
      isSearch: false, 
 | 
      materialTypes: [], 
 | 
      defaultProps: { 
 | 
        children: 'childrenList', 
 | 
        name: 'name', 
 | 
        status: 'status', 
 | 
        id: 'id' 
 | 
      }, 
 | 
      tempMaterials: [], 
 | 
      billTypes: [], 
 | 
  
 | 
      pagination: { 
 | 
        pageIndex: 1, 
 | 
        pageSize: 10, 
 | 
        total: 0 
 | 
      }, 
 | 
      selectedTree: { 
 | 
        bigId: null, 
 | 
        meddileId: null, 
 | 
        smallId: null 
 | 
      }, 
 | 
      selectedAllMaterails: {}, 
 | 
      selectedMaterails: [] 
 | 
    } 
 | 
  }, 
 | 
  watch: { 
 | 
    visible:{ 
 | 
      handler(newVal, oldVal) {  
 | 
        if (newVal) { 
 | 
          this.form.woutBoundDetailBeans = [] 
 | 
        } 
 | 
      }, 
 | 
      deep: true 
 | 
    } 
 | 
  }, 
 | 
  inject: ['warehouses'], 
 | 
  created () { 
 | 
    this.config({ 
 | 
      api: '/ext/wOutboundExt', 
 | 
      'field.id': 'id' 
 | 
    }) 
 | 
    this.pickerOptions.disabledDate = (time) => { 
 | 
        // 一天 
 | 
      let tempTime = 3600 * 1000 * 24  
 | 
      return time.getTime() < new Date()-tempTime 
 | 
    } 
 | 
  }, 
 | 
  methods: { 
 | 
    // 获取当天年月日 
 | 
    getDay() { 
 | 
      var date = new Date(); 
 | 
      var year = date.getFullYear(); 
 | 
      var month = date.getMonth() + 1; 
 | 
      var day = date.getDate(); 
 | 
      return `${year}-${month <= 9 ? `0${month}` : month}-${day <= 9 ? `0${day}` : day}` 
 | 
    }, 
 | 
    open (title, target) { 
 | 
      this.title = title 
 | 
      this.visible = true 
 | 
      // 新建 
 | 
      if (target == null) { 
 | 
        this.$nextTick(() => { 
 | 
          this.$refs.form.resetFields() 
 | 
          this.form[this.configData['field.id']] = null 
 | 
          this.form.planDate = this.getDay() 
 | 
          if (title === '新建销售出库单') { 
 | 
            this.form.billType = 18 
 | 
            this.disabled = true 
 | 
            this.billTypes = [ 
 | 
              {name:'销售出库', id: 18} 
 | 
            ] 
 | 
          } else { 
 | 
            this.form.billType = null 
 | 
            this.disabled = false 
 | 
            this.billTypes = [ 
 | 
              {name:'库存调整', id: 28}, 
 | 
              {name:'仓库报废', id: 21}, 
 | 
              {name:'客退检验领料', id: 22}, 
 | 
              {name:'客返检验领料', id: 23}, 
 | 
            ] 
 | 
          } 
 | 
        }) 
 | 
        return 
 | 
      } 
 | 
      // 编辑 
 | 
      this.$nextTick(() => { 
 | 
        for (const key in this.form) { 
 | 
          this.form[key] = target[key] 
 | 
        } 
 | 
      }) 
 | 
    }, 
 | 
    addMaterial () { 
 | 
      if (!this.form.warehouseId) { 
 | 
        this.$tip.error('请先选择仓库') 
 | 
        return 
 | 
      } 
 | 
      treeCategoryList({ cateType: 0 }) 
 | 
        .then(res => { 
 | 
          this.materialTypes = this.tree(res) 
 | 
        }) 
 | 
        .catch(err => { 
 | 
          console.log(err) 
 | 
        }) 
 | 
      const ids = [] 
 | 
      if (this.form.woutBoundDetailBeans) { 
 | 
        for (const item of this.form.woutBoundDetailBeans) { 
 | 
          ids.push(item.id) 
 | 
        } 
 | 
      } 
 | 
      // console.log(ids) 
 | 
      choiceStockListPage({ 
 | 
        page: 1, 
 | 
        capacity: 10, 
 | 
        model: { 
 | 
          ids: ids.join(','), 
 | 
          warehouseId: this.form.warehouseId 
 | 
        }, 
 | 
        sorts: null 
 | 
      }).then(res => { 
 | 
        this.pagination.total = res.total 
 | 
        this.pagination.pageSize = res.capacity 
 | 
        this.pagination.pageIndex = res.page 
 | 
        this.tempMaterials = res.records 
 | 
        this.$refs.selectMaterail.open('选择物料') 
 | 
      }).catch(err => { 
 | 
        this.$tip.error(err) 
 | 
      }) 
 | 
    }, 
 | 
    deleteMaterail (row) { 
 | 
      this.form.woutBoundDetailBeans.splice(this.form.woutBoundDetailBeans.indexOf(row), 1) 
 | 
    }, 
 | 
    reset () { 
 | 
      this.$refs.materialSearchForm.resetFields() 
 | 
      this.selectedTree.bigId = null 
 | 
      this.selectedTree.meddileId = null 
 | 
      this.selectedTree.smallId = null 
 | 
      this.pageSearch() 
 | 
    }, 
 | 
    callback (data, item) { 
 | 
      // console.log(data, item) 
 | 
      if (item.pmodel) { 
 | 
        const fpmodel = item.pmodel 
 | 
        if (fpmodel.parentId) { 
 | 
          // console.log('点击的是小类') 
 | 
          // 点击的是小类 
 | 
          if (this.selectedTree.smallId === fpmodel.id) { 
 | 
            // 关 
 | 
            this.selectedTree.smallId = null 
 | 
          } else { 
 | 
            // 开 
 | 
            this.selectedTree.smallId = item.id 
 | 
          } 
 | 
        } else { 
 | 
          // console.log('点击的是中类') 
 | 
          // 点击的是中类 
 | 
          if (this.selectedTree.meddileId === fpmodel.id) { 
 | 
            // 关 
 | 
            this.selectedTree.meddileId = null 
 | 
            this.selectedTree.smallId = null 
 | 
          } else { 
 | 
            // 开 
 | 
            this.selectedTree.meddileId = item.id 
 | 
            this.selectedTree.smallId = null 
 | 
          } 
 | 
        } 
 | 
      } else { 
 | 
        // 点击的是大类 
 | 
        if (this.selectedTree.bigId === item.id) { 
 | 
          // 关 
 | 
          this.selectedTree.bigId = null 
 | 
          this.selectedTree.meddileId = null 
 | 
          this.selectedTree.smallId = null 
 | 
        } else { 
 | 
          // 开 
 | 
          this.selectedTree.bigId = item.id 
 | 
          this.selectedTree.meddileId = null 
 | 
          this.selectedTree.smallId = null 
 | 
        } 
 | 
      } 
 | 
      this.pageSearch() 
 | 
    }, 
 | 
    searchMaterail () { 
 | 
      this.pageSearch() 
 | 
    }, 
 | 
    pageSearch () { 
 | 
      this.pagination.pageIndex = 1 
 | 
      this.getTempMaterails() 
 | 
    }, 
 | 
    getTempMaterails () { 
 | 
      const ids = [] 
 | 
      if (this.form.woutBoundDetailBeans) { 
 | 
        for (const item of this.form.woutBoundDetailBeans) { 
 | 
          ids.push(item.id) 
 | 
        } 
 | 
      } 
 | 
      choiceStockListPage({ 
 | 
        page: this.pagination.pageIndex === undefined ? 1 : this.pagination.pageIndex, 
 | 
        capacity: 10, 
 | 
        model: { 
 | 
          materialName: this.materialSearchForm.materialName, 
 | 
          batch: this.materialSearchForm.batch, 
 | 
          cateBigId: this.selectedTree.bigId, 
 | 
          cateMiddleId: this.selectedTree.meddileId, 
 | 
          cateSmallId: this.selectedTree.smallId, 
 | 
          warehouseId: this.form.warehouseId, 
 | 
          ids: ids.join(',') 
 | 
        }, 
 | 
        sorts: null 
 | 
      }).then(res => { 
 | 
        this.pagination.total = res.total 
 | 
        this.pagination.pageSize = res.capacity 
 | 
        this.pagination.pageIndex = res.page 
 | 
        this.tempMaterials = res.records 
 | 
        this.isSelectMaterial = true 
 | 
        // console.log('getTempMaterails', this.selectedAllMaterails) 
 | 
        if (this.selectedAllMaterails[this.pagination.pageIndex]) { 
 | 
          // debugger 
 | 
          for (const item of this.selectedAllMaterails[this.pagination.pageIndex]) { 
 | 
             
 | 
            this.$nextTick(() => { 
 | 
              this.tempMaterials.forEach(tempItem => { 
 | 
                if (tempItem.id === item.id) { 
 | 
                  console.log(tempItem.mmodelUnionName); 
 | 
                  this.$refs.materials.toggleRowSelection(tempItem, true) 
 | 
                } 
 | 
              }) 
 | 
            }) 
 | 
          } 
 | 
        } 
 | 
      }).catch(err => { 
 | 
        this.$tip.error(err) 
 | 
      }) 
 | 
    }, 
 | 
    handlePageChange (page) { 
 | 
      this.pagination.pageIndex = page 
 | 
      this.getTempMaterails() 
 | 
    }, 
 | 
    handleSelectionChange (selectedRows) { 
 | 
      console.log(selectedRows) 
 | 
      this.selectedAllMaterails[this.pagination.pageIndex] = selectedRows 
 | 
      console.log(this.selectedAllMaterails); 
 | 
    }, 
 | 
    selectData () { 
 | 
      // console.log(this.selectedAllMaterails) 
 | 
      for (const key in this.selectedAllMaterails) { 
 | 
        for (const item of this.selectedAllMaterails[key]) { 
 | 
          this.form.woutBoundDetailBeans.push({ 
 | 
            code: item.materialCode, 
 | 
            name: item.materialName, 
 | 
            materialId: item.materialId, 
 | 
            procedureName: item.procedureName, 
 | 
            id: item.id, 
 | 
            unitAttribute: item.unitAttribute, 
 | 
            // 需传参数 
 | 
            procedureId: item.procedureId, 
 | 
            qualityType: item.qualityType, 
 | 
            stockNum: item.num, 
 | 
            num: item.num, 
 | 
            unitId: item.unitId, 
 | 
            unitName: item.unitName, 
 | 
            locationName: item.locationName, 
 | 
            batch: item.batch, 
 | 
            locationId: item.locationId 
 | 
          }) 
 | 
        } 
 | 
      } 
 | 
    }, 
 | 
    isSelectRow (row) { 
 | 
      if (this.selectedAllMaterails[this.pagination.pageIndex]) { 
 | 
        return this.selectedAllMaterails[this.pagination.pageIndex].includes(row) 
 | 
      } 
 | 
      return false 
 | 
    }, 
 | 
    // 树数据处理 
 | 
    tree (treeArray) { 
 | 
      const array = [] 
 | 
      for (const item of treeArray) { 
 | 
        item.status = false 
 | 
        if (item.childrenList) { 
 | 
          item.children = this.tree(item.childrenList) 
 | 
        } 
 | 
        array.push(item) 
 | 
      } 
 | 
      return array 
 | 
    }, 
 | 
    __confirmCreate () { 
 | 
      this.$refs.form.validate((valid) => { 
 | 
        if (!this.form.woutBoundDetailBeans.length) { 
 | 
          this.$tip.error('至少选择一条物料') 
 | 
          return 
 | 
        } 
 | 
        for (const item of this.form.woutBoundDetailBeans) { 
 | 
          if (item.num <= 0) { 
 | 
            this.$tip.error('出库物料数量必须大于0!') 
 | 
            return 
 | 
          }  
 | 
          if (item.num > item.stockNum) { 
 | 
            this.$tip.error('转库的物料数量不能大于库存量!') 
 | 
            return 
 | 
          } 
 | 
        } 
 | 
        if (!valid) { 
 | 
          return 
 | 
        } 
 | 
        // 调用新建接口 
 | 
        this.isWorking = true 
 | 
        this.api.create(this.form) 
 | 
          .then(() => { 
 | 
            this.visible = false 
 | 
            this.form.woutBoundDetailBeans = [] 
 | 
            this.$tip.apiSuccess('新建成功') 
 | 
            this.$emit('success') 
 | 
          }) 
 | 
          .catch(e => { 
 | 
            this.$tip.apiFailed(e) 
 | 
          }) 
 | 
          .finally(() => { 
 | 
            this.isWorking = false 
 | 
          }) 
 | 
      }) 
 | 
    } 
 | 
  } 
 | 
} 
 | 
/** 
 | 
 *  
 | 
  
 | 
    “你们金蛇一脉也太猖狂了吧?”就在这时,姬紫月这一方的九眼碧蟾出列,这绝对是一个绝世强者,在他们这一方实力数一数二。 
 | 
  
 | 
    “一只蛤蟆而已,也敢口吹大气。”石人圣灵出面,脸色冷漠。代金蛇族说话,他而今需要强大的盟友,自然要有所表现。 
 | 
  
 | 
    “我最讨厌蟾蜍了!”金蛇族第三郎君恨声说道,这么多年来,他们被灰蛟还有金蟾追杀。心中有大恨。 
 | 
  
 | 
    “听闻我族一位前辈在追杀你等,这样也好。今日我与你们有个了结。”九眼碧蟾发话。 
 | 
  
 | 
    姬紫月、九眼碧蟾、古金鹏、天狼是他们这队组合中的为首几人,先后摆明了态度,其他人自然也不好中途退出。 
 | 
  
 | 
    当然,这些都是流于表面的仇恨,最主要的原因是,为了争夺神魔液等造化,他们早晚会有一战,此时若是能提前歼灭敌手将省却不少麻烦。 
 | 
  
 | 
    “不就是一个战字吗,有什么大不了,连人族圣体当年都被我等追杀的大败而逃,将这些人也都杀了!”金蛇第三郎君冷酷而又有些傲然的开口。 
 | 
  
 | 
    姬紫月嗤的笑了出来,道:“我怎么听鹏兄还有天狼兄说,你们的二兄被人族圣体击毙,放在鼎里熬成肉食了?你们杀的他大败而逃,我听错了吗,还是说你们一群人才能与他一人争锋?” 
 | 
  
 | 
    金蛇族的几位郎君顿时脸色难看,盯着古金鹏,又看向天狼,戾气陡升,最后又看向姬紫月,神色不善。 
 | 
  
 | 
    “我说的不是事实吗?”姬紫月浅笑,脸上露出一对小酒窝,牙齿洁白晶莹,闪动光泽。 
 | 
  
 | 
    “人族圣体他活不了,十日内我等必除他!”石人开口,他对叶凡充满了恨意,眼中一片猩红。 
 | 
  
 | 
    “多说无益,既然要战,今日我等奉陪,血杀个彻底!”就在这时,一直冷漠静观的金蛇大郎君开口,这一边以他为首。 
 | 
  
 | 
    他们这一边共有十人,他是最强者,一眼就盯上了姬紫月还有那九眼碧蟾,知晓以这两人最不好对付。 
 | 
  
 | 
    “那就战吧!”天狼早已等不及,眸子中的银色光束化成了可怖的魔光,像是要毁天灭地,一声咆哮第一个向前冲去。 
 | 
  
 | 
    “我来会你!”金蛇四郎君冲出,直奔天狼而来。 
 | 
  
 | 
    九眼碧蟾而腾起,通体闪烁碧霞,九为极致,他生有九眼足以说明了问题,一声蟾鸣,宛若闷雷一般,震的在场所有人都气血翻腾。 
 | 
  
 | 
    很多人骇然,这绝对是一个了不得的大高手,是年轻至尊中的绝顶人物,全都发怵。 
 | 
  
 | 
    金蛇大郎君浑不在意,道:“他交给我了,你们去将其他人杀个干净。” 
 | 
  
 | 
    轰! 
 | 
  
 | 
    与此同时古金鹏出手了,蛇族对他意义重大,吞食蛇精,可让鹏血更加纯净,接近祖先。它双翅一展,撕裂乾坤,直冲几条金蛇而去,可惜未能如愿,被食金兽挡住了。 
 | 
  
 | 
    食金兽实力强绝。曾吞食过一小块龙纹黑金。而今战力大涨,已成为个中佼佼者,与古金鹏大战在一起,非常的激烈。 
 | 
  
 | 
    嗡隆! 
 | 
  
 | 
    另一边,石人圣灵、金蛇三郎君等也都出手了,攻向驮山龟与绿血人等,展开了惊天动地的血战。 
 | 
  
 | 
    当然,最为激烈的一战当属金蛇大郎君与九眼碧蟾这一组,两人都有非凡血脉,且战力惊世。让其他人胆寒。 
 | 
  
 | 
    “诸位无需担心,尽展最强力量也无妨,我来为你们恢复神力!”姬紫月在后方说道。 
 | 
  
 | 
    在一片朦胧的光辉中,她像是披上了一层圣洁的纱衣。一条条瑞光飞起,冲向古天鹏、九眼碧蟾等,神力不绝,让他们始终处在最巅峰状态。 
 | 
  
 | 
    在这一刻,四面八方,无尽精气,以及神魔葬地中的本源碎片等全部聚拢而来,没入他们这一方的强者体内。 
 | 
  
 | 
    “好!”这些人顿时士气大振,一个个如生龙活虎般,勇猛无比。 
 | 
  
 | 
    “噗” 
 | 
  
 | 
    很快。就有人殒落了,姬紫月这一方的人不需担忧耗尽本源力,无所保留,以最强手段与神通出手,格杀对方一人。 
 | 
  
 | 
    “哼,修士作战,靠的是己身实力,我要让你们明白,什么是强者!”石人一声大吼,所向披靡。向前攻去。 
 | 
  
 | 
    他的对手是驮山龟,防御力惊人,化成人形后持有一块盾牌,是以其本体龟壳炼制而成,挡住了石人所有攻击。 
 | 
  
 | 
    但是。圣灵发威,吼啸天地时。驮山龟明显承受不这种威压,嘴角溢血。 
 | 
  
 | 
    这是实力的差距,即便他时时处在最巅峰状态也战不过石人,要知道这一脉体魄之坚固,举世无双,除却人族圣体等少数几人外,没有人敢与他们硬撼。 
 | 
  
 | 
    “最强防御也不行,杀你如碎瓦罐!”圣灵咆哮,他掌指变换,接连拍下,将那面盾牌打碎,噗的一声将驮山龟的头颅拍的四分五裂,像是一个西瓜般碎掉了。 
 | 
  
 | 
    众人心惊,这个圣灵果然强大,让人忌惮。 
 | 
  
 | 
    一声鹏鸣,古金鹏展翅,舍弃打不动的食金兽,将旁边的一个对手给撕裂,一口吞了下去,还以颜色。 
 | 
  
 | 
    “不过如此,杀!”另一片战场,金蛇三郎君手段通天,一尾扫出,横击高天,抽在了绿血人的身上,顿时碧血染长空,让他几乎断为两截。 
 | 
  
 | 
    “噗” 
 | 
  
 | 
    金蛇三郎君跟进,一个金蛇盘绕,将绿血人的头颅绞断下来,张开血盆大口直接咬碎,鲜血淋淋,吞了下去。 
 | 
  
 | 
    场面非常的血腥与残暴,双方大战,很快就死了五六人,都是一域的至强者,但在这里却命比草贱。 
 | 
  
 | 
    剩下的人都有些胆寒,有些后悔,这样的血拼太过可怕,年轻至尊级的较量动辄就是身死道消,这里不在是他们称尊的古路了。 
 | 
  
 | 
    “噗”、“噗” 
 | 
  
 | 
    时间不长,又有两人殒落,分别为圣灵与金蛇三郎君所为,这两人绝世强大,扑杀姬紫月这方的人,血花四溅,让那两人殒落当场。 
 | 
  
 | 
    谁也没有想到,这一战如此残酷,性命搏杀,这么快就让双让人数锐减! 
 | 
  
 | 
    到了最后,姬紫月这一方剩下八人,对方剩下七人,人数虽然差不多,但是显然古田鹏、天狼、九眼碧蟾这一方损失的人多。 
 | 
  
 | 
    单体战力,金蛇一方更占优势! 
 | 
  
 | 
    “不过如此,全都是土鸡瓦狗,借你们之血滋养我躯,练成螣蛇化神功去斩人族圣体!”金蛇三郎君的敌手不固定,四处击杀。 
 | 
  
 | 
    此外,石人亦是大开杀戒,噗的一声又将姬紫月这一方的一个强者头颅抓裂,满身是血,残酷的冷笑,他看到了与强大的金蛇族联手除掉叶凡的希望。 
 | 
  
 | 
    “诸位,你们都上当了,这个丫头分明早已得到了神魔液,是我等追杀的目标,你们却因她而在自相残杀。” 
 | 
  
 | 
    就在这时,一声大喝传来,桑古出现,身材雄健,黑发齐腰,眸子冰冷,他是太古神魔的后代,对神魔液等感应灵敏,最有发言权。 
 | 
  
 | 
    “什么?”其他人大吃一惊。 
 | 
  
 | 
    所有人的目光都集中向姬紫月,冷意森然,一个个杀气腾腾。 
 | 
  
 | 
    “诸位还愣着作甚,她才是我们追杀的目标,将其毙掉,搜其魂魄,寻到神魔液!”金蛇大郎君阴冷的说道。 
 | 
  
 | 
    九眼碧蟾、古金鹏都露出异色,他们两人曾被大圣追杀,被姬紫月带进古阵中逃走,此时还真不好选立场。 
 | 
  
 | 
    天狼等其他人则脸色铁青,他们曾说过,要斩杀神魔液现在的持有者,夺来这场造化,现在回头一看,真是没有什么颜面。 
 | 
  
 | 
    这些话是当着姬紫月的面说的,竟是这样一个结果,未曾格杀神魔液所有者,反倒与她一路同行多日,没有察觉这就是他们想杀的人。 
 | 
  
 | 
    “我不想害人,但你们为了神魔液却要杀我与哥哥,毫不留情。我只是为了自保,为了活下去,半路上有机会杀你们也未曾下手。”姬紫月平静的说道。 
 | 
  
 | 
    金蛇一方就没有那么多顾忌了,石人圣灵森然道:“神来了都救不了你!”他扑杀向前。 
 | 
  
 | 
    姬紫月倒也干脆,早有准备,取出虚空阵台,径直就要横渡虚空而去,这是比黑皇所得到的棋盘阵纹还要奥妙的法阵,众人根本拦不住。 
 | 
  
 | 
    不过,在她刚要离开时,一片金色血气如汪洋一般卷来,让她感受到了一股熟悉的气机,止住了脚步。 
 | 
  
 | 
    叶凡挟无上神威到来,浑身缭绕神辉,宛若一尊人族大帝降世,迎上了攻击向姬紫月的石人,道:“是你说的吗,神来了都救不了她?!” 
 | 
  
 | 
    “轰隆” 
 | 
  
 | 
    伴随着天崩地裂的声响,石人惨叫,双臂再一次折断,这一次叶凡不给他机会,兵字诀运转,将那其卷了过来,展现最强战力,异象、古术、神形等合一。 
 | 
  
 | 
    噗! 
 | 
  
 | 
    血光迸溅,叶凡以异象将石人定住,用神形将其撕裂为两半,轮动金色拳头,连挥九次,将其彻底打爆在虚空中,鲜血飞溅,尸块四飞。 
 | 
  
 | 
    “啊……不!”圣灵绝望了,元神飞出,怒吼山河。 
 | 
  
 | 
    但是,他注定了灭亡,叶凡这一次不给他逃走的机会,一脚踏下,将那个发光的元神小人碾碎在脚底板下。 
 | 
  
 | 
    这深深震撼了每一个人! 
 | 
  
 | 
    并非圣灵实力糟糕,而是他被吓破了胆,上一次的惨败让他失去了与人族圣体一争高下的雄心壮志,刚一见面想的不是迎敌,而是逃遁。结果被叶凡用兵字诀拘禁了回来,被动反抗,根本无力,几乎是被一边倒的打到爆碎,死于非命。 
 | 
  
 | 
    不然,以其强大的实力最不济也能支撑到百招开外,可惜就是这么的慑于叶凡的威势而被当众格杀了。 
 | 
  
 | 
    圣灵血飞溅,镇住了在场的每一个人,让许多人全都发毛,这可是一尊强大的圣灵啊,就这么被杀死了。 
 | 
  
 | 
    “谁敢难为她?!”叶凡英姿挺拔,浑身都在发光,脚下源天阵纹浮现,睥睨在场诸雄。 
 | 
   
 | 
 */ 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.toolbar { 
 | 
  border-bottom: 1px solid #eee; 
 | 
  padding-bottom: 10px; 
 | 
  li { 
 | 
    display: inline-block; 
 | 
    margin-right: 6px; 
 | 
  } 
 | 
} 
 | 
.form-data { 
 | 
  ::v-deep .el-form-item{ 
 | 
    width: 45%; 
 | 
    margin-right: 4%; 
 | 
  } 
 | 
  .mark { 
 | 
    ::v-deep .el-form-item{ 
 | 
      width: 95%; 
 | 
      margin-right: 4%; 
 | 
    } 
 | 
  } 
 | 
  ::v-deep .el-form-item__content { 
 | 
    width: calc(100% - 114px); 
 | 
  } 
 | 
} 
 | 
</style> 
 |