Commit 8105f669 by liangjianmin

Merge branch 'feature/ljm/20250616-寄售优化'

parents d85ff206 7d5a9d18
...@@ -1843,6 +1843,52 @@ ...@@ -1843,6 +1843,52 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true "dev": true
}, },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"ssri": { "ssri": {
"version": "8.0.1", "version": "8.0.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/ssri/-/ssri-8.0.1.tgz", "resolved": "https://repo.huaweicloud.com/repository/npm/ssri/-/ssri-8.0.1.tgz",
...@@ -1851,6 +1897,41 @@ ...@@ -1851,6 +1897,41 @@
"requires": { "requires": {
"minipass": "^3.1.1" "minipass": "^3.1.1"
} }
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
}
}
} }
} }
}, },
...@@ -13412,87 +13493,6 @@ ...@@ -13412,87 +13493,6 @@
} }
} }
}, },
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://repo.huaweicloud.com/repository/npm/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://repo.huaweicloud.com/repository/npm/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://repo.huaweicloud.com/repository/npm/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.4",
"resolved": "https://repo.huaweicloud.com/repository/npm/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-router": { "vue-router": {
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1617697788171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz", "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1617697788171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz",
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<el-table-column prop="stock_in_num" label="入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="stock_in_num" label="入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="not_stock_in_num" label="未入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="not_stock_in_num" label="未入库总数" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="date_code" label="批次" width="100" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="date_code" label="批次" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="packing" label="包装方式" width="100" :show-overflow-tooltip="true" align="center"></el-table-column>
<el-table-column prop="consignment_item_status_val" label="状态" width="160" :show-overflow-tooltip="true" align="center"></el-table-column> <el-table-column prop="consignment_item_status_val" label="状态" width="160" :show-overflow-tooltip="true" align="center"></el-table-column>
</el-table> </el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination> <el-pagination layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
...@@ -65,7 +66,7 @@ export default { ...@@ -65,7 +66,7 @@ export default {
total: 0, total: 0,
page: 1, page: 1,
limit: 10, limit: 10,
list: [], list: []
}; };
}, },
created() { created() {
...@@ -74,7 +75,7 @@ export default { ...@@ -74,7 +75,7 @@ export default {
}, },
methods: { methods: {
getData() { getData() {
this.$http('GET', "/api/consignment/getConsignmentDetail", {consignment_id: this.consignment_id, page: this.page, limit: this.limit}).then(res => { this.$http('GET', "/api/consignment/getConsignmentDetail", { consignment_id: this.consignment_id, page: this.page, limit: this.limit }).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.detailData = res.data; this.detailData = res.data;
this.list = res.data.items.list; this.list = res.data.items.list;
...@@ -126,7 +127,7 @@ export default { ...@@ -126,7 +127,7 @@ export default {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
let consignment_item_ids = this.multipleSelection.map(item => item.consignment_item_id).join(','); let consignment_item_ids = this.multipleSelection.map(item => item.consignment_item_id).join(',');
this.$http('POST', "/api/consignment/deleteConsignmentItems", {consignment_item_ids: consignment_item_ids}).then(res => { this.$http('POST', "/api/consignment/deleteConsignmentItems", { consignment_item_ids: consignment_item_ids }).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
message: '操作成功', message: '操作成功',
...@@ -151,7 +152,7 @@ export default { ...@@ -151,7 +152,7 @@ export default {
this.$message.warning('请输入有效的数量'); this.$message.warning('请输入有效的数量');
return; return;
} }
this.$http('POST', "/api/consignment/updateConsignmentItems", {consignment_item_id: consignment_item_id, apply_num: apply_num}).then(res => { this.$http('POST', "/api/consignment/updateConsignmentItems", { consignment_item_id: consignment_item_id, apply_num: apply_num }).then(res => {
if (res.code === 0) { if (res.code === 0) {
} else { } else {
......
...@@ -57,8 +57,8 @@ ...@@ -57,8 +57,8 @@
<el-button type="primary" @click="downOut">导出</el-button> <el-button type="primary" @click="downOut">导出</el-button>
<a :href="downHref" ref="downs" target="_blank" style="display:none">下载</a> <a :href="downHref" ref="downs" target="_blank" style="display:none">下载</a>
<el-button type="primary" style="margin-left: 10px;" @click="popupEvent(1)">批量修改</el-button> <el-button type="primary" style="margin-left: 10px;" @click="popupEvent(1)">批量修改</el-button>
<el-button type="primary" @click="popupEvent(2)">寄售补货</el-button> <el-button type="primary" @click="popupEvent(2)">寄售申请</el-button>
<!-- <el-button type="primary" @click="popupEvent(3)">寄售召回</el-button>--> <!--<el-button type="primary" @click="popupEvent(3)">寄售召回</el-button>-->
</div> </div>
<div class="text-tip row verCenter"> <div class="text-tip row verCenter">
<i class="el-icon-warning"></i> <i class="el-icon-warning"></i>
...@@ -511,7 +511,7 @@ export default { ...@@ -511,7 +511,7 @@ export default {
} else { } else {
this.formParam.cp_time = ''; this.formParam.cp_time = '';
} }
var params = Object.assign({}, this.formParam, {page: this.page, limit: this.limit, source: 12}, {action_time: this.formParam.date ? this.formParam.date[0] : ''}, {end_time: this.formParam.date ? this.formParam.date[1] : ''}) var params = Object.assign({}, this.formParam, { page: this.page, limit: this.limit, source: 12 }, { action_time: this.formParam.date ? this.formParam.date[0] : '' }, { end_time: this.formParam.date ? this.formParam.date[1] : '' })
this.$http('GET', "/api/sku/list", params).then(res => { this.$http('GET', "/api/sku/list", params).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.tableData = res.data.list || []; this.tableData = res.data.list || [];
...@@ -549,7 +549,7 @@ export default { ...@@ -549,7 +549,7 @@ export default {
cb([]); cb([]);
return; return;
} }
this.$http('GET', "/api/search/getspu", {spu_name: queryString}).then(res => { this.$http('GET', "/api/search/getspu", { spu_name: queryString }).then(res => {
if (res.code == 0 && res.data.list?.length) { if (res.code == 0 && res.data.list?.length) {
const arr = res.data.list.map(item => ({ const arr = res.data.list.map(item => ({
value: item.spu_name value: item.spu_name
...@@ -817,7 +817,7 @@ export default { ...@@ -817,7 +817,7 @@ export default {
type: 'warning' type: 'warning'
}); });
} else { } else {
this.$http('GET', "/api/sku/updateSkuOriginalStepPrice", {goods_id: this.goods_id, original_price: JSON.stringify(this.skuOriginalStepPriceData)}).then(res => { this.$http('GET', "/api/sku/updateSkuOriginalStepPrice", { goods_id: this.goods_id, original_price: JSON.stringify(this.skuOriginalStepPriceData) }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.$message({ this.$message({
message: '操作成功', message: '操作成功',
...@@ -840,7 +840,7 @@ export default { ...@@ -840,7 +840,7 @@ export default {
* 获取sku阶梯价格 * 获取sku阶梯价格
*/ */
getSkuOriginalStepPrice(goods_id) { getSkuOriginalStepPrice(goods_id) {
this.$http('GET', "/api/sku/getSkuOriginalStepPrice", {goods_id: goods_id}).then(res => { this.$http('GET', "/api/sku/getSkuOriginalStepPrice", { goods_id: goods_id }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.skuOriginalStepPriceData = res.data.data; this.skuOriginalStepPriceData = res.data.data;
this.goods_id = goods_id; this.goods_id = goods_id;
...@@ -910,7 +910,7 @@ export default { ...@@ -910,7 +910,7 @@ export default {
// 使用reduce将库存数据转换为对象 // 使用reduce将库存数据转换为对象
const stockUpdates = this.kucundata.reduce((acc, item) => ({ const stockUpdates = this.kucundata.reduce((acc, item) => ({
...acc, ...acc,
[item.goods_id]: {stock: item.updateStock} [item.goods_id]: { stock: item.updateStock }
}), {}); }), {});
this.$http('post', "/api/sku/updateSku", stockUpdates) this.$http('post', "/api/sku/updateSku", stockUpdates)
...@@ -965,7 +965,7 @@ export default { ...@@ -965,7 +965,7 @@ export default {
sku_ids = this.multipleSelection.map(obj => { sku_ids = this.multipleSelection.map(obj => {
return obj.goods_id; return obj.goods_id;
}); });
this.$http('post', "/api/sku/updateSkuStatus", {sku_ids: sku_ids.join(","), status: status == 1 ? 'passed' : 'offshelf'}).then(res => { this.$http('post', "/api/sku/updateSkuStatus", { sku_ids: sku_ids.join(","), status: status == 1 ? 'passed' : 'offshelf' }).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
message: '操作成功', message: '操作成功',
...@@ -994,16 +994,16 @@ export default { ...@@ -994,16 +994,16 @@ export default {
return; return;
} }
var html = ` var html = `
<p style="font-size: 14px;">确定将选择的商品提交寄售补货申请?</p> <p style="font-size: 14px;">确定将选择的商品提交寄售申请?</p>
<p style="font-size: 14px;color: #FF7E11">确认后请到【寄售申请】菜单编辑申请寄售数量,并提交审核</p> <p style="font-size: 14px;color: #FF7E11">确认后请到【寄售申请】菜单编辑申请寄售数量,并提交审核</p>
` `
this.$confirm(html, '寄售补货', { this.$confirm(html, '寄售申请', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
dangerouslyUseHTMLString: true dangerouslyUseHTMLString: true
}).then(() => { }).then(() => {
let sku_ids = this.multipleSelection.map(item => item.goods_id).join(','); let sku_ids = this.multipleSelection.map(item => item.goods_id).join(',');
this.$http('POST', "/api/consignmentReplenishment/addConsignmentReplenishment", {sku_ids: sku_ids}).then(res => { this.$http('POST', "/api/consignmentReplenishment/addConsignmentReplenishment", { sku_ids: sku_ids }).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
message: res.msg, message: res.msg,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment