|
|
@ -1,368 +1,388 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
|
|
|
|
<div class="tab-header webtop"> |
|
|
|
<!-- 标题 --> |
|
|
|
<div>【新增】维修出库</div> |
|
|
|
<!-- start 添加修改按钮 --> |
|
|
|
<div> |
|
|
|
<el-button type="primary" size="small" @click="seleMaintenance">选择维修工单</el-button> |
|
|
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">出库</el-button> |
|
|
|
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|
|
|
<div class="app-container"> |
|
|
|
<div v-show="viewState == 1"> |
|
|
|
|
|
|
|
<div class="tab-header webtop"> |
|
|
|
<!-- 标题 --> |
|
|
|
<div>【新增】维修退库</div> |
|
|
|
<!-- start 添加修改按钮 --> |
|
|
|
<div> |
|
|
|
<el-button type="primary" size="small" @click="seleMaintenance">选择维修工单</el-button> |
|
|
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">退库</el-button> |
|
|
|
<el-button type="info" size="small" @click="handleReturn()">清空</el-button> |
|
|
|
</div> |
|
|
|
<!-- end 添加修改按钮 --> |
|
|
|
<!-- end 详情按钮 --> |
|
|
|
</div> |
|
|
|
<!-- end 添加修改按钮 --> |
|
|
|
<!-- end 详情按钮 --> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="listconadd"> |
|
|
|
<div class="listconadd"> |
|
|
|
|
|
|
|
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|
|
|
<!-- <div class="title"> |
|
|
|
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|
|
|
<!-- <div class="title"> |
|
|
|
<div>基础信息</div> |
|
|
|
</div> --> |
|
|
|
<el-row class="first_row"> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 操作人</div> |
|
|
|
<el-form-item prop="goodsName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 操作部门</div> |
|
|
|
<el-form-item prop="goodsCode"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">操作日期</div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 领料人</div> |
|
|
|
<el-form-item prop="goodsUnitName"> |
|
|
|
<el-select v-model="formobj.goodsUnitName" placeholder="请选择领料人" class="addinputw" |
|
|
|
@change="selectunitNameChange"> |
|
|
|
<el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="16"> |
|
|
|
<div class="span-sty">备注</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.indexes" placeholder="备注" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>维修工单</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 维修工单编号</div> |
|
|
|
<el-form-item prop="goodsName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 单据日期</div> |
|
|
|
<el-form-item prop="goodsCode"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">服务顾问</div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 工单类型</div> |
|
|
|
<el-form-item prop="goodsName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 科目</div> |
|
|
|
<el-form-item prop="goodsCode"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"></div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo"></span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 客户名称</div> |
|
|
|
<el-form-item prop="goodsName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 车牌号/车架号</div> |
|
|
|
<el-form-item prop="goodsCode"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.goodsName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">客户单位</div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>服务项目</div> |
|
|
|
</div> |
|
|
|
<el-table v-loading="listLoading" :data="formobj.baseGoodsSkus" border> |
|
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> --> |
|
|
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> |
|
|
|
<el-table-column label="操作" wid align="center" width="80"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="primary" size="mini" |
|
|
|
@click="showGoodsSkuDttail(scope.row.baseGoodsSkuExtend)">商品出库</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="服务项目" prop="goodsSkuCode" align="center" /> |
|
|
|
<el-table-column label="工种" prop="title" align="center" /> |
|
|
|
<el-table-column label="科目" prop="externalCode" align="center" /> |
|
|
|
<el-table-column label="维修人" prop="indexes" align="center" /> |
|
|
|
<el-table-column label="考核工时" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="工时单价" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="工时数" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="销售价" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="折扣" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="优惠" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="金额" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="备注" prop="ownSpec" align="center" /> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>商品列表</div> |
|
|
|
<el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">全退</el-button> |
|
|
|
</div> |
|
|
|
<el-table v-loading="listLoading" :data="formobj.baseGoodsSkus" border> |
|
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> --> |
|
|
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> |
|
|
|
<el-table-column label="操作" wid align="center" width="80"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="primary" size="mini" |
|
|
|
@click="showGoodsSkuDttail(scope.row.baseGoodsSkuExtend)">删除</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="项目名称" prop="goodsSkuCode" align="center" /> |
|
|
|
<el-table-column label="商品名称" prop="title" align="center" /> |
|
|
|
<el-table-column label="商品编码" prop="externalCode" align="center" /> |
|
|
|
<el-table-column label="规格" prop="indexes" align="center" /> |
|
|
|
<el-table-column label="单位" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="仓库" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="库位" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="销售单价" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="已出数量" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="退库数量" align="center" width="120"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input @input="commodityComputeYHAndXSJE(scope.row,$event)" |
|
|
|
v-model="scope.row.actualInCount" clearable placeholder="" |
|
|
|
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="销售单价" prop="ownSpec" align="center" /> |
|
|
|
<el-table-column label="备注" align="center" width="220"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row.actualInCount" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
</el-form> |
|
|
|
<el-row class="first_row"> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 制单人</div> |
|
|
|
<el-form-item prop="createByName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.createByName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 制单部门</div> |
|
|
|
<el-form-item prop="deptName"> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.deptName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">制单日期</div> |
|
|
|
<el-form-item prop="createByName"> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 领料人</div> |
|
|
|
<el-form-item prop="warehouseManager"> |
|
|
|
<el-select v-model="formobj.warehouseManager" filterable clearable placeholder="请选择" |
|
|
|
class="addinputw addinputInfo" @change="receivePerSelect"> |
|
|
|
<el-option v-for="item in receivePerList" :key="item.sid" :label="item.name" :value="item.sid"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="16"> |
|
|
|
<div class="span-sty">备注</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>维修工单</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">维修工单编号</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.sourceBillNo}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">单据日期</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.billDate}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">服务顾问</div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.waitorName }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">工单类型</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.billType}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">科目</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.subject}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty"></div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo"></span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">客户名称</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.customerName}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">车牌号/车架号</div> |
|
|
|
<el-form-item> |
|
|
|
<span class="addinputw addinputInfo">{{formobj.vehMark}}/{{formobj.vinNo}}</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">客户单位</div> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item><span class="addinputw addinputInfo">{{ formobj.customerOrg }}</span></el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>服务项目</div> |
|
|
|
</div> |
|
|
|
<el-table v-loading="listLoading" :data="formobj.sitemVoList" border> |
|
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> --> |
|
|
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> |
|
|
|
<el-table-column label="服务项目" prop="serviceItem" align="center" /> |
|
|
|
<el-table-column label="工种" prop="serviceType" align="center" /> |
|
|
|
<el-table-column label="科目" prop="subject" align="center" /> |
|
|
|
<el-table-column label="维修人" prop="repairerName" align="center" /> |
|
|
|
<el-table-column label="考核工时" prop="examineHourPrice" align="center" /> |
|
|
|
<el-table-column label="工时单价" prop="hourPrice" align="center" /> |
|
|
|
<el-table-column label="工时数" prop="hours" align="center" /> |
|
|
|
<el-table-column label="销售价" prop="price" align="center" /> |
|
|
|
<el-table-column label="折扣" prop="discount" align="center" /> |
|
|
|
<el-table-column label="优惠" prop="discountAmount" align="center" /> |
|
|
|
<el-table-column label="金额" prop="amount" align="center" /> |
|
|
|
<el-table-column label="备注" prop="remarks" align="center" /> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<div class="title titleOne"> |
|
|
|
<div>商品列表</div> |
|
|
|
<el-button type="primary" size="mini" class="btntopblueline" @click="returnAll()">全退</el-button> |
|
|
|
</div> |
|
|
|
<el-table v-loading="listLoading" :data="formobj.detailList" border> |
|
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> --> |
|
|
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> |
|
|
|
<el-table-column label="项目名称" prop="serviceItem" align="center" /> |
|
|
|
<el-table-column label="商品名称" prop="goodsSpuName" align="center" /> |
|
|
|
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" /> |
|
|
|
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" /> |
|
|
|
<el-table-column label="单位" prop="unit" align="center" /> |
|
|
|
<!-- <el-table-column label="仓库" prop="warehouseName" align="center" /> |
|
|
|
<el-table-column label="库位" prop="warehouseRackCode" align="center" /> |
|
|
|
--> |
|
|
|
<el-table-column label="仓库" align="center" width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable |
|
|
|
@change="selectWarehouseName(scope.row,$event)"> |
|
|
|
<el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName" :value="item.sid"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="库位" align="center" width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-select v-model="scope.row.warehouseRackCode" :disabled="scope.row.warehouseName==''" clearable |
|
|
|
@focus="getWarehouseAreaList(scope.row.warehouseSid)" placeholder="请选择" |
|
|
|
@change="selectWarehouseAreaCode(scope.row,$event)"> |
|
|
|
<el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column label="已出数量" prop="outboundCount" align="center" /> |
|
|
|
<el-table-column label="退库数量" align="center" width="120"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row.count" clearable placeholder="" |
|
|
|
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="销售单价" prop="price" align="center" /> |
|
|
|
<el-table-column label="备注" align="center" width="220"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row.remarks" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 选择维修单 --> |
|
|
|
<chooseproducts v-show="viewState == 2" ref="divSp" @backData="backData" @doback="resetState" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import req from '@/api/maintenance/maintenanceReturnBound.js' |
|
|
|
import chooseproducts from './relation/chooseproducts' |
|
|
|
import { |
|
|
|
selAllByOrgSidPath |
|
|
|
} from '@/api/Common/dictcommons' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
chooseproducts, |
|
|
|
}, |
|
|
|
import req2 from '@/api/storage/allocation.js' |
|
|
|
import chooseproducts from './relation/chooseproducts' |
|
|
|
import { |
|
|
|
getOrgSidByPath, |
|
|
|
selAllByOrgSidPath |
|
|
|
} from '@/api/Common/dictcommons' |
|
|
|
import { |
|
|
|
getCurrentDate |
|
|
|
} from '@/utils/index.js' |
|
|
|
export default { |
|
|
|
components: { |
|
|
|
chooseproducts, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
viewState: 1, |
|
|
|
listLoading: false, |
|
|
|
activeNames: ['1'], |
|
|
|
imgList: [], |
|
|
|
submitdisabled: false, |
|
|
|
|
|
|
|
formobj: { |
|
|
|
"sid": "", |
|
|
|
"userSid": window.sessionStorage.getItem('userSid'), |
|
|
|
"orgPath": window.sessionStorage.getItem('orgSidPath'), |
|
|
|
"goodsName": "", |
|
|
|
"goodsCode": "", |
|
|
|
"goodsPY": "", |
|
|
|
"barCode": "", |
|
|
|
"goodsUnitSid": "", |
|
|
|
"goodsUnitName": "", |
|
|
|
"goodsTypeSid": "", |
|
|
|
"goodsTypeName": "", |
|
|
|
"indexes": "", |
|
|
|
"shelfLife": "", |
|
|
|
"brandSid": "", |
|
|
|
"brandName": "", |
|
|
|
"manufacturerSid": "", |
|
|
|
"manufacturerName": "", |
|
|
|
"isOriginalFactory": "2", |
|
|
|
"isOriginalFactoryValue": "", |
|
|
|
"sortNo": "", |
|
|
|
"skuRemarks": "", |
|
|
|
"inventoryAlertUpperLimit": "", |
|
|
|
"inventoryAlertLowerLimit": "", |
|
|
|
"isLockingSalesPrice": "2", |
|
|
|
"isLockingSalesPriceValue": "", |
|
|
|
"minimumSalesPrice": "", |
|
|
|
"standardPurchasePrice": "", |
|
|
|
"agencyPrice": "", |
|
|
|
"picPath": [] |
|
|
|
"createBySid": window.sessionStorage.getItem('userSid'), |
|
|
|
"createByName": window.sessionStorage.getItem('name'), |
|
|
|
"sourceBillSid": "", |
|
|
|
"warehouseManagerSid": "", |
|
|
|
"warehouseManager": "", |
|
|
|
"useOrgSid": "", |
|
|
|
"createOrgSid": "", |
|
|
|
"deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage |
|
|
|
.getItem('defaultOrgPath').lastIndexOf('/') + 1), |
|
|
|
"deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window |
|
|
|
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1), |
|
|
|
"createTime": getCurrentDate(), |
|
|
|
"remarks": "", |
|
|
|
"sourceBillNo": "", |
|
|
|
"waitorName": "", |
|
|
|
"billDate": "", |
|
|
|
"billType": "", |
|
|
|
"subject": "", |
|
|
|
"customerName": "", |
|
|
|
"vehMark": "", |
|
|
|
"vinNo": "", |
|
|
|
"customerOrg": "", |
|
|
|
"sitemVoList": [ |
|
|
|
|
|
|
|
], |
|
|
|
"detailList": [ |
|
|
|
|
|
|
|
] |
|
|
|
}, |
|
|
|
brandList: [], |
|
|
|
cateList: [], |
|
|
|
facturerList: [], |
|
|
|
unitNameList: [], |
|
|
|
receivePerList: [], |
|
|
|
warehouseList: [], |
|
|
|
warehouseRackList: [], |
|
|
|
rules: { |
|
|
|
goodsName: [{ |
|
|
|
required: true, |
|
|
|
message: '商品名称不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsCode: [{ |
|
|
|
createByName: [{ |
|
|
|
required: true, |
|
|
|
message: '商品编码不能为空', |
|
|
|
message: '制单人不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsUnitName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择计量单位', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
goodsTypeName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品类别', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
brandName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品品牌', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
manufacturerName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品厂家', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
sortNo: [{ |
|
|
|
deptName: [{ |
|
|
|
required: true, |
|
|
|
message: '商品排序不能为空', |
|
|
|
message: '制单部门不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertUpperLimit: [{ |
|
|
|
createTime: [{ |
|
|
|
required: true, |
|
|
|
message: '商品上限不能为空', |
|
|
|
message: '制单日期不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertLowerLimitt: [{ |
|
|
|
warehouseManager: [{ |
|
|
|
required: true, |
|
|
|
message: '商品下限不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
message: '请选择领料人', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.initData() |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
methods: { |
|
|
|
initData() { |
|
|
|
selAllByOrgSidPath({ |
|
|
|
orgSidPath: window.sessionStorage.getItem('defaultOrgPath') |
|
|
|
}).then((res) => { |
|
|
|
if (res.success) { |
|
|
|
this.receivePerList = res.data |
|
|
|
|
|
|
|
selectIsOriginalFactory(val) { |
|
|
|
console.log('selectIsOriginalFactory》》》》', val) |
|
|
|
|
|
|
|
this.formobj.isOriginalFactoryValue = val == '1' ? '是' : '否' |
|
|
|
console.log("aaaaaa", this.receivePerList); |
|
|
|
|
|
|
|
}, |
|
|
|
selectIsLockingSalesPrice(val) { |
|
|
|
console.log('selectIsLockingSalesPrice》》》》', val) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
this.formobj.isLockingSalesPriceValue = val == '1' ? '是' : '否' |
|
|
|
this.getWarehouseList() |
|
|
|
|
|
|
|
}, |
|
|
|
initData() { |
|
|
|
var parpams = { |
|
|
|
orgPath: window.sessionStorage.getItem('defaultOrgPath'), |
|
|
|
userSid: window.sessionStorage.getItem('userSid'), |
|
|
|
menuUrl: this.$route.path |
|
|
|
} |
|
|
|
req2.getAllBrand(parpams).then(resp => { |
|
|
|
this.brandList = resp.data |
|
|
|
}) |
|
|
|
req3.getAllType(parpams).then(resp => { |
|
|
|
this.cateList = resp.data |
|
|
|
}) |
|
|
|
req4.getAllFacturer(parpams).then(resp => { |
|
|
|
this.facturerList = resp.data |
|
|
|
}) |
|
|
|
req5.getAllUnit(parpams).then(resp => { |
|
|
|
this.unitNameList = resp.data |
|
|
|
}) |
|
|
|
}, |
|
|
|
backData(value) { |
|
|
|
console.log('backData》》》》', value) |
|
|
|
console.log('imgList', this.imgList) |
|
|
|
this.viewState = 1 |
|
|
|
// 初始化 |
|
|
|
var params = { |
|
|
|
sid: value |
|
|
|
} |
|
|
|
req.initBill(params) |
|
|
|
.then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
console.log('>>>>>>>>>initBill', resp) |
|
|
|
|
|
|
|
this.formobj = resp.data |
|
|
|
|
|
|
|
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window |
|
|
|
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1) |
|
|
|
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage |
|
|
|
.getItem('defaultOrgPath').lastIndexOf('/') + 1) |
|
|
|
this.formobj.createBySid = window.sessionStorage.getItem('userSid') |
|
|
|
this.formobj.createByName = window.sessionStorage.getItem('name') |
|
|
|
this.formobj.createTime = getCurrentDate() |
|
|
|
|
|
|
|
|
|
|
|
getOrgSidByPath({ |
|
|
|
orgPath: window.sessionStorage.getItem('defaultOrgPath') |
|
|
|
}).then((res) => { |
|
|
|
if (res.success) { |
|
|
|
this.formobj.createOrgSid = res.data |
|
|
|
this.formobj.useOrgSid = res.data |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
this.formobj.picPath = this.imgList |
|
|
|
|
|
|
|
} else { |
|
|
|
// 根据resp.code进行异常情况处理 |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => {}) |
|
|
|
|
|
|
|
}, |
|
|
|
resetState() { |
|
|
|
this.viewState = 1 |
|
|
|
}, |
|
|
|
seleMaintenance() { |
|
|
|
this.viewState = 2 |
|
|
|
const aa = [] |
|
|
|
this.$refs['divSp'].showData(aa, this.formobj.createOrgSid) |
|
|
|
}, |
|
|
|
|
|
|
|
saveOrUpdate() { |
|
|
|
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|
|
|
|
|
|
|
this.$refs['form_obj'].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
|
|
|
|
req.saveGoods(this.formobj) |
|
|
|
req.saveBill(this.formobj) |
|
|
|
.then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.$message({ |
|
|
@ -381,102 +401,108 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleReturn(isreload) { |
|
|
|
if (isreload === 'true') this.$emit('reloadlist') |
|
|
|
this.formobj = { |
|
|
|
"sid": "", |
|
|
|
"userSid": window.sessionStorage.getItem('userSid'), |
|
|
|
"orgPath": window.sessionStorage.getItem('orgSidPath'), |
|
|
|
"goodsName": "", |
|
|
|
"goodsCode": "", |
|
|
|
"goodsPY": "", |
|
|
|
"barCode": "", |
|
|
|
"goodsUnitSid": "", |
|
|
|
"goodsUnitName": "", |
|
|
|
"goodsTypeSid": "", |
|
|
|
"goodsTypeName": "", |
|
|
|
"indexes": "", |
|
|
|
"shelfLife": "", |
|
|
|
"brandSid": "", |
|
|
|
"brandName": "", |
|
|
|
"manufacturerSid": "", |
|
|
|
"manufacturerName": "", |
|
|
|
"isOriginalFactory": "2", |
|
|
|
"isOriginalFactoryValue": "", |
|
|
|
"sortNo": "", |
|
|
|
"skuRemarks": "", |
|
|
|
"inventoryAlertUpperLimit": "", |
|
|
|
"inventoryAlertLowerLimit": "", |
|
|
|
"isLockingSalesPrice": "2", |
|
|
|
"isLockingSalesPriceValue": "", |
|
|
|
"minimumSalesPrice": "", |
|
|
|
"standardPurchasePrice": "", |
|
|
|
"agencyPrice": "", |
|
|
|
"picPath": [] |
|
|
|
} |
|
|
|
this.imgList = [] |
|
|
|
this.$emit('doback') |
|
|
|
}, |
|
|
|
showAdd() { |
|
|
|
// var sid = require('uuid').v1() |
|
|
|
// console.log('>>>>>>>>>showAdd', sid) |
|
|
|
|
|
|
|
// this.formobj.sid = sid |
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
|
|
|
|
this.formobj = { |
|
|
|
"sid": "", |
|
|
|
"createBySid": window.sessionStorage.getItem('userSid'), |
|
|
|
"createByName": window.sessionStorage.getItem('name'), |
|
|
|
"sourceBillSid": "", |
|
|
|
"warehouseManagerSid": "", |
|
|
|
"warehouseManager": "", |
|
|
|
"useOrgSid": "", |
|
|
|
"createOrgSid": "", |
|
|
|
"deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem( |
|
|
|
'defaultOrgPath').lastIndexOf('/') + 1), |
|
|
|
"deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem( |
|
|
|
'defaultOrgPathName').lastIndexOf('/') + 1), |
|
|
|
"createTime": getCurrentDate(), |
|
|
|
"remarks": "", |
|
|
|
"sourceBillNo": "", |
|
|
|
"waitorName": "", |
|
|
|
"billDate": "", |
|
|
|
"billType": "", |
|
|
|
"subject": "", |
|
|
|
"customerName": "", |
|
|
|
"vehMark": "", |
|
|
|
"vinNo": "", |
|
|
|
"customerOrg": "", |
|
|
|
"sitemVoList": [ |
|
|
|
|
|
|
|
], |
|
|
|
"detailList": [ |
|
|
|
|
|
|
|
] |
|
|
|
} |
|
|
|
}, |
|
|
|
indexMethod(index) { |
|
|
|
return index + 1 |
|
|
|
}, |
|
|
|
showEdit(row) { |
|
|
|
receivePerSelect(val) { |
|
|
|
const choose = this.receivePerList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>receivePerSelect', choose) |
|
|
|
this.formobj.warehouseManagerSid = choose[0].sid |
|
|
|
this.formobj.warehouseManager = choose[0].name |
|
|
|
}, |
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
getWarehouseList() { |
|
|
|
var parpams = { |
|
|
|
orgPath: window.sessionStorage.getItem('defaultOrgPath'), |
|
|
|
} |
|
|
|
|
|
|
|
req.initGoods(row.sid) |
|
|
|
.then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.formobj = resp.data |
|
|
|
req2.getWarehouses(parpams).then((res) => { |
|
|
|
if (res.success) { |
|
|
|
this.warehouseList = res.data |
|
|
|
|
|
|
|
for (var i = 0; i < resp.data.picPath.length; i++) { |
|
|
|
var item = resp.data.picPath[i] |
|
|
|
this.imgList.push({ |
|
|
|
url: item.url |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(e => { |
|
|
|
this.formobj = row |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectBrandChange(val) { |
|
|
|
const choose = this.brandList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectBrandChange', choose) |
|
|
|
this.formobj.brandSid = choose[0].sid |
|
|
|
this.formobj.brandName = choose[0].brandName |
|
|
|
console.log("aaaaaa", this.warehouseList); |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectCateChange(val) { |
|
|
|
const choose = this.cateList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectCateChange', choose) |
|
|
|
this.formobj.goodsTypeSid = choose[0].sid |
|
|
|
this.formobj.goodsTypeName = choose[0].goodsTypeName |
|
|
|
getWarehouseAreaList(sid) { |
|
|
|
var query = { |
|
|
|
ckSid: sid |
|
|
|
} |
|
|
|
req2.getWarehouseareas(query).then((res) => { |
|
|
|
if (res.success) { |
|
|
|
this.warehouseRackList = res.data |
|
|
|
|
|
|
|
console.log("bbbbb", this.warehouseRackList); |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectfacturerChange(val) { |
|
|
|
const choose = this.facturerList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectfacturerChange', choose) |
|
|
|
this.formobj.manufacturerSid = choose[0].sid |
|
|
|
this.formobj.manufacturerName = choose[0].manufacturerName |
|
|
|
selectWarehouseName(row, val) { |
|
|
|
console.log("selectWarehouseName", row); |
|
|
|
console.log("selectWarehouseName", val); |
|
|
|
const choose = this.warehouseList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectWarehouseName', choose) |
|
|
|
row.warehouseName = choose[0].warehouseName |
|
|
|
row.warehouseSid = choose[0].sid |
|
|
|
|
|
|
|
row.warehouseRackCode = '' |
|
|
|
row.warehouseRackSid = '' |
|
|
|
|
|
|
|
}, |
|
|
|
selectunitNameChange(val) { |
|
|
|
const choose = this.unitNameList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectunitNameChange', choose) |
|
|
|
this.formobj.goodsUnitSid = choose[0].sid |
|
|
|
this.formobj.goodsUnitName = choose[0].unitName |
|
|
|
selectWarehouseAreaCode(row, val) { |
|
|
|
console.log("selectWarehouseAreaCode", val); |
|
|
|
|
|
|
|
const choose = this.warehouseRackList.filter((item) => item.sid == val) |
|
|
|
console.log('>>>>>>>>>selectWarehouseAreaCode', choose) |
|
|
|
row.warehouseRackCode = choose[0].areaCode |
|
|
|
row.warehouseRackSid = choose[0].sid |
|
|
|
|
|
|
|
}, |
|
|
|
returnAll() { |
|
|
|
for (var i = 0; i < this.formobj.detailList.length; i++) { |
|
|
|
var item = this.formobj.detailList[i] |
|
|
|
|
|
|
|
item.count = item.outboundCount |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|