|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div id="addDemandList">
|
|
|
- <el-card>
|
|
|
+ <el-card style="height: calc(100vh - 15vh);position: relative;overflow: scroll;">
|
|
|
<span>基本信息</span>
|
|
|
<el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
|
|
|
<el-row :gutter="10">
|
|
@@ -24,15 +24,6 @@
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="1.5">
|
|
|
- <el-form-item label="需求处理方式">
|
|
|
- <el-select disabled v-model="basicForm.demandBusinessType" size="mini" style="width: 200px">
|
|
|
- <el-option v-for="dict in dict.type.sys_processing_mode" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="1.5">
|
|
|
<el-form-item label="单据状态">
|
|
|
<el-select disabled v-model="basicForm.status" size="mini" style="width: 200px">
|
|
|
<el-option v-for="dict in dict.type.sys_status" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
@@ -127,17 +118,20 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <!-- <el-col :span="1.5">
|
|
|
- <el-form-item label="是否处理需求">
|
|
|
- <el-input
|
|
|
- v-model="basicForm.isProcess"
|
|
|
- size="mini"
|
|
|
- placeholder=""
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-form-item label="制单日期" prop="createTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="basicForm.createTime"
|
|
|
+ :disabled="sonDisable"
|
|
|
clearable
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ size="mini"
|
|
|
style="width: 200px"
|
|
|
- />
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
- </el-col> -->
|
|
|
+ </el-col>
|
|
|
|
|
|
<el-col :span="1.5">
|
|
|
<el-form-item label="备注">
|
|
@@ -151,7 +145,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
+
|
|
|
|
|
|
<span>明细信息</span>
|
|
|
<div class="btn_grooup">
|
|
@@ -160,133 +154,113 @@
|
|
|
<el-button type="primary" size="mini" v-if="sonPageStu == 'check' || sonPageStu == 'edit'" @click="showReserved">货权预留单</el-button>
|
|
|
</div>
|
|
|
|
|
|
- <el-table
|
|
|
- :data="basicForm.puDemandItemList"
|
|
|
+ <el-table
|
|
|
+ :data="basicForm.puDemandItemList"
|
|
|
fit
|
|
|
- max-height="300"
|
|
|
+ border
|
|
|
+ :cell-style="{ borderColor: '#c0c0c0' }"
|
|
|
+ :header-cell-style="{ borderColor: '#c0c0c0' }"
|
|
|
+ class="exporttable"
|
|
|
+ height="290"
|
|
|
+ max-height="290"
|
|
|
style="font-size: 12px;"
|
|
|
@selection-change="handleSelectionChange"
|
|
|
:cell-class-name="cellClassName"
|
|
|
>
|
|
|
<el-table-column show-overflow-tooltip type="selection"/>
|
|
|
<el-table-column show-overflow-tooltip label="序号" type="index" align="center"/>
|
|
|
- <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" :formatter="hangStatus" width="150px"/>
|
|
|
<el-table-column show-overflow-tooltip label="行号" align="center" prop="rowNo">
|
|
|
<template slot-scope="scope">
|
|
|
- {{scope.$index + 1 + '0'}}
|
|
|
+ {{ scope.$index + 1 + '0' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="业务部门名称" align="center" width="180px"/> -->
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="业务部门" align="center" width="180px"/> -->
|
|
|
+ <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="purOrgName" width="200px"/>
|
|
|
<el-table-column show-overflow-tooltip label="需求客户" align="center" prop="demandCustomerName" width="200px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="一级品类" align="center" prop="materialClassifyOneName" width="180px">
|
|
|
+ <el-table-column show-overflow-tooltip label="行状态" align="center" prop="status" :formatter="hangStatus" width="150px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="230px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-input readonly size="mini" v-model="scope.row.materialClassifyOneName"/>
|
|
|
+ <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'materialCode'" :rules="{ required: true, message: '请选择物料编码', trigger: 'blur' }">
|
|
|
+ <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.materialCode" @paste.native="pasteMe($event, scope, scope.$index)">
|
|
|
+ <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseMaterial(scope.$index)"></el-button>
|
|
|
+ </el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="二级品类" align="center" prop="materialClassifyTwoName" width="180px">
|
|
|
+ <el-table-column show-overflow-tooltip label="物料名称" align="center" prop="materialName" width="230px" />
|
|
|
+ <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification" />
|
|
|
+ <el-table-column show-overflow-tooltip label="型号" align="center" prop="model"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="单位" align="center" prop="unitName"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturerName" width="230px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="最小包装" align="center" prop="minPackage" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="实际(业务)需求量" align="center" prop="qty" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-input readonly size="mini" v-model="scope.row.materialClassifyTwoName"/>
|
|
|
+ <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'qty'" :rules="{ required: true, message: '请填写实际(业务)需求量', trigger: 'blur' }">
|
|
|
+ <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.qty" @input="getYLSL(scope)"/>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="三级品类" align="center" prop="materialClassifyThreeName" width="180px">
|
|
|
+ <el-table-column show-overflow-tooltip label="紧急标识" align="center" prop="isUrgency" width="100px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input readonly size="mini" v-model="scope.row.materialClassifyThreeName"/>
|
|
|
+ <el-switch
|
|
|
+ v-model="scope.row.isUrgency"
|
|
|
+ :disabled="sonDisable"
|
|
|
+ active-value="Y"
|
|
|
+ inactive-value="N"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#a1a3a9">
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="四级品类" align="center" prop="materialClassifyFourName" width="180px">
|
|
|
+ <el-table-column show-overflow-tooltip label="收货仓库" align="center" prop="deliveryWarehouseName" width="200px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input readonly size="mini" v-model="scope.row.materialClassifyFourName"/>
|
|
|
+ <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.deliveryWarehouseName" @clear="clearHang(scope.$index, '选择收货仓库')" @focus="chooseDept(scope.$index, 'WAREHOUSE_PARAM', true, '选择收货仓库')">
|
|
|
+ <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseDept(scope.$index, 'WAREHOUSE_PARAM', true, '选择收货仓库')"></el-button>
|
|
|
+ </el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="采购员名称" align="center" prop="buyerName" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyer"/>
|
|
|
- <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="230px">
|
|
|
+ <el-table-column show-overflow-tooltip label="收货货位" align="center" prop="deliveryAllocationName" width="200px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'materialCode'" :rules="{ required: true, message: '请选择物料编码', trigger: 'blur' }">
|
|
|
- <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.materialCode" @paste.native="pasteMe($event, scope, scope.$index)">
|
|
|
- <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseMaterial(scope.$index)"></el-button>
|
|
|
+ <el-form-item class="hang">
|
|
|
+ <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.deliveryAllocationName" @clear="clearHang(scope.$index, '选择收货货位')" @focus="choosehuoWei(scope.$index, 'ALLOCATION_PARAM', true, '选择收货货位', scope.row.deliveryWarehouse)">
|
|
|
+ <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="choosehuoWei(scope.$index, 'ALLOCATION_PARAM', true, '选择收货货位', scope.row.deliveryWarehouse)"></el-button>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="物料名称" align="center" prop="materialName" width="230px" />
|
|
|
- <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification" />
|
|
|
- <el-table-column show-overflow-tooltip label="型号" align="center" prop="model"/>
|
|
|
- <el-table-column show-overflow-tooltip label="单位" align="center" prop="unitName"/>
|
|
|
- <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturerName" width="230px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant" width="150px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="采购周期" align="center" prop="puPeriod" width="150px">
|
|
|
+ <el-table-column show-overflow-tooltip label="月均销量" align="center" prop="averageQtyMonth" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="需求可用周期" align="center" prop="demandPeriod" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="业务备注" align="center" prop="remark" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input type="number" min="0" clearable :readonly="sonDisable" size="mini" v-model="scope.row.puPeriod"></el-input>
|
|
|
+ <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.remark"/>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="有效期" align="center" prop="expiry" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="有效期单位" align="center" prop="expiryUnit" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="最小包装" align="center" prop="minPackage" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="最小订货量" align="center" prop="minOrderQty" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="物料一级分类" align="center" prop="materialClassifyOneName" width="180px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="物料二级分类" align="center" prop="materialClassifyTwoName" width="180px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="物料三级分类" align="center" prop="materialClassifyThreeName" width="180px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="物料四级分类" align="center" prop="materialClassifyFourName" width="180px"/>
|
|
|
<el-table-column show-overflow-tooltip label="最小批量" align="center" prop="minBatch" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="安全库存" align="center" prop="safeStock" width="120px">
|
|
|
+ <el-table-column show-overflow-tooltip label="最小订货量" align="center" prop="minOrderQty" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyerName" width="120px"/>
|
|
|
+ <!-- <el-table-column show-overflow-tooltip label="采购员" align="center" prop="buyer"/> -->
|
|
|
+ <el-table-column show-overflow-tooltip label="采购周期" align="center" prop="puPeriod" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input clearable :readonly="sonDisable" size="mini" v-model="scope.row.safeStock"/>
|
|
|
+ <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.puPeriod"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="预留比例" align="center" prop="reservedProportion" width="150px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedProportion" @change="getYLSL(scope)" @clear="cleanYLSL(scope)">
|
|
|
- <el-option v-for=" dict in dict.type.sys_reserve_ratio" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- <!-- <el-input v-model="scope.row.reservedProportion"/> -->
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="预留周期" align="center" prop="reservedPeriod" width="150px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'reservedPeriod'" :rules="{ required: scope.row.reservedProportion && scope.row.reservedProportion !== '' , message: '请填写预留周期', trigger: 'blur' }">
|
|
|
- <el-input type="number" min="0" clearable :readonly="sonDisable" size="mini" v-model="scope.row.reservedPeriod"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="预留数量" align="center" prop="reservedQty" width="150px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-input type="number" min="0" readonly size="mini" v-model="scope.row.reservedQty"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="月均销量" align="center" prop="averageQtyMonth" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="实际(业务)需求量" align="center" prop="qty" width="120px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'qty'" :rules="{ required: true, message: '请填写实际(业务)需求量', trigger: 'blur' }">
|
|
|
- <el-input type="number" min="0" clearable :readonly="sonDisable" size="mini" v-model="scope.row.qty" @input="getYLSL(scope)"/>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="需求可用周期" align="center" prop="demandPeriod" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassify" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="近一月需求" align="center" prop="onemonthAvgVolume" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="近三月需求" align="center" prop="threemonthAvgVolume" width="120px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="采购在途" align="center" prop="puFreight" width="120px"/>
|
|
|
<el-table-column show-overflow-tooltip label="交货日期" align="center" prop="deliveryDate" width="230px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'deliveryDate'" :rules="{ required: true, message: '请填写交货日期', trigger: 'blur' }">
|
|
|
+ <el-form-item class="hang">
|
|
|
<el-date-picker
|
|
|
v-model="scope.row.deliveryDate"
|
|
|
- :readonly="sonDisable"
|
|
|
+ :disabled="sonDisable"
|
|
|
clearable
|
|
|
type="date"
|
|
|
size="mini"
|
|
@@ -297,82 +271,43 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="补单标识" align="center" prop="isReplenishment" width="100px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-switch
|
|
|
- v-model="scope.row.isReplenishment"
|
|
|
- disabled
|
|
|
- active-value="Y"
|
|
|
- inactive-value="N"
|
|
|
- active-color="#13ce66"
|
|
|
- inactive-color="#a1a3a9">
|
|
|
- </el-switch>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="批号锁定标识" align="center" prop="isBatchLock" width="100px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-switch
|
|
|
- v-model="scope.row.isBatchLock"
|
|
|
- :disabled="sonDisable"
|
|
|
- active-value="Y"
|
|
|
- inactive-value="N"
|
|
|
- active-color="#13ce66"
|
|
|
- inactive-color="#a1a3a9">
|
|
|
- </el-switch>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="业务备注" align="center" prop="remark" width="150px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-input clearable :readonly="sonDisable" size="mini" v-model="scope.row.remark"/>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="采购备注" align="center" prop="puRemark" width="150px"/>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="末级供应仓库存量" align="center" prop="lastWarehouseQty" /> -->
|
|
|
- <el-table-column show-overflow-tooltip label="调拨占有量" align="center" prop="allotQty" width="150px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="最终净需求量" align="center" prop="resDemandQty" width="150px">
|
|
|
+ <el-table-column show-overflow-tooltip label="有效期" align="center" prop="expiry" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="有效期单位" align="center" prop="expiryUnit" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="安全库存" align="center" prop="safeStock" width="120px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input type="number" min="0" clearable :readonly="sonDisable" size="mini" v-model="scope.row.resDemandQty"/>
|
|
|
+ <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.safeStock"/>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="最终采购执行数量" align="center" prop="executeQty" width="150px">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.executeQty ? scope.row.executeQty : 0 }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="收货仓库" align="center" prop="deliveryWarehouseName" width="200px">
|
|
|
+ <el-table-column show-overflow-tooltip label="注册人" align="center" prop="registrant" width="150px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="预留比例" align="center" prop="reservedProportion" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.deliveryWarehouseName" @clear="clearHang(scope.$index, '选择收货仓库')" @focus="chooseDept(scope.$index, 'WAREHOUSE_PARAM', true, '选择收货仓库')">
|
|
|
- <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseDept(scope.$index, 'WAREHOUSE_PARAM', true, '选择收货仓库')"></el-button>
|
|
|
- </el-input>
|
|
|
+ <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedProportion" @change="getYLSL(scope)" @clear="cleanYLSL(scope)">
|
|
|
+ <el-option v-for=" dict in dict.type.sys_reserve_ratio" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="收货货位" align="center" prop="deliveryAllocationName" width="200px">
|
|
|
+ <el-table-column show-overflow-tooltip label="预留周期" align="center" prop="reservedPeriod" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.deliveryAllocationName" @clear="clearHang(scope.$index, '选择收货货位')" @focus="choosehuoWei(scope.$index, 'ALLOCATION_PARAM', true, '选择收货货位', scope.row.deliveryWarehouse)">
|
|
|
- <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="choosehuoWei(scope.$index, 'ALLOCATION_PARAM', true, '选择收货货位', scope.row.deliveryWarehouse)"></el-button>
|
|
|
- </el-input>
|
|
|
+ <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'reservedPeriod'" :rules="{ required: scope.row.reservedProportion && scope.row.reservedProportion !== '' , message: '请填写预留周期', trigger: 'blur' }">
|
|
|
+ <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedPeriod"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="收货货位编码" align="center" prop="deliveryAllocation" width="200px"/> -->
|
|
|
- <el-table-column show-overflow-tooltip label="末级供应仓库" align="center" prop="lastWarehouseName" width="200px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="末级供应货位" align="center" prop="lastAllocationName" width="200px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="紧急标识" align="center" prop="isUrgency" width="100px">
|
|
|
+ <el-table-column show-overflow-tooltip label="预留数量" align="center" prop="reservedQty" width="150px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="集团预测分类" align="center" prop="forecastClassify" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="近一月需求" align="center" prop="onemonthAvgVolume" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="近三月需求" align="center" prop="threemonthAvgVolume" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="采购在途" align="center" prop="puFreight" width="120px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="补单标识" align="center" prop="isReplenishment" width="100px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
<el-switch
|
|
|
- v-model="scope.row.isUrgency"
|
|
|
+ v-model="scope.row.isReplenishment"
|
|
|
disabled
|
|
|
active-value="Y"
|
|
|
inactive-value="N"
|
|
@@ -382,12 +317,19 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="默认采购组织" align="center" prop="purOrgName" width="200px"/>yu
|
|
|
- <el-table-column show-overflow-tooltip label="默认采购组织编码" align="center" prop="puOrg" width="200px"/>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="末级供应调拨待入量" align="center" prop="lastStockQty" width="150px"/> -->
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="上级供应中心现存量" align="center" prop="superiorCenterQty" width="200px"/> -->
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="上级库存被调拨占用量" align="center" prop="superiorAllotQty" width="200px"/> -->
|
|
|
- <el-table-column show-overflow-tooltip label="可用量" align="center" prop="availableQty"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="补单供应商" align="center" prop="additionalSupplierName" width="200px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'additionalSupplierName'" :rules="{ required: isBDXQ, message: '请选择补单供应商', trigger: 'blur' }">
|
|
|
+ <el-input clearable :disabled="sonDisable || BDZT" size="mini" v-model="scope.row.additionalSupplierName" @clear="clearHang(scope.$index, '选择补单供应商')" @focus="chooseDept(scope.$index, 'SUPPLIER_PARAM', true, '选择补单供应商')">
|
|
|
+ <el-button size="mini" :disabled="sonDisable || BDZT" slot="append" icon="el-icon-more" @click="chooseDept(scope.$index, 'SUPPLIER_PARAM', true, '选择补单供应商')"></el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="末级供应库存组织" align="center" prop="lastStockOrgName" width="200px"></el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="末级供应仓库" align="center" prop="lastWarehouseName" width="200px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="末级供应货位" align="center" prop="lastAllocationName" width="200px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="中心仓可用量" align="center" prop="centralWarehouseQty" width="200px"/>
|
|
|
<el-table-column show-overflow-tooltip label="调拨状态" align="center" prop="statusAllot" width="100px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
@@ -402,35 +344,20 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="补单供应商" align="center" prop="additionalSupplierName" width="200px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'additionalSupplierName'" :rules="{ required: isBDXQ, message: '请选择补单供应商', trigger: 'blur' }">
|
|
|
- <el-input clearable :disabled="sonDisable || BDZT" size="mini" v-model="scope.row.additionalSupplierName" @clear="clearHang(scope.$index, '选择补单供应商')" @focus="chooseDept(scope.$index, 'SUPPLIER_PARAM', true, '选择补单供应商')">
|
|
|
- <el-button size="mini" :disabled="sonDisable || BDZT" slot="append" icon="el-icon-more" @click="chooseDept(scope.$index, 'SUPPLIER_PARAM', true, '选择补单供应商')"></el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="补单供应商名称" align="center" prop="additionalSupplierName" width="200px">
|
|
|
+ <el-table-column show-overflow-tooltip label="调拨单号" align="center" prop="allotCode"></el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="调拨占有量" align="center" prop="allotQty" width="150px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="最终净需求量" align="center" prop="resDemandQty" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
|
- <el-input readonly size="mini" v-model="scope.row.additionalSupplierName"/>
|
|
|
+ <el-input type="number" min="0" clearable :disabled="sonDisable" size="mini" v-model="scope.row.resDemandQty"/>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
- </el-table-column> -->
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="周期单位" align="center" prop="periodUnit" width="150px">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="最终采购执行数量" align="center" prop="executeQty" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item class="hang">
|
|
|
- <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.periodUnit">
|
|
|
- <el-option v-for=" dict in dict.type.sys_period_unit" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
+ {{ scope.row.executeQty ? scope.row.executeQty : 0 }}
|
|
|
</template>
|
|
|
- </el-table-column> -->
|
|
|
- <el-table-column show-overflow-tooltip label="末级供应库存组织" align="center" prop="lastStockOrgName" width="200px"></el-table-column>
|
|
|
- <el-table-column show-overflow-tooltip label="中心仓可用量" align="center" prop="centralWarehouseQty" width="200px"/>
|
|
|
- <el-table-column show-overflow-tooltip label="调拨单号" align="center" prop="allotCode"></el-table-column>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column show-overflow-tooltip label="收货地址" align="center" prop="deliveryAddressName" width="200px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item class="hang">
|
|
@@ -440,7 +367,6 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column show-overflow-tooltip label="收货地址编码" align="center" prop="deliveryAddress" width="200px"></el-table-column> -->
|
|
|
<el-table-column show-overflow-tooltip label="联系人" align="center" prop="contacts"/>
|
|
|
<el-table-column show-overflow-tooltip label="联系人电话" align="center" prop="contactsPhone" width="200px"/>
|
|
|
<el-table-column show-overflow-tooltip label="详细地址" align="center" prop="address" width="200px"/>
|
|
@@ -451,10 +377,40 @@
|
|
|
<el-option v-for=" dict in dict.type.sys_price_type" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <!-- <el-input v-model="scope.row.periodUnit"/> -->
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="是否客户指定" align="center" prop="isSpeical" width="100px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item class="hang">
|
|
|
+ <el-switch
|
|
|
+ v-model="scope.row.isSpeical"
|
|
|
+ disabled
|
|
|
+ active-value="Y"
|
|
|
+ inactive-value="N"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#a1a3a9">
|
|
|
+ </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column show-overflow-tooltip label="批号锁定标识" align="center" prop="isBatchLock" width="100px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item class="hang">
|
|
|
+ <el-switch
|
|
|
+ v-model="scope.row.isBatchLock"
|
|
|
+ :disabled="sonDisable"
|
|
|
+ active-value="Y"
|
|
|
+ inactive-value="N"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#a1a3a9">
|
|
|
+ </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <el-table-column show-overflow-tooltip label="采购备注" align="center" prop="updateCause" width="150px"/>
|
|
|
+ <el-table-column show-overflow-tooltip label="可用量" align="center" prop="availableQty"/>
|
|
|
+
|
|
|
<el-table-column
|
|
|
fixed="right"
|
|
|
label="操作"
|
|
@@ -465,30 +421,29 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- </el-form>
|
|
|
+ </el-form>
|
|
|
+ <div class="btn_group">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" size="mini" @click="copy" v-if="sonPageStu == 'check'">复制</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" size="mini" @click="save" v-if="sonPageStu == 'add' || sonPageStu == 'edit'">保存</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5" style="margin: 0 10px;">
|
|
|
+ <el-button type="primary" size="mini" @click="submit" v-if="sonPageStu == 'check' && (row.status == '0' || row.status == '3')">提交</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button size="mini" plain @click="back">返回</el-button>
|
|
|
+ </el-col>
|
|
|
+ </div>
|
|
|
</el-card>
|
|
|
|
|
|
- <div class="btn_group">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" size="mini" plain @click="copy" v-if="sonPageStu == 'check'">复制</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" size="mini" plain @click="save" v-if="sonPageStu == 'add' || sonPageStu == 'edit'">保存</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5" style="margin: 0 10px;">
|
|
|
- <el-button type="primary" size="mini" plain @click="submit" v-if="sonPageStu == 'check' && (row.status == '0' || row.status == '3')">提交</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button size="mini" plain @click="back">返回</el-button>
|
|
|
- </el-col>
|
|
|
-
|
|
|
<Reserved v-if="dialog.config" :isVisible="dialog.config" :info="row" @updateReserved="updateReserved"/>
|
|
|
|
|
|
<Refers ref="refer" @doSubmit="selectionsToInput" :single="true"/>
|
|
|
|
|
|
<popDialog ref="materialRefer" @doSubmit="selectMaterial" :single="true" />
|
|
|
|
|
|
- </div>
|
|
|
|
|
|
<!-- 批量调整参数 -->
|
|
|
<el-dialog title="批量调整" :visible.sync="adjust.open" @close="closeEvent" width="400px">
|
|
@@ -615,11 +570,13 @@ export default {
|
|
|
demandPersonal: '',
|
|
|
demandDept: '',
|
|
|
demandDate: '',
|
|
|
+ createTime: '',
|
|
|
source: '4',
|
|
|
billType: 'ZQBH',
|
|
|
- isSpeical: '',
|
|
|
+ isSpeical: 'N',
|
|
|
isProcess: '',
|
|
|
isMonthleyCalculate: '',
|
|
|
+ createTime: this.parseTime(new Date().getTime()),
|
|
|
remark: '',
|
|
|
puDemandItemList: []
|
|
|
},
|
|
@@ -699,8 +656,8 @@ export default {
|
|
|
} else {
|
|
|
this.isBDXQ = false
|
|
|
this.BDZT = true
|
|
|
- this.basicForm.puDemandItemList.forEach(item => {
|
|
|
- item.isReplenishment = 'N'
|
|
|
+ this.basicForm.puDemandItemList.forEach(item => {
|
|
|
+ item.isReplenishment = 'N'
|
|
|
item.additionalSupplier = null
|
|
|
item.additionalSupplierName = null
|
|
|
})
|
|
@@ -785,6 +742,7 @@ export default {
|
|
|
item.contacts = ''
|
|
|
item.contactsPhone = ''
|
|
|
item.address = ''
|
|
|
+ item.statusAllot = 'N'
|
|
|
})
|
|
|
},
|
|
|
handleData() {
|
|
@@ -915,6 +873,7 @@ export default {
|
|
|
isUrgency: this.basicForm.billType == 'JJXQ' ? 'Y' : 'N',
|
|
|
isReplenishment: this.basicForm.billType == 'BDXQ'? 'Y': 'N',
|
|
|
isBatchLock: 'N',
|
|
|
+ isCustomerSpecified: '',
|
|
|
remark: null,
|
|
|
puRemark: null,
|
|
|
lastWarehouseQty: null,
|
|
@@ -983,11 +942,7 @@ export default {
|
|
|
delLine(index, row) {
|
|
|
console.log('删除行:', index)
|
|
|
console.log('改变行:', row)
|
|
|
- // this.basicForm.puDemandItemList = this.basicForm.puDemandItemList.filter(item => {
|
|
|
- // return item.id !== row.id
|
|
|
- // })
|
|
|
row.delFlag = '2'
|
|
|
- // this.basicForm.puDemandItemList.splice(index,1)
|
|
|
let delList = []
|
|
|
delList = this.basicForm.puDemandItemList.filter(item => {
|
|
|
return item.delFlag == '2'
|
|
@@ -1000,10 +955,6 @@ export default {
|
|
|
},
|
|
|
back() {
|
|
|
this.$emit('jugislist', true)
|
|
|
- // let queryParams = {
|
|
|
- // pageNum: 1,
|
|
|
- // pageSize: 10
|
|
|
- // }
|
|
|
this.$emit('refresh')
|
|
|
},
|
|
|
// 如果需要回显则调用详情接口
|
|
@@ -1026,7 +977,7 @@ export default {
|
|
|
// 详情时将收货仓库id赋值给stordocId
|
|
|
// 如果业务类型为补单需求,则明细内补单供应商编码可以编辑
|
|
|
if(this.basicForm.billType == 'BDXQ') {
|
|
|
- this.BDZT = false
|
|
|
+ this.BDZT = false
|
|
|
this.isBDXQ = true
|
|
|
} else {
|
|
|
this.BDZT = true
|
|
@@ -1161,10 +1112,6 @@ export default {
|
|
|
this.deptOptions = selection
|
|
|
this.basicForm.demandDept = selection[0].id
|
|
|
}
|
|
|
- // if(this.referCondition.type == 'DEPT_PARAM') {
|
|
|
- // this.basicForm.puDemandItemList[this.tableIndex].businessDept = selection[0].code
|
|
|
- // this.basicForm.puDemandItemList[this.tableIndex].businessDeptName = selection[0].name
|
|
|
- // }
|
|
|
if(this.referCondition.title == '选择收货仓库') {
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].deliveryWarehouse = selection[0].id
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].deliveryWarehouseName = selection[0].name
|
|
@@ -1259,6 +1206,7 @@ export default {
|
|
|
isUrgency: this.basicForm.billType == 'JJXQ' ? 'Y' : 'N',
|
|
|
isReplenishment: this.basicForm.billType == 'BDXQ' ? 'Y' : 'N',
|
|
|
isBatchLock: 'N',
|
|
|
+ isCustomerSpecified: '',
|
|
|
remark: null,
|
|
|
puRemark: null,
|
|
|
lastWarehouseQty: null,
|
|
@@ -1399,6 +1347,8 @@ export default {
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].materialClassifyFour = null
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].lastStockOrg = null
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].lastStockOrgName = null
|
|
|
+ this.basicForm.puDemandItemList[this.tableIndex].buyer = null
|
|
|
+ this.basicForm.puDemandItemList[this.tableIndex].buyerName = null
|
|
|
// 通过选择物料查询采购员
|
|
|
queryMan(selection[0].id).then(res => {
|
|
|
if(res.code === 200 && res.rows.length !== 0) {
|
|
@@ -1436,7 +1386,7 @@ export default {
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].transportationCondition = selection[0].transportationCondition
|
|
|
this.basicForm.puDemandItemList[this.tableIndex].storageCondition = selection[0].storageCondition
|
|
|
// 选中骨科耗材时候的物料,需求客户不必填
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
// 明细行选择业务部门参照带出业务部门数据
|
|
|
chooseDept(index, type, isPage, title) {
|
|
@@ -1610,11 +1560,14 @@ export default {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.btn_group {
|
|
|
- width: 100%;
|
|
|
- margin: 20px 0;
|
|
|
+ // width: 100%;
|
|
|
+ // margin: 20px 0;
|
|
|
display: flex;
|
|
|
- justify-content: center;
|
|
|
-}
|
|
|
+ // justify-content: center;
|
|
|
+ position: absolute;
|
|
|
+ top: 10px;right: 20px;
|
|
|
+
|
|
|
+}
|
|
|
.btn_grooup {
|
|
|
margin-bottom: 10px;
|
|
|
display: flex;
|
|
@@ -1633,4 +1586,7 @@ export default {
|
|
|
.el-table ::v-deep .success-row {
|
|
|
background: #f11616;
|
|
|
}
|
|
|
-</style>
|
|
|
+::v-deep .el-table__row > td {
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+</style>
|