Commit 02d3a3fc by 萱草

update: 修复bug及调整样式

parent 89057cbb
.step-text[data-v-573c70f2]{color:#000;font-size:14px}.dash-style[data-v-573c70f2]{border-bottom:1px dashed #2f54eb}.upload-btn[data-v-573c70f2]{height:40px;border:1px dashed #c0c4cc;display:inline-block;font-size:14px;color:#c0c4cc;cursor:pointer;margin-right:10px;width:250px;border-radius:4px}.upload-btn .el-icon-upload2[data-v-573c70f2]{font-size:18px;color:#c0c4cc}.upload-btn[data-v-573c70f2]:hover{border-color:#1890ff}.upload-ele .el-button[data-v-573c70f2]{border:none;color:#c0c4cc}.upload-ele .el-button--small[data-v-573c70f2]{padding:0}.w-630[data-v-573c70f2]{width:630px}.mb56[data-v-573c70f2]{margin-bottom:56px}.from-content[data-v-573c70f2]{position:relative}.from-content .demo-ruleForm .form-section[data-v-573c70f2]{padding:30px 20px}.from-content .demo-ruleForm .form-section h3[data-v-573c70f2]{color:#303133;font-size:14px;font-weight:700;margin-bottom:31px;margin-left:20px;padding-bottom:9px;border-bottom:1px solid #dfdfdf}.from-content .demo-ruleForm .form-section h3[data-v-573c70f2]:before{clear:both;content:"";display:inline-block;overflow:hidden;width:3px;height:12px;line-height:14px;margin-right:8px;background:#2f54eb}.from-content .demo-ruleForm .form-section .tip-warm[data-v-573c70f2]{color:#909399;font-size:12px}.from-content .demo-ruleForm .form-section .tip-warm i[data-v-573c70f2]{color:#faad14;margin-right:5px}.from-content .demo-ruleForm .fixed-btn[data-v-573c70f2]{width:100%;height:56px;position:fixed;bottom:0;left:200px;background:#fff;border-top:1px solid #e4e7ed;text-align:center;margin-left:-100px;z-index:2;font-size:0}.from-content .demo-ruleForm .fixed-btn .el-button[data-v-573c70f2]{margin-top:12px}.from-content .anchor-link[data-v-573c70f2]{width:120px;position:fixed;right:24px;top:180px;background:#fff}.from-content .anchor-link .link-item[data-v-573c70f2]{height:24px;line-height:24px;color:#606266;font-size:12px;border-left:2px solid #ebeef5;padding-left:18px;cursor:pointer}.from-content .see-btn[data-v-573c70f2]{color:#909399;margin-left:15px}.from-content .see-btn[data-v-573c70f2]:hover{color:#2f54ed}.ml20[data-v-573c70f2]{margin-left:20px}.mr10[data-v-573c70f2]{margin-right:10px}.tips-content[data-v-573c70f2]{position:absolute;left:-4px;top:6px}.store-tips[data-v-573c70f2]{width:200px;position:absolute;left:-10px}.underline[data-v-573c70f2]{text-decoration:underline}.pickup-upload[data-v-573c70f2]{display:inline-block;vertical-align:top;margin-left:10px}.pickup-upload .upload-trigger[data-v-573c70f2]{border-style:dashed}.pickup-upload .upload-trigger .upload-icon[data-v-573c70f2]{font-size:14px}.pickup-upload .pickup-list[data-v-573c70f2]{margin-top:18px}.pickup-upload .pickup-list .pickup-list-name[data-v-573c70f2]{font-size:14px;font-weight:400;color:#303133;line-height:20px}.pickup-upload .pickup-list .pickup-list-name .file-icon[data-v-573c70f2]{font-size:14px}.right-border{border-right:1px solid #ebeef5}.step-style .el-step.is-vertical .el-step__line{top:30px;left:8px;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.step-style .el-step__head.is-finish{color:#2f54eb;border-color:#2f54eb}.step-style .el-step__icon.is-text{border:1px solid}.step-style .el-step__icon{width:16px;height:16px}.step-style .el-step__icon-inner{font-size:12px}
\ No newline at end of file
.step-text[data-v-0663cc1f]{color:#000;font-size:14px}.dash-style[data-v-0663cc1f]{border-bottom:1px dashed #2f54eb}.upload-btn[data-v-0663cc1f]{height:40px;border:1px dashed #c0c4cc;display:inline-block;font-size:14px;color:#c0c4cc;cursor:pointer;margin-right:10px;width:250px;border-radius:4px}.upload-btn .el-icon-upload2[data-v-0663cc1f]{font-size:18px;color:#c0c4cc}.upload-btn[data-v-0663cc1f]:hover{border-color:#1890ff}.upload-ele .el-button[data-v-0663cc1f]{border:none;color:#c0c4cc}.upload-ele .el-button--small[data-v-0663cc1f]{padding:0}.w-630[data-v-0663cc1f]{width:630px}.mb56[data-v-0663cc1f]{margin-bottom:56px}.from-content[data-v-0663cc1f]{position:relative}.from-content .demo-ruleForm .form-section[data-v-0663cc1f]{padding:30px 20px}.from-content .demo-ruleForm .form-section h3[data-v-0663cc1f]{color:#303133;font-size:14px;font-weight:700;margin-bottom:31px;margin-left:20px;padding-bottom:9px;border-bottom:1px solid #dfdfdf}.from-content .demo-ruleForm .form-section h3[data-v-0663cc1f]:before{clear:both;content:"";display:inline-block;overflow:hidden;width:3px;height:12px;line-height:14px;margin-right:8px;background:#2f54eb}.from-content .demo-ruleForm .form-section .tip-warm[data-v-0663cc1f]{color:#909399;font-size:12px}.from-content .demo-ruleForm .form-section .tip-warm i[data-v-0663cc1f]{color:#faad14;margin-right:5px}.from-content .demo-ruleForm .fixed-btn[data-v-0663cc1f]{width:100%;height:56px;position:fixed;bottom:0;left:200px;background:#fff;border-top:1px solid #e4e7ed;text-align:center;margin-left:-100px;z-index:2;font-size:0}.from-content .demo-ruleForm .fixed-btn .el-button[data-v-0663cc1f]{margin-top:12px}.from-content .anchor-link[data-v-0663cc1f]{width:120px;position:fixed;right:24px;top:180px;background:#fff}.from-content .anchor-link .link-item[data-v-0663cc1f]{height:24px;line-height:24px;color:#606266;font-size:12px;border-left:2px solid #ebeef5;padding-left:18px;cursor:pointer}.from-content .see-btn[data-v-0663cc1f]{color:#909399;margin-left:15px}.from-content .see-btn[data-v-0663cc1f]:hover{color:#2f54ed}.ml20[data-v-0663cc1f]{margin-left:20px}.mr10[data-v-0663cc1f]{margin-right:10px}.tips-content[data-v-0663cc1f]{position:absolute;left:-4px;top:6px}.store-tips[data-v-0663cc1f]{width:200px;position:absolute;left:-10px}.underline[data-v-0663cc1f]{text-decoration:underline}.pickup-upload[data-v-0663cc1f]{display:inline-block;vertical-align:top;margin-left:10px}.pickup-upload .upload-trigger[data-v-0663cc1f]{border-style:dashed}.pickup-upload .upload-trigger .upload-icon[data-v-0663cc1f]{font-size:14px}.pickup-upload .pickup-list[data-v-0663cc1f]{margin-top:18px}.pickup-upload .pickup-list .pickup-list-name[data-v-0663cc1f]{font-size:14px;font-weight:400;color:#303133;line-height:20px}.pickup-upload .pickup-list .pickup-list-name .file-icon[data-v-0663cc1f]{font-size:14px}.right-border{border-right:1px solid #ebeef5}.step-style .el-step.is-vertical .el-step__line{top:30px;left:8px;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.step-style .el-step__head.is-finish{color:#2f54eb;border-color:#2f54eb}.step-style .el-step__icon.is-text{border:1px solid}.step-style .el-step__icon{width:16px;height:16px}.step-style .el-step__icon-inner{font-size:12px}
\ No newline at end of file
......@@ -7,12 +7,12 @@
<template slot-scope="scope">{{ scope.row.cols[k] }}</template>
</el-table-column>
<el-table-column label="成本(元)">
<template slot="header">
<template v-slot:header>
<span>成本(元)</span>
<el-popover placement="top" trigger="click">
<dm-input v-model="banthCost" class="hidden-limit"></dm-input>
<el-popover placement="top" trigger="click" ref="popover">
<dm-input-amount v-model="banthCost" class="hidden-limit" :max="999999.99" :min="0" :precision="2"></dm-input-amount>
<div class="popver-button" style="margin-top:18px;text-align:right">
<el-button type="dafault" size="small">取消</el-button>
<el-button type="dafault" size="small" @click="$refs.popover.showPopper = false">取消</el-button>
<el-button type="primary" size="small" class="ml10 ml10" @click="handleBatch">确认</el-button>
</div>
<el-tooltip slot="reference" content="批量编辑">
......@@ -299,6 +299,7 @@ export default {
this.updateList.push({ giftSkuId: this.skuSellObj[item].giftSkuId, costPrice: this.skuSellObj[item].giftSkuCostPrice });
}
console.log(this.updateList);
this.banthCost = '';
},
changeSingleCost(id, cost){
console.log(id);
......
......@@ -12,9 +12,9 @@
</template>
</el-table-column>
<el-table-column label="库存">
<template slot="header">
<template v-slot:header>
<span>库存</span>
<el-popover placement="top" trigger="click">
<el-popover placement="top" trigger="click" ref="popover">
<div>
<el-select v-model="banthStockType" style="width:100px">
<el-option label="增加" :value="1"></el-option>
......@@ -23,7 +23,7 @@
<dm-input-number v-model="banthStock" width="140" style="margin-left:-2px;" controls-position="right" precision="0" :min="0" :max="999999"></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="dafault" size="small" @click="$refs.popover.showPopper = false">取消</el-button>
<el-button type="primary" size="small" class="ml10 ml10" @click="handleStock">确认</el-button>
</div>
<el-tooltip slot="reference" content="批量编辑">
......@@ -48,7 +48,7 @@
<el-option label="增加" :value="1"></el-option>
<el-option label="减少" :value="0"></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="0" :min="0" :max="999999"></dm-input-number>
<dm-input-number v-model="stock" width="140" style="margin-left:-1px;" controls-position="right" @blur="changeSingleStock(giftSkuId, stock, stockType)" precision="0" :min="0" :max="999999"></dm-input-number>
</template>
</el-form-item>
</el-form>
......@@ -88,7 +88,7 @@ export default {
// tableData: [],
spanArr: [], // 用于存放每一行记录的合并数
// costChangeObj: [], // 用于存放批量修改后的数据
banthStock: '',
banthStock: undefined,
stockType: 1,
banthStockType: 1,
updateList: [],
......@@ -332,10 +332,12 @@ export default {
this.stock = this.banthStock;
for(let item in this.skuSellObj){
this.skuSellObj[item].stock = this.banthStock;
this.skuSellObj[item].stageStock = this.banthStock;
this.skuSellObj[item].stockType = this.banthStockType;
this.updateList.push({ giftSkuId: this.skuSellObj[item].giftSkuId, stock: this.skuSellObj[item].stock, stockType: this.banthStockType });
}
console.log(this.updateList);
this.banthStock = undefined;
},
changeSingleStock(id, stock, stockType){
if(!stock){
......
......@@ -13,7 +13,7 @@
<div class="member-upload-image">
<dm-upload-picture :action-url="actionUrl" :image-list="image" :max-image-length="maxlength" accept="image/jpeg, image/jpg, image/png, image/gif" :before-upload="beforeUpload" @uploadOnSuccess="uploadOnSuccess" @deleteImage="deleteImage"></dm-upload-picture>
</div>
<span class="tip-warm" style="display:block">图片宽度800*800px,格式jpg/png/gif,大小1MB以内,你可以拖拽图片调整顺序,最多上传 5 张</span>
<span class="tip-warm" style="display:block">图片建议尺寸800*800px,格式jpg/png/gif,大小1MB以内,你可以拖拽图片调整顺序,最多上传 5 张</span>
</div>
</el-form-item>
<el-form-item label="礼品详情">
......@@ -196,11 +196,11 @@
</el-popover>
</div>
</el-form-item>
<el-form-item label="礼品编码" class="w-630" prop="giftNo">
<el-input style="width:260px" v-model="goodsForm.giftNo" placeholder="请输入" :min="0" :max="999999" :precision="2"></el-input>
<el-form-item label="礼品编码" class="w-630" prop="giftNo" :rules="[{ validator: validateGoodsCode, trigger: 'blur' }]">
<el-input style="width:260px" v-model="goodsForm.giftNo" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="礼品条形码" class="w-630" prop="giftBarNo">
<el-input style="width:260px" v-model="goodsForm.giftBarNo" placeholder="请输入" :min="0" :max="999999" :precision="2"></el-input>
<el-form-item label="礼品条形码" class="w-630" prop="giftBarNo" :rules="[{ validator: validateGoodsBarCode, trigger: 'blur' }]">
<el-input style="width:260px" v-model="goodsForm.giftBarNo" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="form-section">
......@@ -290,28 +290,6 @@ export default {
selectPickupStore,
},
data() {
// let marketPriceValidator = (rule, value, callback) => {
// let reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/;
// if (value) {
// if (!reg.test(Number(value))) {
// return callback(new Error('市场价必须为正数'));
// } else {
// if(Number(value) > 9999999){
// return callback(new Error('市场价最大为7位数'));
// }
// callback();
// }
// } else {
// callback();
// }
// };
let validateTime = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入时间'));
} else {
callback();
}
};
let validateGoodsCode = (rule, value, callback) => {
if (value) {
let regExp = /^[A-Za-z0-9\-\—]{1,32}$/;
......@@ -324,13 +302,6 @@ export default {
callback();
}
};
let validateGoodsStock = (rule, value, callback) => {
if (value) {
callback();
} else {
return callback(new Error('库存不能为空'));
}
};
let validateGoodsBarCode = (rule, value, callback) => {
if (value) {
let regExp = /^[a-zA-Z0-9]{1,32}$/;
......@@ -343,18 +314,6 @@ export default {
callback();
}
};
let validateGoodsIntegral = (rule, value, callback) => {
if (!value && value != 0) {
this.$message.error('成本不能为空');
return callback(new Error('成本不能为空'));
} else {
if(Number(value) > 9999999){
this.$message.error('成本最大为7位数');
return callback(new Error('成本最大为7位数'));
}
callback();
}
};
return {
uploadUrl: uploadUrl,
bread: [
......@@ -397,12 +356,11 @@ export default {
deliveryType: [], // 配送方式 1物流发货 2门店自提 3文本券码
stockUseType: '', // 库存使用类型(0:占用,1:动态 , 2占用+动态)
deliveryList: [],
costPrice: 0,
costPrice: '',
stock: undefined,
giftNo: '',
giftBarNo: ''
},
validateTime,
pickerOptions: {
disabledDate(time) {
return time.getTime() < new Date().getTime();
......@@ -418,9 +376,7 @@ export default {
operAuthType: [ { required: true, message: '请选择操作人权限', trigger: 'change' } ],
},
validateGoodsCode,
validateGoodsStock,
validateGoodsBarCode,
validateGoodsIntegral,
// 规格信息
goodsStandardInfo: [],
standardList: [], // 当前操作的规格列表
......@@ -682,13 +638,13 @@ export default {
} else {
this.$message.error(res.message);
}
})
.catch(error => {
this.$message.error({
duration: 1000,
message: error.message
});
}).finally(() => this.$emit('updateLoading'));
// .catch(error => {
// this.$message.error({
// duration: 1000,
// message: error.message
// });
// }).finally(() => this.$emit('updateLoading'));
console.log(222);
},
// 上传前
......@@ -697,10 +653,10 @@ export default {
this.$message.error('请上传小于1MB的图片');
return false;
}
if (file.width < 800 || file.width / file.width != 1 / 1) {
this.$message.error('请上传宽度≥800px,宽高比1:1的图片');
return false;
}
// if (file.width < 800 || file.width / file.width != 1 / 1) {
// this.$message.error('请上传宽度≥800px,宽高比1:1的图片');
// return false;
// }
return true;
},
// 上传成功 返回的图片对象 里面有图片 大小 类型 等相关信息
......@@ -942,32 +898,32 @@ export default {
},
// 表格里面的图片上传前面
tableBeforeUpload(file) {
if (file.size > 2 * 1024 * 1024) {
this.$message.error('请上传小于2MB的图片');
return false;
}
// if (file.size > 2 * 1024 * 1024) {
// this.$message.error('请上传小于2MB的图片');
// return false;
// }
if (file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/jpg' && file.type !== 'image/gif') {
this.$message.error('请上传jpg,png,gif格式的图片');
return false;
}
let that = this;
return new Promise(function(resolve, reject) {
let reader = new FileReader();
reader.onload = function(event) {
let image = new Image();
image.onload = function() {
let width = this.width;
let height = this.height;
if (width < 200 || width / height < 1 / 1) {
that.$message.error('请上传正确的图片尺寸');
reject();
}
resolve();
};
image.src = event.target.result;
};
reader.readAsDataURL(file);
});
// let that = this;
// return new Promise(function(resolve, reject) {
// let reader = new FileReader();
// reader.onload = function(event) {
// let image = new Image();
// image.onload = function() {
// let width = this.width;
// let height = this.height;
// if (width < 200 || width / height < 1 / 1) {
// that.$message.error('请上传正确的图片尺寸');
// reject();
// }
// resolve();
// };
// image.src = event.target.result;
// };
// reader.readAsDataURL(file);
// });
},
// 删除规格图片
deleteImg(item) {
......
......@@ -13,7 +13,7 @@
<div class="member-upload-image">
<dm-upload-picture :action-url="actionUrl" :image-list="image" :max-image-length="maxlength" accept="image/jpeg, image/jpg, image/png, image/gif" :before-upload="beforeUpload" @uploadOnSuccess="uploadOnSuccess" @deleteImage="deleteImage"></dm-upload-picture>
</div>
<span class="tip-warm" style="display:block">图片宽度800*800px,格式jpg/png/gif,大小1MB以内,你可以拖拽图片调整顺序,最多上传 5 张</span>
<span class="tip-warm" style="display:block">图片建议尺寸800*800px,格式jpg/png/gif,大小1MB以内,你可以拖拽图片调整顺序,最多上传 5 张</span>
</div>
</el-form-item>
<el-form-item label="礼品详情" prop="giftDescrption">
......@@ -38,11 +38,11 @@
</el-popover>
</div>
</el-form-item>
<el-form-item label="礼品编码" class="w-630" prop="giftNo">
<el-input style="width:260px" v-model="goodsForm.giftNo" placeholder="请输入" :min="0" :max="999999" :precision="2"></el-input>
<el-form-item label="礼品编码" class="w-630" prop="giftNo" :rules="[{ validator: validateGoodsCode, trigger: 'blur' }]">
<el-input style="width:260px" v-model="goodsForm.giftNo" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="礼品条形码" class="w-630" prop="giftBarNo">
<el-input style="width:260px" v-model="goodsForm.giftBarNo" placeholder="请输入" :min="0" :max="999999" :precision="2"></el-input>
<el-form-item label="礼品条形码" class="w-630" prop="giftBarNo" :rules="[{ validator: validateGoodsBarCode, trigger: 'blur' }]">
<el-input style="width:260px" v-model="goodsForm.giftBarNo" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="form-section">
......@@ -51,7 +51,7 @@
<el-form-item label="发货内容" required prop="template">
<template>
<div style="display:flex;">
<dm-editor width="500" height="300" :value="goodsForm.template" is-sync :placeholder="template" @change="handleChange2" :readonly="readonly"></dm-editor>
<dm-editor width="500" height="300" :value="goodsForm.template" is-sync :placeholder="template" @change="handleChange2" :readonly="$route.query.giftId"></dm-editor>
<div class="ml20">
<p>用户申请履约后,发货内容将自动发送。</p>
<div style="height: 250px;" class="step-style">
......@@ -172,6 +172,30 @@ export default {
checkUploadDetail,
},
data() {
let validateGoodsCode = (rule, value, callback) => {
if (value) {
let regExp = /^[A-Za-z0-9\-\—]{1,32}$/;
if (!regExp.test(value)) {
return callback(new Error('只支持数字或字母或-或——'));
} else {
callback();
}
} else {
callback();
}
};
let validateGoodsBarCode = (rule, value, callback) => {
if (value) {
let regExp = /^[a-zA-Z0-9]{1,32}$/;
if (!regExp.test(value)) {
return callback(new Error('条形码只能是数字或字母'));
} else {
callback();
}
} else {
callback();
}
};
return {
uploadUrl: uploadUrl,
bread: [
......@@ -189,7 +213,7 @@ export default {
goodsForm: {
giftName: '', // 礼品名称
marketPrice: undefined, // 礼品市场价
virCostPrice: undefined,
virCostPrice: '',
giftImages: '', // 礼品主图URL,分割
giftDescrption: '', // 礼品详情
checkList: [],
......@@ -203,9 +227,9 @@ export default {
stockUseType: '', // 库存使用类型(0:占用,1:动态 , 2占用+动态)
// tableData: [
// {
giftNo: undefined,
giftNo: '',
stock: undefined,
giftBarNo: undefined,
giftBarNo: '',
// }
// ],
template: ''
......@@ -214,12 +238,14 @@ export default {
goodsRules: {
giftName: [ { required: true, message: '请输入礼品名称', trigger: 'blur' } ],
// marketPrice: [ { required: true, message: '请输入', trigger: 'blur' } ],
virCostPrice: [ { required: true, message: '请输入', trigger: 'blur' } ],
virCostPrice: [ { required: true, message: '请输入成本', trigger: 'blur' } ],
refundFlag: [ { required: true, message: '请选择是否支持退款', trigger: 'change' } ],
// deliveryType: [ { required: true, message: '请选择配送方式', trigger: 'change' } ],
checkList: [ { required: true, message: '请选择库存消耗方式', trigger: 'change' } ],
template: [ { required: true, message: '请输入发货内容', trigger: 'blur' } ]
},
validateGoodsCode,
validateGoodsBarCode,
giftId: '',
editorWidth: 900,
// 图片墙数据
......@@ -500,13 +526,13 @@ export default {
} else {
this.$message.error(res.message);
}
})
.catch(error => {
this.$message.error({
duration: 1000,
message: error.message
});
}).finally(() => this.$emit('updateLoading'));
// .catch(error => {
// this.$message.error({
// duration: 1000,
// message: error.message
// });
// }).finally(() => this.$emit('updateLoading'));
console.log(222);
},
// 上传前
......@@ -515,10 +541,10 @@ export default {
this.$message.error('请上传小于1MB的图片');
return false;
}
if (file.width < 800 || file.width / file.width != 1 / 1) {
this.$message.error('请上传宽度≥800px,宽高比1:1的图片');
return false;
}
// if (file.width < 800 || file.width / file.width != 1 / 1) {
// this.$message.error('请上传宽度≥800px,宽高比1:1的图片');
// return false;
// }
return true;
},
// 上传成功 返回的图片对象 里面有图片 大小 类型 等相关信息
......
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