Commit d94ee870 by 萱草

update: 礼品管理

parent 3b96187a
.hidden-limit .dm-input__counter{display:none}.popver-button .el-button:not(.el-button--text){min-width:50px}.right-border{border-right:1px solid #ebeef5}.tab-top[data-v-052a23a3]{height:32px;margin:20px 20px 0 20px}.tab-top .fl[data-v-052a23a3],.tab-top[data-v-052a23a3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.table-content[data-v-052a23a3]{margin:20px;padding-bottom:20px}.table-content .img-text[data-v-052a23a3]{height:60px}.table-content .img-text img[data-v-052a23a3]{width:60px;height:60px;border:1px solid #dcdfe6;padding:4px;border-radius:2px}.table-content .img-text .text[data-v-052a23a3]{display:inline-block;vertical-align:top;width:75%;margin-left:3px;font-size:13px;line-height:14px}.table-content .img-text .text .goods-descript[data-v-052a23a3]{color:#606266;line-height:18px;font-size:14px;margin-bottom:25px}.table-content .img-text .text .goods-code[data-v-052a23a3]{color:#909399;font-size:12px;line-height:16px}.table-content .img-text .el-icon-edit-outline[data-v-052a23a3]{display:none;cursor:pointer}.table-content .img-text :hover .el-icon-edit-outline[data-v-052a23a3]{display:inline-block;cursor:pointer}.table-content .img-text .el-icon-edit-outline[data-v-052a23a3]:hover{color:#2f54ed}.table-content .stock-box .el-icon-edit-outline[data-v-052a23a3]{display:none;cursor:pointer}.table-content .stock-box:hover .el-icon-edit-outline[data-v-052a23a3]{display:inline-block;cursor:pointer}.el-icon-edit-outline[data-v-052a23a3]:hover{color:#2f54ed}.undeline-dash[data-v-052a23a3]{border-bottom:1px dashed #2f54eb;font-weight:500}.spanclass[data-v-052a23a3]{display:inline-block;line-height:32px}
\ No newline at end of file
.hidden-limit .dm-input__counter{display:none}.popver-button .el-button:not(.el-button--text){min-width:50px}.right-border{border-right:1px solid #ebeef5}.tab-top[data-v-dd74c7f6]{height:32px;margin:20px 20px 0 20px}.tab-top .fl[data-v-dd74c7f6],.tab-top[data-v-dd74c7f6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.table-content[data-v-dd74c7f6]{margin:20px;padding-bottom:20px}.table-content .img-text[data-v-dd74c7f6]{height:60px}.table-content .img-text img[data-v-dd74c7f6]{width:60px;height:60px;border:1px solid #dcdfe6;padding:4px;border-radius:2px}.table-content .img-text .text[data-v-dd74c7f6]{display:inline-block;vertical-align:top;width:75%;margin-left:3px;font-size:13px;line-height:14px}.table-content .img-text .text .goods-descript[data-v-dd74c7f6]{color:#606266;line-height:18px;font-size:14px;margin-bottom:25px}.table-content .img-text .text .goods-code[data-v-dd74c7f6]{color:#909399;font-size:12px;line-height:16px}.table-content .img-text .el-icon-edit-outline[data-v-dd74c7f6]{display:none;cursor:pointer}.table-content .img-text :hover .el-icon-edit-outline[data-v-dd74c7f6]{display:inline-block;cursor:pointer}.table-content .img-text .el-icon-edit-outline[data-v-dd74c7f6]:hover{color:#2f54ed}.table-content .stock-box .el-icon-edit-outline[data-v-dd74c7f6]{display:none;cursor:pointer}.table-content .stock-box:hover .el-icon-edit-outline[data-v-dd74c7f6]{display:inline-block;cursor:pointer}.el-icon-edit-outline[data-v-dd74c7f6]:hover{color:#2f54ed}.undeline-dash[data-v-dd74c7f6]{border-bottom:1px dashed #2f54eb;font-weight:500}.spanclass[data-v-dd74c7f6]{display:inline-block;line-height:32px}.stock-box .el-tooltip__popper{width:150px}
\ No newline at end of file
.right-border{border-right:1px solid #ebeef5}.hidden-limit .dm-input__counter{display:none}.popver-button .el-button:not(.el-button--text){min-width:50px}.upload-btn[data-v-3ae08bba]{height:40px;border:1px dashed #c0c4cc;display:inline-block;font-size:14px;color:#c0c4cc;cursor:pointer;margin-right:20px;border-radius:4px}.upload-btn .el-icon-upload2[data-v-3ae08bba]{font-size:18px;color:#c0c4cc}.upload-btn[data-v-3ae08bba]:hover{border-color:#1890ff}.upload-ele .el-button[data-v-3ae08bba]{border:none;color:#c0c4cc;margin-left:60px}.upload-ele .el-button--small[data-v-3ae08bba]{padding:0}.uploadText p[data-v-3ae08bba]{line-height:26px}.tab-top[data-v-c65cbe5a]{height:32px;margin:20px 20px 0 20px}.tab-top .fl[data-v-c65cbe5a],.tab-top[data-v-c65cbe5a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.table-content[data-v-c65cbe5a]{margin:20px;padding-bottom:20px}.table-content .img-text[data-v-c65cbe5a]{height:60px}.table-content .img-text img[data-v-c65cbe5a]{width:60px;height:60px;border:1px solid #dcdfe6;padding:4px;border-radius:2px}.table-content .img-text .text[data-v-c65cbe5a]{display:inline-block;vertical-align:top;width:75%;margin-left:3px;font-size:13px;line-height:14px}.table-content .img-text .text .goods-descript[data-v-c65cbe5a]{color:#606266;line-height:18px;font-size:14px;margin-bottom:25px}.table-content .img-text .text .goods-code[data-v-c65cbe5a]{color:#909399;font-size:12px;line-height:16px}.table-content .img-text .el-icon-edit-outline[data-v-c65cbe5a]{display:none;cursor:pointer}.table-content .img-text :hover .el-icon-edit-outline[data-v-c65cbe5a]{display:inline-block;cursor:pointer}.table-content .img-text .el-icon-edit-outline[data-v-c65cbe5a]:hover{color:#2f54ed}.table-content .stock-box .el-icon-edit-outline[data-v-c65cbe5a]{display:none;cursor:pointer}.table-content .stock-box:hover .el-icon-edit-outline[data-v-c65cbe5a]{display:inline-block;cursor:pointer}.el-icon-edit-outline[data-v-c65cbe5a]:hover{color:#2f54ed}.undeline-dash[data-v-c65cbe5a]{border-bottom:1px dashed #2f54eb;font-weight:500}.spanclass[data-v-c65cbe5a]{display:inline-block;line-height:32px}.stock-box .el-tooltip__popper{width:150px}
\ No newline at end of file
.right-border{border-right:1px solid #ebeef5}.hidden-limit .dm-input__counter{display:none}.popver-button .el-button:not(.el-button--text){min-width:50px}.upload-btn[data-v-3ae08bba]{height:40px;border:1px dashed #c0c4cc;display:inline-block;font-size:14px;color:#c0c4cc;cursor:pointer;margin-right:20px;border-radius:4px}.upload-btn .el-icon-upload2[data-v-3ae08bba]{font-size:18px;color:#c0c4cc}.upload-btn[data-v-3ae08bba]:hover{border-color:#1890ff}.upload-ele .el-button[data-v-3ae08bba]{border:none;color:#c0c4cc;margin-left:60px}.upload-ele .el-button--small[data-v-3ae08bba]{padding:0}.uploadText p[data-v-3ae08bba]{line-height:26px}.tab-top[data-v-cd68ac76]{height:32px;margin:20px 20px 0 20px}.tab-top .fl[data-v-cd68ac76],.tab-top[data-v-cd68ac76]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.table-content[data-v-cd68ac76]{margin:20px;padding-bottom:20px}.table-content .img-text[data-v-cd68ac76]{height:60px}.table-content .img-text img[data-v-cd68ac76]{width:60px;height:60px;border:1px solid #dcdfe6;padding:4px;border-radius:2px}.table-content .img-text .text[data-v-cd68ac76]{display:inline-block;vertical-align:top;width:75%;margin-left:3px;font-size:13px;line-height:14px}.table-content .img-text .text .goods-descript[data-v-cd68ac76]{color:#606266;line-height:18px;font-size:14px;margin-bottom:25px}.table-content .img-text .text .goods-code[data-v-cd68ac76]{color:#909399;font-size:12px;line-height:16px}.table-content .img-text .el-icon-edit-outline[data-v-cd68ac76]{display:none;cursor:pointer}.table-content .img-text :hover .el-icon-edit-outline[data-v-cd68ac76]{display:inline-block;cursor:pointer}.table-content .img-text .el-icon-edit-outline[data-v-cd68ac76]:hover{color:#2f54ed}.table-content .stock-box .el-icon-edit-outline[data-v-cd68ac76]{display:none;cursor:pointer}.table-content .stock-box:hover .el-icon-edit-outline[data-v-cd68ac76]{display:inline-block;cursor:pointer}.el-icon-edit-outline[data-v-cd68ac76]:hover{color:#2f54ed}.undeline-dash[data-v-cd68ac76]{border-bottom:1px dashed #2f54eb;font-weight:500}.spanclass[data-v-cd68ac76]{display:inline-block;line-height:32px}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -13,7 +13,15 @@ export default [
{
path: 'real-gift-detail',
component: () => import('@/views/gift-manage/real-gift-detail.vue'),
}
},
// 库存记录
{
path: 'real-stock-list',
component: () => import(/* webpackChunkName: "gic-card" */'@/views/gift-manage/real-stock-list.vue'),
meta: {
path: '/gift-manage/list'
}
},
],
},
];
\ No newline at end of file
......@@ -13,7 +13,15 @@ export default [
{
path: 'virtual-gift-detail',
component: () => import('@/views/gift-manage/virtual-gift-detail.vue'),
}
},
// 库存记录
{
path: 'virtual-stock-list',
component: () => import(/* webpackChunkName: "gic-card" */'@/views/gift-manage/virtual-stock-list.vue'),
meta: {
path: '/gift-manage/list'
}
},
],
},
];
\ No newline at end of file
......@@ -49,9 +49,7 @@
</template>
<script>
// import request from '../service/request.js';
import api from '@/api/gift.js';
// const { realCostUpdate, giftGet } = api;
const { realCostUpdate, giftGet } = api;
import { deepClone } from '../../../utils/index';
export default {
......@@ -67,7 +65,6 @@ export default {
return {
dialogVisible: false,
loading: false,
spanArr: [], // 用于存放每一行记录的合并数
// costChangeObj: [], // 用于存放批量修改后的数据
banthCost: '',
updateList: [],
......@@ -87,7 +84,6 @@ export default {
this.dialogVisible = true;
this.giftId = this.updateCostData.id;
this.getData();
// this.getSpanArr(this.tableData);
},
methods: {
getData(){
......@@ -165,9 +161,7 @@ export default {
}
this.skuCols.push(item.specName);
arr.push(item.valueList);
console.log(arr);
}
console.log(this.skuCols);
let arrCopy = this.combine(deepClone(arr));
let goodsSkuList = [];
for (let i = 0; i < arrCopy.length; i++) {
......@@ -184,7 +178,6 @@ export default {
goodsSkuList[i].mapId = goodsSkuList[i].id.join('_');
}
this.goodsSkuList = deepClone(goodsSkuList);
console.log(this.goodsSkuList);
/** ****获取合并单元格的数组值start *****/
let numArr = [];
this.stValCount = [];
......@@ -216,7 +209,6 @@ export default {
giftSkuId: Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].giftSkuId : '',
stockStatus: true,
giftSkuCostPriceStatus: true,
// skuId: Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].skuId : ''
};
this.stockObj[item.mapId] = Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].stock : '';
} else {
......@@ -228,15 +220,12 @@ export default {
stockStatus: true,
giftSkuCostPriceStatus: true,
giftSkuId: ''
// skuId: ''
};
}
}
this.skuSellObj = deepClone(this.skuSellObj);
console.log(this.skuSellObj);
this.costPrice = this.skuSellObj[this.goodsSkuList[0].mapId].giftSkuCostPrice;
this.giftSkuId = this.skuSellObj[this.goodsSkuList[0].mapId].giftSkuId;
console.log(this.skuSellObj[this.goodsSkuList[0].mapId]);
this.refash = !this.refash;
},
combine(arr) {
......@@ -261,10 +250,8 @@ export default {
let params = {
giftId: this.updateCostData.id,
updateList: this.updateList,
// costPrice: this.costPrice,
remark: this.textarea
};
console.log(params);
realCostUpdate(params).then(res => {
if(res.code === '0000'){
this.dialogVisible = false;
......@@ -284,39 +271,6 @@ export default {
this.$emit('closeUpdateCost', false);
}, 10);
},
// 合并单元格,行合并
getSpanArr(data) {
// data就是我们从后台拿到的数据
for (let i = 0; i < data.length; i++) {
if (i === 0) {
this.spanArr.push(1);
this.pos = 0;
} else {
// 判断当前元素与上一个元素是否相同
if (data[i].color === data[i - 1].color) {
this.spanArr[this.pos] += 1;
this.spanArr.push(0);
} else {
this.spanArr.push(1);
this.pos = i;
}
}
// console.log(this.spanArr);
}
},
// objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// // if (columnIndex === 0 || columnIndex === 1) {
// if (columnIndex === 0) {
// const _row = this.spanArr[rowIndex];
// const _col = _row > 0 ? 1 : 0;
// // console.log(`rowspan:${_row} colspan:${_col}`);
// return {
// // [0,0] 表示这一行不显示, [2,1]表示行的合并数
// rowspan: _row,
// colspan: _col
// };
// }
// },
objectSpanMethod({ rowIndex, columnIndex }) {
let len = this.stValCount.length;
if (columnIndex < len) {
......
......@@ -15,12 +15,13 @@
<template slot="header">
<span>库存</span>
<el-popover placement="top" trigger="click">
<el-input-number v-model="banthStock" width="140" controls-position="right" precision="2" :min="0" :max="999999.99">
<el-select v-model="stockType" slot="prepend" style="width:200px;">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
</el-input-number>
<div>
<el-select v-model="stockType" style="width:100px">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
<dm-input-number v-model="banthStock" width="140" style="margin-left:-2px;" controls-position="right" precision="2" :min="0" :max="999999.99"></dm-input-number>
</div>
<div class="popver-button" style="margin-top:18px;text-align:right">
<el-button type="dafault" size="small">取消</el-button>
<el-button type="primary" size="small" class="ml10 ml10" @click="handleStock">确认</el-button>
......@@ -31,12 +32,11 @@
</el-popover>
</template>
<template slot-scope="scope">
<dm-input-number v-model="stock" width="140" controls-position="right" @blur="changeSingleStock(skuSellObj[scope.row.mapId].giftSkuId, stock, stockType)" precision="2" :min="0" :max="999999.99">
<el-select v-model="stockType" slot="prepend" style="width:200px;">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
</dm-input-number>
<el-select v-model="stockType" style="width:100px">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
<dm-input-number v-model="stock" width="140" style="margin-left:-2px;" controls-position="right" @blur="changeSingleStock(skuSellObj[scope.row.mapId].giftSkuId, stock, stockType)" precision="2" :min="0" :max="999999.99"></dm-input-number>
</template>
</el-table-column>
</el-table>
......@@ -44,12 +44,11 @@
<el-form class="mt20" v-else>
<el-form-item label="可占库存" required>
<template>
<dm-input-number v-model="stock" width="140" controls-position="right" @blur="changeSingleStock(giftSkuId, stock, stockType)" precision="2" :min="0" :max="999999.99">
<el-select v-model="stockType" slot="prepend" style="width:200px;">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
</dm-input-number>
<el-select v-model="stockType" style="width:100px;">
<el-option label="增加" :value="0"></el-option>
<el-option label="减少" :value="1"></el-option>
</el-select>
<dm-input-number v-model="stock" width="140" style="margin-left:-2px;" controls-position="right" @blur="changeSingleStock(giftSkuId, stock, stockType)" precision="2" :min="0" :max="999999.99"></dm-input-number>
</template>
</el-form-item>
</el-form>
......@@ -87,48 +86,6 @@ export default {
dialogVisible: false,
loading: false,
// tableData: [],
tableData: [
{
color: '红色',
size: 'L',
remainedStock: '10',
giftSkuId: '1111',
stock: '10',
stockType: 1
},
{
color: '红色',
size: 'XL',
remainedStock: '20',
giftSkuId: '2222',
stock: '20',
stockType: 1
},
{
color: '红色',
size: 'M',
remainedStock: '30',
giftSkuId: '3333',
stock: '12',
stockType: 1
},
{
color: '黑色',
size: 'L',
remainedStock: '10',
giftSkuId: '4444',
stock: '13',
stockType: 1
},
{
color: '黑色',
size: 'M',
remainedStock: '20',
giftSkuId: '55555',
stock: '14',
stockType: 1
}
],
spanArr: [], // 用于存放每一行记录的合并数
// costChangeObj: [], // 用于存放批量修改后的数据
banthStock: '',
......@@ -148,7 +105,6 @@ export default {
this.dialogVisible = true;
this.giftId = this.stockData.id;
this.getData();
this.getSpanArr(this.tableData);
},
methods: {
getData(){
......@@ -241,7 +197,6 @@ export default {
},
// 获取sku数据
getSkuList() {
console.log(this.goodsStandardInfo);
let goodsStandardInfoCopy = deepClone(this.goodsStandardInfo);
let arr = [];
this.skuCols = [];
......@@ -253,9 +208,7 @@ export default {
}
this.skuCols.push(item.specName);
arr.push(item.valueList);
console.log(arr);
}
console.log(this.skuCols);
let arrCopy = this.combine(deepClone(arr));
let goodsSkuList = [];
for (let i = 0; i < arrCopy.length; i++) {
......@@ -272,7 +225,6 @@ export default {
goodsSkuList[i].mapId = goodsSkuList[i].id.join('_');
}
this.goodsSkuList = deepClone(goodsSkuList);
console.log(this.goodsSkuList);
/** ****获取合并单元格的数组值start *****/
let numArr = [];
this.stValCount = [];
......@@ -290,11 +242,8 @@ export default {
// 组合sku的销售值信息 价格,库存,sku编码 ,商品条形码
let goodsSkuListCopy = deepClone(goodsSkuList);
console.log(this.skuSellObj);
let skuSellObjCopy = deepClone(this.skuSellObj);
console.log(skuSellObjCopy);
// this.skuSellObj = {};
console.log(goodsSkuListCopy);
for (let item of goodsSkuListCopy) {
console.log(item);
console.log(item.mapId);
......@@ -309,7 +258,6 @@ export default {
remainedStock: Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].remainedStock : '',
stockStatus: true,
giftSkuCostPriceStatus: true,
// skuId: Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].skuId : ''
};
this.stockObj[item.mapId] = Object.keys(skuSellObjCopy).length > 0 ? skuSellObjCopy[item.mapId].stock : '';
} else {
......@@ -322,12 +270,10 @@ export default {
giftSkuCostPriceStatus: true,
giftSkuId: '',
remainedStock: '',
// skuId: ''
};
}
}
this.skuSellObj = deepClone(this.skuSellObj);
// this.stock = this.skuSellObj[this.goodsSkuList[0].mapId].stock;
this.giftSkuId = this.skuSellObj[this.goodsSkuList[0].mapId].giftSkuId;
console.log(this.skuSellObj);
this.refash = !this.refash;
......@@ -345,42 +291,26 @@ export default {
// var t = r;
return r; // r是排列组合后的数据与
},
// 合并单元格,行合并
getSpanArr(data) {
// data就是我们从后台拿到的数据
for (let i = 0; i < data.length; i++) {
if (i === 0) {
this.spanArr.push(1);
this.pos = 0;
objectSpanMethod({ rowIndex, columnIndex }) {
let len = this.stValCount.length;
if (columnIndex < len) {
let count1 = this.stValCount[columnIndex];
let count2 = this.stValCount[len - 1];
if (!(count1 && count2)) {
return { rowspan: 0, colspan: 0 };
}
let rowspan = count2 / count1;
if (rowIndex % rowspan === 0) {
return { rowspan, colspan: 1 };
} else {
// 判断当前元素与上一个元素是否相同
if (data[i].color === data[i - 1].color) {
this.spanArr[this.pos] += 1;
this.spanArr.push(0);
} else {
this.spanArr.push(1);
this.pos = i;
}
return { rowspan: 0, colspan: 0 };
}
// console.log(this.spanArr);
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// if (columnIndex === 0 || columnIndex === 1) {
if (columnIndex === 0) {
const _row = this.spanArr[rowIndex];
const _col = _row > 0 ? 1 : 0;
// console.log(`rowspan:${_row} colspan:${_col}`);
return {
// [0,0] 表示这一行不显示, [2,1]表示行的合并数
rowspan: _row,
colspan: _col
};
}
},
// 批量修改成本
handleStock(){
this.updateList = [];
this.stock = this.banthStock;
for(let item in this.skuSellObj){
this.skuSellObj[item].stock = this.banthStock;
this.updateList.push({ giftSkuId: this.skuSellObj[item].giftSkuId, stock: this.skuSellObj[item].stock, stockType: this.stockType });
......
......@@ -49,7 +49,16 @@
<div class="text">
<p class="goods-descript">
<span>{{ scope.row.giftName }}</span>
<i class="el-icon-edit-outline inline-block ml5" @click="handleName(scope.row)"></i>
<el-popover placement="top" trigger="hover" @show="getName(scope.row.giftName)">
<div>
<dm-input type="text" v-model="changeName" :byte-type="1" :maxlength="30"> </dm-input>
</div>
<div class="popver-button" style="margin-top:18px;text-align:right">
<el-button type="dafault" size="small">取消</el-button>
<el-button type="primary" size="small" class="ml10 ml10" @click="handleName(scope.row)">确认</el-button>
</div>
<i class="el-icon-edit-outline inline-block ml5" slot="reference"></i>
</el-popover>
</p>
<p class="goods-code">
<el-tooltip open-delay="200" effect="dark" placement="top">
......@@ -65,9 +74,6 @@
</div>
</template>
</el-table-column>
<!-- <el-table-column prop="updateName" label="更新时间" sortable="custom" min-width="150px">
<template slot-scope="scope"><span v-html="listTime(scope.row.updateTime)"></span></template>
</el-table-column> -->
<el-table-column prop="costPrice" label="成本" sortable="custom" min-width="150px">
<template slot-scope="scope">
<p class="stock-box">
......@@ -100,12 +106,8 @@
<i class="el-icon-question inline-block mr5" style="color:#909399"></i>
</el-tooltip>
<span>可占库存:{{ scope.row.remainedStock }}</span>
<!-- <confirm-stock @confirmStock="confirmStock($event, scope.row)" :stock="scope.row.remainedStock"> -->
<i class="el-icon-edit-outline inline-block ml5" @click="updateStock(scope.row)"></i>
<!-- </confirm-stock> -->
<i class="el-icon-edit-outline inline-block ml5" @click="updateStock(scope.row)"></i>
</p>
<!-- <p>已占用:{{ scope.row.occupyStock }}</p>
<p>总库存:{{ scope.row.totalStock }}</p> -->
</div>
</template>
</el-table-column>
......@@ -142,7 +144,7 @@
<template slot-scope="scope">
<div style="font-size:0px">
<dm-perm-button type="text" @click="edit(scope.row, 2)">编辑</dm-perm-button>
<dm-perm-button type="text" @click="$router.push({ path: '/gift-manage/stock-record' })">库存记录</dm-perm-button>
<dm-perm-button type="text" @click="$router.push('/gift-manage/real-stock-list?id=' + scope.row.giftId)">库存记录</dm-perm-button>
<el-button v-if="scope.row.statusFlag === 0" type="text" @click="changeStatus(scope.row)">禁用</el-button>
<el-button type="text" v-if="scope.row.statusFlag === 1" @click="changeStatus(scope.row)">启用</el-button>
</div>
......@@ -161,7 +163,7 @@
<!-- <update-cost v-if="updateCostDialog" :update-cost-data="updateCostData" @closeUpdateCost="closeUpdateCost" @getTableList="getTableList"></update-cost> -->
<update-real-cost v-if="updateCostDialog" :update-cost-data="updateCostData" @closeUpdateCost="closeUpdateCost" @getTableList="getTableList"></update-real-cost>
<!-- 修改名称 -->
<update-name :update-name-form="updateNameForm" v-if="updateNameDialog" @closeUpdateName="closeUpdateName" @getTableList="getTableList"></update-name>
<!-- <update-name :update-name-form="updateNameForm" v-if="updateNameDialog" @closeUpdateName="closeUpdateName" @getTableList="getTableList"></update-name> -->
<!-- 调整库存 -->
<!-- <update-stock :stock-data="stockData" v-if="StockDialog" @getTableList="getTableList" @closeUpdateStock="closeUpdateStock"></update-stock> -->
<update-real-stock :stock-data="stockData" v-if="StockDialog" @getTableList="getTableList" @closeUpdateStock="closeUpdateStock"></update-real-stock>
......@@ -173,16 +175,17 @@ import { page, formate } from '@/mixins/table.js';
import { formatDateTimeByType, listTime } from '@/utils/index.js';
// import UpdateCost from './module/update-cost.vue';
import UpdateRealCost from './module/update-real-cost.vue';
import updateName from './module/update-name.vue';
// import updateName from './module/update-name.vue';
// import updateStock from './module/update-stock.vue';
import updateRealStock from './module/update-real-stock.vue';
import api from '@/api/gift.js';
const { giftPage, batchUpdate } = api;
const { giftPage, batchUpdate, updateName } = api;
// const { giftPage, batchUpdate } = api;
export default {
components: {
// UpdateCost,
UpdateRealCost,
updateName,
// updateName,
// updateStock,
updateRealStock,
// goodsStock,
......@@ -249,6 +252,7 @@ export default {
placeholderText: '请输入礼品名称',
isShow: false,
timeValue: '',
changeName: ''
};
},
created() {
......@@ -453,16 +457,21 @@ export default {
},
// 更新名字
handleName(item) {
console.log('更改商品名称', item);
this.updateNameForm.name = item.giftName;
this.updateNameForm.id = item.giftId;
// this.updateNameForm.type = 1; // 1、礼品 2、优惠券 3、渠道礼品
this.updateNameDialog = true;
let params = {
giftId: item.giftId,
name: this.changeName
};
updateName(params).then(res => {
if(res.code === '0000'){;
this.$message.success('修改成功');
this.getTableList();
}else{
this.$message.error(res.message);
}
});
},
// 关闭弹框
closeUpdateName() {
this.updateNameDialog = false;
this.getTableList();
getName(val){
this.changeName = val;
},
// 更新库存
updateStock(item) {
......@@ -598,4 +607,7 @@ export default {
/* .damolish .el-tooltip__popper{
width: 240px;
} */
.stock-box .el-tooltip__popper{
width: 150px;
}
</style>
\ No newline at end of file
<template>
<stock-list :welfare-id="$route.query.id"></stock-list>
</template>
<script>
import stockList from '@/components/stock-list/index.vue';
export default {
name: 'StockList',
components: {
stockList
},
created() {
this.$emit('updateBread', [ { breadName: '礼品管理' }, { breadName: '实物礼品', breadPath: '/gift-manage/real-gift' }, { breadName: '库存记录' } ]);
}
};
</script>
......@@ -50,7 +50,16 @@
<div class="text">
<p class="goods-descript">
<span>{{ scope.row.giftName }}</span>
<i class="el-icon-edit-outline" @click="handleName(scope.row)"></i>
<el-popover placement="top" trigger="hover" @show="getName(scope.row.giftName)">
<div>
<dm-input type="text" v-model="changeName" :byte-type="1" :maxlength="30"> </dm-input>
</div>
<div class="popver-button" style="margin-top:18px;text-align:right">
<el-button type="dafault" size="small">取消</el-button>
<el-button type="primary" size="small" class="ml10 ml10" @click="handleName(scope.row)">确认</el-button>
</div>
<i class="el-icon-edit-outline inline-block ml5" slot="reference"></i>
</el-popover>
</p>
<p class="goods-code">
<el-tooltip open-delay="200" effect="dark" placement="top">
......@@ -75,7 +84,7 @@
</p>
</template>
</el-table-column>
<el-table-column sortable="custom" label="库存" min-width="120px">
<el-table-column sortable="custom" label="库存" min-width="150px">
<template slot="header">
<el-tooltip open-delay="200" effect="dark" style="width:250px" placement="top">
<span class="undeline-dash">库存</span>
......@@ -90,13 +99,16 @@
<template slot-scope="scope">
<div>
<p class="stock-box">
<el-tooltip open-delay="200" effect="dark" placement="top">
<div slot="content">
<p class="goods-code">已占用:{{ scope.row.occupyStock }}</p>
<p class="goods-code">总库存:{{ scope.row.totalStock }}</p>
</div>
<i class="el-icon-question inline-block mr5" style="color:#909399"></i>
</el-tooltip>
<span>可占库存:{{ scope.row.remainedStock }}</span>
<!-- <confirm-stock @confirmStock="confirmStock($event, scope.row)" :stock="scope.row.remainedStock"> -->
<i class="el-icon-edit-outline" @click="updateStock(scope.row)"></i>
<!-- </confirm-stock> -->
<i class="el-icon-edit-outline inline-block ml5" @click="updateStock(scope.row)"></i>
</p>
<p>已占用:{{ scope.row.occupyStock }}</p>
<p>总库存:{{ scope.row.totalStock }}</p>
</div>
</template>
</el-table-column>
......@@ -133,7 +145,7 @@
<template slot-scope="scope">
<div style="font-size:0px">
<dm-perm-button type="text" @click="edit(scope.row, 2)">编辑</dm-perm-button>
<dm-perm-button type="text" @click="$router.push({ path: '/gift-manage/stock-record' })">库存记录</dm-perm-button>
<dm-perm-button type="text" @click="$router.push('/gift-manage/virtual-stock-list?id=' + scope.row.giftId)">库存记录</dm-perm-button>
<el-dropdown style="margin-left:20px;" @command="command => handleCommand(command, scope.row)" placement="bottom-start">
<span class="el-dropdown-link" style="color:#2f54ed;cursor: pointer;"> 更多<i class="el-icon-arrow-down el-icon--right"></i> </span>
<el-dropdown-menu slot="dropdown" style="width:110px;">
......@@ -182,7 +194,7 @@ import { page, formate } from '@/mixins/table.js';
import UpdateVirtualCost from './module/update-virtual-cost.vue';
// import request from '../../service/request';
// import common from '../../utils/common';
import updateName from './module/update-name.vue';
// import updateName from './module/update-name.vue';
// import updateStock from './module/update-stock.vue';
import updateVirtualStock from './module/update-virtual-stock.vue';
import checkUploadDetail from './module/check-upload-detail';
......@@ -191,12 +203,12 @@ import checkUploadDetail from './module/check-upload-detail';
import { formatDateTimeByType, listTime } from '@/utils/index.js';
// import { getTimesByReq } from '@/utils/common.js';
import api from '@/api/gift.js';
const { giftPage, batchUpdate } = api;
const { giftPage, batchUpdate, updateName } = api;
export default {
components: {
// UpdateCost,
UpdateVirtualCost,
updateName,
// updateName,
// updateStock,
updateVirtualStock,
// goodsStock,
......@@ -268,7 +280,8 @@ export default {
timeValue: '',
dialogVisible: false,
forbiddenDialog: false,
forbiddenTitle: '禁用'
forbiddenTitle: '禁用',
changeName: ''
};
},
created() {
......@@ -480,18 +493,21 @@ export default {
},
// 更新名字
handleName(item) {
console.log('更改商品名称', item);
this.updateNameForm.name = item.giftName;
this.updateNameForm.id = item.giftId;
// this.updateNameForm.type = 1; // 1、礼品 2、优惠券 3、渠道礼品
this.updateNameDialog = true;
let params = {
giftId: item.giftId,
name: this.changeName
};
updateName(params).then(res => {
if(res.code === '0000'){;
this.$message.success('修改成功');
this.getTableList();
}else{
this.$message.error(res.message);
}
});
},
// 关闭弹框
closeUpdateName() {
// this.updateNameForm.name = '';
// this.updateNameForm.id = '';
this.updateNameDialog = false;
this.getTableList();
getName(val){
this.changeName = val;
},
// 更新库存
updateStock(item) {
......@@ -624,4 +640,7 @@ export default {
/* .damolish .el-tooltip__popper{
width: 240px;
} */
.stock-box .el-tooltip__popper{
width: 150px;
}
</style>
\ No newline at end of file
<template>
<stock-list :welfare-id="$route.query.id"></stock-list>
</template>
<script>
import stockList from '@/components/stock-list/index.vue';
export default {
name: 'StockList',
components: {
stockList
},
created() {
this.$emit('updateBread', [ { breadName: '礼品管理' }, { breadName: '虚拟礼品', breadPath: '/gift-manage/virtual-gift' }, { breadName: '库存记录' } ]);
}
};
</script>
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 to comment