|
@@ -15,94 +15,94 @@
|
|
|
</a-page-header>
|
|
|
<!-- 选择产品 -->
|
|
|
<div class="purchaseReturnEdit-cont">
|
|
|
- <a-collapse :activeKey="['1']">
|
|
|
- <a-collapse-panel key="1" header="选择产品">
|
|
|
- <!-- 筛选条件 -->
|
|
|
- <div class="table-page-search-wrapper">
|
|
|
- <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
|
|
|
- <a-row :gutter="15">
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="产品编码" prop="productCode">
|
|
|
- <a-input id="bulkReturnGoodsEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="产品名称" prop="productName">
|
|
|
- <a-input id="bulkReturnGoodsEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-model-item label="仓库">
|
|
|
- <a-select
|
|
|
- placeholder="请选择仓库"
|
|
|
- id="bulkReturnGoodsEdit-warehouseSn"
|
|
|
- allowClear
|
|
|
- v-model="queryParam.warehouseSn"
|
|
|
- :showSearch="true"
|
|
|
- option-filter-prop="children"
|
|
|
- :filter-option="filterOption">
|
|
|
- <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
|
|
|
- <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="bulkReturnGoodsEdit-refresh">查询</a-button>
|
|
|
- <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="bulkReturnGoodsEdit-reset">重置</a-button>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </div>
|
|
|
- <!-- 列表 -->
|
|
|
- <s-table
|
|
|
- class="sTable"
|
|
|
- ref="table"
|
|
|
- size="small"
|
|
|
- :rowKey="(record) => record.stockDetailSn"
|
|
|
- rowKeyName="stockDetailSn"
|
|
|
- :columns="columns"
|
|
|
- :data="loadData"
|
|
|
- :pageSize="10"
|
|
|
- :scroll="{ y: 149 }"
|
|
|
- bordered>
|
|
|
- <!-- 数量 -->
|
|
|
- <template slot="returnQty" slot-scope="text, record">
|
|
|
- <a-input-number
|
|
|
- size="small"
|
|
|
- id="purchaseReturnEdit-returnQty"
|
|
|
- v-model="record.returnQty"
|
|
|
- :precision="0"
|
|
|
- :min="1"
|
|
|
- :max="record.refundableQty"
|
|
|
- placeholder="请输入"
|
|
|
- style="width: 100%;" />
|
|
|
- </template>
|
|
|
- <!-- 单价 -->
|
|
|
- <template slot="returnPrice" slot-scope="text, record">
|
|
|
- <a-input-number
|
|
|
- size="small"
|
|
|
- id="purchaseReturnEdit-returnPrice"
|
|
|
- v-model="record.returnPrice"
|
|
|
- :precision="2"
|
|
|
- :min="0"
|
|
|
- :max="999999"
|
|
|
- placeholder="请输入"
|
|
|
- style="width: 100%;" />
|
|
|
- </template>
|
|
|
- <!-- 操作 -->
|
|
|
- <template slot="action" slot-scope="text, record">
|
|
|
- <span v-if="record.refundableQty==0">--</span>
|
|
|
- <a-button
|
|
|
- v-else
|
|
|
- size="small"
|
|
|
- type="link"
|
|
|
- class="button-primary"
|
|
|
- @click="handleAdd(record)"
|
|
|
- id="purchaseReturnEdit-add-btn">添加</a-button>
|
|
|
- </template>
|
|
|
- </s-table>
|
|
|
- </a-collapse-panel>
|
|
|
- </a-collapse>
|
|
|
- </div>
|
|
|
+ <a-collapse :activeKey="['1']">
|
|
|
+ <a-collapse-panel key="1" header="选择产品">
|
|
|
+ <!-- 筛选条件 -->
|
|
|
+ <div class="table-page-search-wrapper">
|
|
|
+ <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
|
|
|
+ <a-row :gutter="15">
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="产品编码" prop="productCode">
|
|
|
+ <a-input id="bulkReturnGoodsEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-item label="产品名称" prop="productName">
|
|
|
+ <a-input id="bulkReturnGoodsEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24">
|
|
|
+ <a-form-model-item label="仓库">
|
|
|
+ <a-select
|
|
|
+ placeholder="请选择仓库"
|
|
|
+ id="bulkReturnGoodsEdit-warehouseSn"
|
|
|
+ allowClear
|
|
|
+ v-model="queryParam.warehouseSn"
|
|
|
+ :showSearch="true"
|
|
|
+ option-filter-prop="children"
|
|
|
+ :filter-option="filterOption">
|
|
|
+ <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
|
|
|
+ <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="bulkReturnGoodsEdit-refresh">查询</a-button>
|
|
|
+ <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="bulkReturnGoodsEdit-reset">重置</a-button>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </div>
|
|
|
+ <!-- 列表 -->
|
|
|
+ <s-table
|
|
|
+ class="sTable"
|
|
|
+ ref="table"
|
|
|
+ size="small"
|
|
|
+ :rowKey="(record) => record.stockDetailSn"
|
|
|
+ rowKeyName="stockDetailSn"
|
|
|
+ :columns="columns"
|
|
|
+ :data="loadData"
|
|
|
+ :pageSize="10"
|
|
|
+ :scroll="{ y: 149 }"
|
|
|
+ bordered>
|
|
|
+ <!-- 数量 -->
|
|
|
+ <template slot="returnQty" slot-scope="text, record">
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ id="purchaseReturnEdit-returnQty"
|
|
|
+ v-model="record.returnQty"
|
|
|
+ :precision="0"
|
|
|
+ :min="1"
|
|
|
+ :max="record.refundableQty"
|
|
|
+ placeholder="请输入"
|
|
|
+ style="width: 100%;" />
|
|
|
+ </template>
|
|
|
+ <!-- 单价 -->
|
|
|
+ <template slot="returnPrice" slot-scope="text, record">
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ id="purchaseReturnEdit-returnPrice"
|
|
|
+ v-model="record.returnPrice"
|
|
|
+ :precision="2"
|
|
|
+ :min="0"
|
|
|
+ :max="999999"
|
|
|
+ placeholder="请输入"
|
|
|
+ style="width: 100%;" />
|
|
|
+ </template>
|
|
|
+ <!-- 操作 -->
|
|
|
+ <template slot="action" slot-scope="text, record">
|
|
|
+ <span v-if="record.refundableQty==0">--</span>
|
|
|
+ <a-button
|
|
|
+ v-else
|
|
|
+ size="small"
|
|
|
+ type="link"
|
|
|
+ class="button-primary"
|
|
|
+ @click="handleAddNew(record)"
|
|
|
+ id="purchaseReturnEdit-add-btn">添加</a-button>
|
|
|
+ </template>
|
|
|
+ </s-table>
|
|
|
+ </a-collapse-panel>
|
|
|
+ </a-collapse>
|
|
|
+ </div>
|
|
|
<!-- 已选产品 -->
|
|
|
<div class="purchaseReturnEdit-cont">
|
|
|
<a-collapse :activeKey="['1']">
|
|
@@ -341,17 +341,35 @@ export default {
|
|
|
this.chooseQueryParam.productName = ''
|
|
|
this.$refs.chooseTable.refresh(true)
|
|
|
},
|
|
|
- // 添加/编辑
|
|
|
- handleAdd (row, isEdit) {
|
|
|
- // 添加时退货数量字段名为returnQty,编辑时退货数量字段名为qty
|
|
|
- if (!isEdit && !row.returnPrice) {
|
|
|
- this.$message.warning('请输入退货价格')
|
|
|
+ // 添加
|
|
|
+ handleAddNew (record) {
|
|
|
+ const _this = this
|
|
|
+ if (record.returnQty === null || record.returnQty === undefined || Number(record.returnQty).toString().trim().length === 0) {
|
|
|
+ this.$message.warning('请输入退货数量')
|
|
|
return
|
|
|
}
|
|
|
- if (!isEdit && !row.returnQty) {
|
|
|
- this.$message.warning('请输入退货数量')
|
|
|
+ if (record.returnPrice === '' || record.returnPrice === null || record.returnPrice === undefined || Number(record.returnPrice).toString().trim().length === 0) {
|
|
|
+ this.$message.warning('请输入退货价格')
|
|
|
return
|
|
|
}
|
|
|
+ if (record.returnPrice === 0) {
|
|
|
+ this.$confirm({
|
|
|
+ title: '提示',
|
|
|
+ content: '退货单价为0,确定添加?',
|
|
|
+ centered: true,
|
|
|
+ onOk () {
|
|
|
+ _this.handleAdd(record)
|
|
|
+ },
|
|
|
+ onCancel () {
|
|
|
+ record.returnPrice = ''
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ _this.handleAdd(record)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 添加/编辑
|
|
|
+ handleAdd (row, isEdit) {
|
|
|
const params = {
|
|
|
id: isEdit ? row.id : undefined,
|
|
|
purchaseReturnSn: this.$route.params.sn,
|
|
@@ -371,17 +389,6 @@ export default {
|
|
|
remarks: row.remarks,
|
|
|
promotionFlag: row.promotionFlag
|
|
|
}
|
|
|
- if (isEdit) { // 编辑
|
|
|
- // 清空退货数量时,值应保持未清空前的值,因退货数量都不可为空
|
|
|
- if (!row.qty) {
|
|
|
- row.qty = row.qtyBackups
|
|
|
- return
|
|
|
- }
|
|
|
- if (!row.cost) {
|
|
|
- row.cost = row.costBackups
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
this.spinning = true
|
|
|
purchaseReturnDetailSave(params).then(res => {
|
|
|
if (res.status == 200) {
|
|
@@ -395,10 +402,6 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- // 双击快速添加
|
|
|
- handleClickRow (record) {
|
|
|
- this.handleAdd(record)
|
|
|
- },
|
|
|
// 导入明细
|
|
|
handleImport () {},
|
|
|
// 删除
|
|
@@ -460,6 +463,10 @@ export default {
|
|
|
},
|
|
|
// 已选产品 退货数量 blur
|
|
|
qtyBlur (val, record) {
|
|
|
+ if (val === '') {
|
|
|
+ record.qty = record.qtyBackups
|
|
|
+ return
|
|
|
+ }
|
|
|
// 光标移出,值发生改变再调用编辑接口
|
|
|
if (val != record.qtyBackups) {
|
|
|
this.handleAdd(record, 'edit')
|
|
@@ -467,8 +474,27 @@ export default {
|
|
|
},
|
|
|
// 已选产品 退货单价 blur
|
|
|
costBlur (val, record) {
|
|
|
- if (val && (val != record.costBackups)) {
|
|
|
- this.handleAdd(record, 'edit')
|
|
|
+ const _this = this
|
|
|
+ if (val === '') {
|
|
|
+ record.cost = record.costBackups
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (Number(val) !== record.costBackups) {
|
|
|
+ if (Number(val) === 0) {
|
|
|
+ this.$confirm({
|
|
|
+ title: '提示',
|
|
|
+ content: '确定将退货单价修改为0?',
|
|
|
+ centered: true,
|
|
|
+ onOk () {
|
|
|
+ _this.handleAdd(record, 'edit')
|
|
|
+ },
|
|
|
+ onCancel () {
|
|
|
+ record.cost = record.costBackups
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ _this.handleAdd(record, 'edit')
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
// 仓库
|