This commit is contained in:
faiz 2024-04-13 18:17:00 +08:00
parent 05be7640b5
commit 0bfdce51c1
6 changed files with 241 additions and 84 deletions

View File

@ -106,6 +106,13 @@ export function adminStatusApi(id, status) {
export function adminPasswordApi(id) { export function adminPasswordApi(id) {
return request.get(`system/admin/password/form/${id}`) return request.get(`system/admin/password/form/${id}`)
} }
/**
* @description 提交 -- 提交转账信息
* @param {Object} param params {Object} 传值参数
*/
export function offlinePayApi(id) {
return request.get(`offline_pay/form/${id}`)
}
/** /**
* @description 操作日志 -- 列表 * @description 操作日志 -- 列表
* @param {Object} param params {Object} 传值参数 * @param {Object} param params {Object} 传值参数

View File

@ -594,6 +594,7 @@ export default {
str += '<img src="' + this.checkPicList[i] + '">'; str += '<img src="' + this.checkPicList[i] + '">';
} }
/* eslint-disable */ /* eslint-disable */
console.log(nowEditor.editor.execCommand);
nowEditor.editor.execCommand("insertHtml", str); nowEditor.editor.execCommand("insertHtml", str);
nowEditor.dialog.close(true); nowEditor.dialog.close(true);
} }

View File

@ -223,7 +223,7 @@
<el-button v-if="scope.row.paid === 0 && scope.row.is_del===0 && scope.row.activity_type != 2" type="text" size="small" @click="edit(scope.row.order_id)">编辑</el-button> <el-button v-if="scope.row.paid === 0 && scope.row.is_del===0 && scope.row.activity_type != 2" type="text" size="small" @click="edit(scope.row.order_id)">编辑</el-button>
<el-button v-if="(scope.row.order_type == 0 || scope.row.order_type == 2) && scope.row.status === 0 && scope.row.paid === 1" type="text" size="small" @click="send(scope.row,scope.row.order_id)">发送货</el-button> <el-button v-if="(scope.row.order_type == 0 || scope.row.order_type == 2) && scope.row.status === 0 && scope.row.paid === 1" type="text" size="small" @click="send(scope.row,scope.row.order_id)">发送货</el-button>
<el-button v-if="scope.row.is_del !== 0" type="text" size="small" @click.native="handleDelete(scope.row, scope.$index)">删除</el-button> <el-button v-if="scope.row.is_del !== 0" type="text" size="small" @click.native="handleDelete(scope.row, scope.$index)">删除</el-button>
<el-button type="text" size="small" @click="onOrderOpenRefund(scope.row.order_id)">开启售后</el-button> <el-button :disabled='!!scope.row.refund_open' v-if="(scope.row.paid ==1 && scope.row.status !=-1)" type="text" size="small" @click="onOrderOpenRefund(scope.row.order_id)">开启售后</el-button>
<el-button v-if="scope.row.order_type == 1 && scope.row.status === 0 && scope.row.paid === 1" type="text" size="small" @click.native="orderCancellation(scope.row.verify_code)">去核销</el-button> <el-button v-if="scope.row.order_type == 1 && scope.row.status === 0 && scope.row.paid === 1" type="text" size="small" @click.native="orderCancellation(scope.row.verify_code)">去核销</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -705,8 +705,8 @@ export default {
methods: { methods: {
// //
onOrderOpenRefund(id) { onOrderOpenRefund(id) {
this.$confirm('此操作将开启售后, 是否继续?', '提示', { this.$confirm('此订单顾客已无法申请售后,是否同意给顾客再次开通售后按键?, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '同意',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
@ -1343,6 +1343,9 @@ export default {
display: block; display: block;
padding: 5px 0; padding: 5px 0;
} }
::v-deep .el-button.is-disabled{
color:#C0C4CC !important
}
.check { .check {
color: #00a2d4; color: #00a2d4;
} }

View File

@ -2,7 +2,7 @@
<div class="divBox"> <div class="divBox">
<el-card class="box-card"> <el-card class="box-card">
<div class="clearfix"> <div class="clearfix">
<el-tabs v-if="headTab.length > 0" v-model="currentTab"> <el-tabs :style="{'pointer-events':isTabs}" v-if="headTab.length > 0" v-model="currentTab">
<el-tab-pane <el-tab-pane
v-for="(item, index) in headTab" v-for="(item, index) in headTab"
:key="index" :key="index"
@ -1007,23 +1007,26 @@
controls-position="right" controls-position="right"
/> />
<el-input <el-input
v-if="formThead[iii].title === '商品编号'" v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接' || formThead[iii].title === '售价' || formThead[iii].title === '市场价'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="text" type="text"
size="small" size="small"
:disabled="virStatus&&(formThead[iii].title === '依据链接' || formThead[iii].title === '商品编号')"
@input="handleCost(scope.row,iii,$event,'batchAdd')"
class="priceBox" class="priceBox"
/> />
<el-input <el-input-number
v-if=" v-if="formThead[iii].title !== '付费会员价' &&
formThead[iii].title !== '付费会员价' && formThead[iii].title !== '商品编号' &&
formThead[iii].title !== '商品编号' && formThead[iii].title !== '依据链接' &&
formThead[iii].title !== '库存' formThead[iii].title !== '售价' &&
" formThead[iii].title !== '市场价' &&
formThead[iii].title !== '库存'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="number" :min="0"
min="0"
size="small" size="small"
class="priceBox" class="priceBox"
:disabled="formThead[iii].title === '成本价'||formThead[iii].title === '占比'||formThead[iii].title === '成长值'"
controls-position="right" controls-position="right"
@blur="memberPrice(formThead[iii], scope.row)" @blur="memberPrice(formThead[iii], scope.row)"
/> />
@ -1050,7 +1053,7 @@
type="text" type="text"
size="small" size="small"
:disabled="virStatus&&formThead[iii].title === '依据链接'" :disabled="virStatus&&formThead[iii].title === '依据链接'"
@input="handleCost(scope.row,iii,$event)" @input="handleCost(scope.row,iii,$event,'batchAdd')"
class="priceBox" class="priceBox"
/> />
<el-input <el-input
@ -1178,22 +1181,26 @@
controls-position="right" controls-position="right"
/> />
<el-input <el-input
v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接'" v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接' || formThead[iii].title === '售价' || formThead[iii].title === '市场价'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="text" type="text"
size="small"
:disabled="virStatus&&(formThead[iii].title === '依据链接' || formThead[iii].title === '商品编号')"
@input="handleCost(scope.row,iii,$event)"
class="priceBox" class="priceBox"
/> />
<el-input-number <el-input-number
v-if=" v-if="formThead[iii].title !== '付费会员价' &&
formThead[iii].title !== '付费会员价' && formThead[iii].title !== '商品编号' &&
formThead[iii].title !== '商品编号' && formThead[iii].title !== '依据链接' &&
formThead[iii].title !== '依据链接' && formThead[iii].title !== '售价' &&
formThead[iii].title !== '库存' formThead[iii].title !== '市场价' &&
" formThead[iii].title !== '库存'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
:min="0" :min="0"
size="small" size="small"
class="priceBox" class="priceBox"
:disabled="formThead[iii].title === '成本价'||formThead[iii].title === '占比'||formThead[iii].title === '成长值'"
controls-position="right" controls-position="right"
@blur="memberPrice(formThead[iii], scope.row)" @blur="memberPrice(formThead[iii], scope.row)"
/> />
@ -1220,7 +1227,7 @@
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="text" type="text"
size="small" size="small"
:disabled="virStatus&&formThead[iii].title === '依据链接'" :disabled="virStatus&&(formThead[iii].title === '依据链接' || formThead[iii].title === '商品编号')"
@input="handleCost(scope.row,iii,$event)" @input="handleCost(scope.row,iii,$event)"
class="priceBox" class="priceBox"
/> />
@ -1348,22 +1355,34 @@
class="priceBox" class="priceBox"
controls-position="right" controls-position="right"
/> />
<el-input <!-- <el-input
v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接'" v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="text" type="text"
size="small" size="small"
class="priceBox" class="priceBox"
/> -->
<el-input
v-if="formThead[iii].title === '商品编号' || formThead[iii].title === '依据链接' || formThead[iii].title === '售价' || formThead[iii].title === '市场价'"
v-model="scope.row[iii]"
type="text"
size="small"
:disabled="virStatus&&(formThead[iii].title === '依据链接' || formThead[iii].title === '商品编号')"
@input="handleCost(scope.row,iii,$event)"
class="priceBox"
/> />
<el-input-number <el-input-number
v-if="formThead[iii].title !== '付费会员价' && v-if="formThead[iii].title !== '付费会员价' &&
formThead[iii].title !== '商品编号' && formThead[iii].title !== '商品编号' &&
formThead[iii].title !== '依据链接' && formThead[iii].title !== '依据链接' &&
formThead[iii].title !== '售价' &&
formThead[iii].title !== '市场价' &&
formThead[iii].title !== '库存'" formThead[iii].title !== '库存'"
v-model="scope.row[iii]" v-model="scope.row[iii]"
:min="0" :min="0"
size="small" size="small"
class="priceBox" class="priceBox"
:disabled="formThead[iii].title === '成本价'||formThead[iii].title === '占比'||formThead[iii].title === '成长值'"
controls-position="right" controls-position="right"
@blur="memberPrice(formThead[iii], scope.row)" @blur="memberPrice(formThead[iii], scope.row)"
/> />
@ -1396,7 +1415,8 @@
v-model="scope.row[iii]" v-model="scope.row[iii]"
type="text" type="text"
size="small" size="small"
:disabled="virStatus&&formThead[iii].title === '依据链接'" :class="scope.row[iii]"
:disabled="virStatus&&(formThead[iii].title === '依据链接' || formThead[iii].title === '商品编号')"
@input="handleCost(scope.row,iii,$event)" @input="handleCost(scope.row,iii,$event)"
class="priceBox" class="priceBox"
/> />
@ -2512,6 +2532,9 @@ export default {
cost: '', cost: '',
ot_price: '', ot_price: '',
svip_price: '', svip_price: '',
proportion:'0.6',
gist_url:'',
growth:0,
stock: '', stock: '',
cdkey: {}, cdkey: {},
code: '', code: '',
@ -2536,6 +2559,13 @@ export default {
attrValue() { attrValue() {
const obj = Object.assign({}, this.attrVal) const obj = Object.assign({}, this.attrVal)
return obj return obj
},
isTabs() {
if(!this.$route.params.id){
return 'none'
}else{
return 'all'
}
} }
// oneFormBatch() { // oneFormBatch() {
// const obj = [Object.assign({}, defaultObj.attrValue[0])] // const obj = [Object.assign({}, defaultObj.attrValue[0])]
@ -2555,7 +2585,7 @@ export default {
deep: true deep: true
}, },
currentTab(newVal) { currentTab(newVal) {
// this.businessList = this.formValidate.qualification.businessList console.log(newVal);
if (newVal == 6) { if (newVal == 6) {
this.$nextTick(e => { this.$nextTick(e => {
this.setSort() this.setSort()
@ -2621,12 +2651,18 @@ export default {
window.removeEventListener('popstate', this.goBack, false) window.removeEventListener('popstate', this.goBack, false)
}, },
methods: { methods: {
handleCost(val,i,e){ // handleLeave(activeName, oldActiveName){
// console.log(val); // console.log(!!this.$route.params.id);
// return !!this.$route.params.id
// },
handleCost(val,i,e,type){
if(type == 'batchAdd'){
i=='price'?val.cost = (val.price * 0.6).toFixed(2):''
}
if(i=='price'){ if(i=='price'){
val.price=val.price.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1') val.price=val.price.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1')
val.cost = (e * 0.6).toFixed(2) val.growth = parseInt(val.price*(0.9-(val.cost/val.price)))
val.growth = parseInt(e*0.3) val.cost = (e * val.proportion).toFixed(2)
} }
if(i=='ot_price'){ if(i=='ot_price'){
val.ot_price=val.ot_price.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1') val.ot_price=val.ot_price.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1')
@ -3057,6 +3093,7 @@ export default {
: (this.formValidate.is_good = 0) : (this.formValidate.is_good = 0)
}, },
watCh(val) { watCh(val) {
// console.log(val);
const tmp = {} const tmp = {}
const tmpTab = {} const tmpTab = {}
this.formValidate.attr.forEach((o, i) => { this.formValidate.attr.forEach((o, i) => {
@ -3104,8 +3141,11 @@ export default {
stock: 0, stock: 0,
cdkey: {}, cdkey: {},
bar_code: '', bar_code: '',
gist_url:'',
weight: 0, weight: 0,
volume: 0, volume: 0,
growth:0,
proportion:'0.6',
extension_one: 0, extension_one: 0,
extension_two: 0 extension_two: 0
} }
@ -3136,12 +3176,15 @@ export default {
cost: 0, cost: 0,
ot_price: 0, ot_price: 0,
select: true, select: true,
gist_url:'',
sku: '', sku: '',
stock: 0, stock: 0,
cdkey: {}, cdkey: {},
bar_code: '', bar_code: '',
weight: 0, weight: 0,
volume: 0, volume: 0,
growth:0,
proportion:'0.6',
extension_one: 0, extension_one: 0,
extension_two: 0, extension_two: 0,
detail: { [v['value']]: vv } detail: { [v['value']]: vv }
@ -3165,6 +3208,9 @@ export default {
res[i]['bar_code'] = v.bar_code res[i]['bar_code'] = v.bar_code
res[i]['volume'] = v.volume res[i]['volume'] = v.volume
res[i]['weight'] = v.weight res[i]['weight'] = v.weight
res[i]['growth'] = v.growth
res[i]['gist_url'] = v.gist_url
res[i]['proportion'] = v.proportion
res[i]['extension_one'] = v.extension_one res[i]['extension_one'] = v.extension_one
res[i]['extension_two'] = v.extension_two res[i]['extension_two'] = v.extension_two
res[i]['cdkey'] = v.cdkey && v.cdkey.length && v.cdkey[0] || null res[i]['cdkey'] = v.cdkey && v.cdkey.length && v.cdkey[0] || null
@ -3292,7 +3338,6 @@ export default {
}) })
}) })
this.attrsList = data this.attrsList = data
console.log(this.ManyAttrValue)
}, },
// //
getCategorySelect() { getCategorySelect() {
@ -3464,7 +3509,9 @@ export default {
// //
batchAdd() { batchAdd() {
let attr = this.oneFormBatch[0] let attr = this.oneFormBatch[0]
if(+attr.ot_price<attr.price) return this.$message.error("规格设置-市场价格限定等于或大于售价"); if(!attr.price) return this.$message.error("批量添加-售价为必须填写");
if(+attr.ot_price<attr.price) return this.$message.error("批量添加-市场价格限定等于或大于售价");
if(!attr.gist_url) return this.$message.error("批量添加-依据链接为必须填写");
for (const val of this.ManyAttrValue) { for (const val of this.ManyAttrValue) {
if (val.select) { if (val.select) {
if (this.oneFormBatch[0].attr != '') this.$set(val, 'attr', this.oneFormBatch[0].attr) if (this.oneFormBatch[0].attr != '') this.$set(val, 'attr', this.oneFormBatch[0].attr)
@ -3477,6 +3524,8 @@ export default {
if (this.oneFormBatch[0].bar_code != null && this.oneFormBatch[0].bar_code != '') this.$set(val, 'bar_code', this.oneFormBatch[0].bar_code) if (this.oneFormBatch[0].bar_code != null && this.oneFormBatch[0].bar_code != '') this.$set(val, 'bar_code', this.oneFormBatch[0].bar_code)
if (this.oneFormBatch[0].weight != null && this.oneFormBatch[0].weight != '') this.$set(val, 'weight', this.oneFormBatch[0].weight) if (this.oneFormBatch[0].weight != null && this.oneFormBatch[0].weight != '') this.$set(val, 'weight', this.oneFormBatch[0].weight)
if (this.oneFormBatch[0].volume != null && this.oneFormBatch[0].volume != '') this.$set(val, 'volume', this.oneFormBatch[0].volume) if (this.oneFormBatch[0].volume != null && this.oneFormBatch[0].volume != '') this.$set(val, 'volume', this.oneFormBatch[0].volume)
if (this.oneFormBatch[0].growth != null && this.oneFormBatch[0].growth != '') this.$set(val, 'growth', this.oneFormBatch[0].growth)
if (this.oneFormBatch[0].proportion != null && this.oneFormBatch[0].proportion != '') this.$set(val, 'proportion', this.oneFormBatch[0].proportion)
if (this.oneFormBatch[0].gist_url != null && this.oneFormBatch[0].gist_url != '') this.$set(val, 'gist_url', this.oneFormBatch[0].gist_url) if (this.oneFormBatch[0].gist_url != null && this.oneFormBatch[0].gist_url != '') this.$set(val, 'gist_url', this.oneFormBatch[0].gist_url)
if (this.oneFormBatch[0].extension_one != null && this.oneFormBatch[0].extension_one != '') this.$set(val, 'extension_one', this.oneFormBatch[0].extension_one) if (this.oneFormBatch[0].extension_one != null && this.oneFormBatch[0].extension_one != '') this.$set(val, 'extension_one', this.oneFormBatch[0].extension_one)
if (this.oneFormBatch[0].extension_two != null && this.oneFormBatch[0].extension_two != '') this.$set(val, 'extension_two', this.oneFormBatch[0].extension_two) if (this.oneFormBatch[0].extension_two != null && this.oneFormBatch[0].extension_two != '') this.$set(val, 'extension_two', this.oneFormBatch[0].extension_two)
@ -3698,15 +3747,25 @@ export default {
this.customBtn = 1; this.customBtn = 1;
} }
if (this.formValidate.spec_type === 0) { if (this.formValidate.spec_type === 0) {
info.attrValue[0].list = [], this.OneattrValue = info.attrValue
this.OneattrValue = info.attrValue; } else {
} else { this.ManyAttrValue = info.attrValue
this.ManyAttrValue = info.attrValue; if(info.is_copy){
if(info.is_copy){ this.formValidate.value = info.value
this.formValidate.value = info.value }
} console.log(this.ManyAttrValue);
this.generate(); this.generate();
} }
// if (this.formValidate.spec_type === 0) {
// info.attrValue[0].list = [],
// this.OneattrValue = info.attrValue;
// } else {
// this.ManyAttrValue = info.attrValue;
// if(info.is_copy){
// this.formValidate.value = info.value
// }
// this.generate();
// }
if (this.formValidate.is_good === 1) { if (this.formValidate.is_good === 1) {
this.checkboxGroup.push("is_good"); this.checkboxGroup.push("is_good");
} }
@ -3754,9 +3813,10 @@ export default {
}, },
handleSubmitUp() { handleSubmitUp() {
this.currentTab = (Number(this.currentTab) - 1).toString(); this.currentTab = (Number(this.currentTab) - 1).toString();
console.log(this.currentTab)
}, },
handleSubmitNest(name) { handleSubmitNest(name) {
if (this.formValidate.spec_type === 1) { if (this.formValidate.spec_type === 1 && this.currentTab=='3') {
let mode = this.ManyAttrValue.every(item=>{ let mode = this.ManyAttrValue.every(item=>{
return !(+item.ot_price<item.price) return !(+item.ot_price<item.price)
}) })
@ -3765,7 +3825,7 @@ export default {
return item.gist_url return item.gist_url
}) })
if(!url) return this.$message.error("规格设置-多规格依据链接必选填写"); if(!url) return this.$message.error("规格设置-多规格依据链接必选填写");
} else { } else if(this.currentTab == '3'){
let attr = this.OneattrValue[0] let attr = this.OneattrValue[0]
if(+attr.ot_price<attr.price) return this.$message.error("规格设置-市场价格限定等于或大于售价"); if(+attr.ot_price<attr.price) return this.$message.error("规格设置-市场价格限定等于或大于售价");
if(!attr.gist_url) return this.$message.error("规格设置-依据链接必须填写"); if(!attr.gist_url) return this.$message.error("规格设置-依据链接必须填写");
@ -3797,6 +3857,7 @@ export default {
this.formValidate.attrValue = this.OneattrValue; this.formValidate.attrValue = this.OneattrValue;
this.formValidate.attr = []; this.formValidate.attr = [];
} }
let ids = [] let ids = []
this.goodList.forEach((item,index)=>{ this.goodList.forEach((item,index)=>{
ids.push(item.product_id) ids.push(item.product_id)

View File

@ -3,6 +3,7 @@
<el-dialog <el-dialog
v-if="modals" v-if="modals"
:visible.sync="modals" :visible.sync="modals"
top="30px"
width="80%" width="80%"
title="免审核商品信息编辑" title="免审核商品信息编辑"
custom-class="dialog-scustom" custom-class="dialog-scustom"
@ -68,17 +69,9 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24">
<el-form-item label="商品详情:">
<ueditor-from v-model="formValidate.content" :content="formValidate.content" />
</el-form-item>
</el-col>
</el-row> </el-row>
<el-form-item> <div>
<el-button :loading="loading1" type="primary" class="submission" @click="handleSubmit('formValidate')">提交</el-button> <!-- <el-form-item label="商户商品分类:" >
</el-form-item>
<!-- <div>
<el-form-item label="商户商品分类:" >
<el-cascader <el-cascader
v-model="formValidate.mer_cate_id" v-model="formValidate.mer_cate_id"
class="selWidth" class="selWidth"
@ -86,7 +79,7 @@
:props="{multiple:true,checkStrictly:true,emitPath:false }" :props="{multiple:true,checkStrictly:true,emitPath:false }"
clearable clearable
/> />
</el-form-item> </el-form-item> -->
<el-form-item v-if="formValidate.spec_type === 1 && ManyAttrValue.length > 1" label="批量设置:" class="labeltop"> <el-form-item v-if="formValidate.spec_type === 1 && ManyAttrValue.length > 1" label="批量设置:" class="labeltop">
<el-table :data="oneFormBatch" size="mini"> <el-table :data="oneFormBatch" size="mini">
<el-table-column label="图片" min-width="150" align="center"> <el-table-column label="图片" min-width="150" align="center">
@ -103,7 +96,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="售价" min-width="100" align="center"> <!-- <el-table-column label="售价" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number v-model="oneFormBatch[0].price" :min="0" class="priceBox" controls-position="right"/> <el-input-number v-model="oneFormBatch[0].price" :min="0" class="priceBox" controls-position="right"/>
</template> </template>
@ -117,17 +110,17 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number v-model="oneFormBatch[0].ot_price" :min="0" class="priceBox" controls-position="right"/> <el-input-number v-model="oneFormBatch[0].ot_price" :min="0" class="priceBox" controls-position="right"/>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column label="库存" min-width="100" align="center"> <el-table-column label="库存" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number v-model="oneFormBatch[0].stock" :min="0" class="priceBox" controls-position="right"/> <el-input-number v-model="oneFormBatch[0].stock" :min="0" class="priceBox" controls-position="right"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品编号" min-width="100" align="center"> <!-- <el-table-column label="商品编号" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="oneFormBatch[0].bar_code" /> <el-input v-model="oneFormBatch[0].bar_code" />
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column label="重量(KG)" min-width="100" align="center"> <el-table-column label="重量(KG)" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number v-model="oneFormBatch[0].weight" :min="0" class="priceBox" controls-position="right"/> <el-input-number v-model="oneFormBatch[0].weight" :min="0" class="priceBox" controls-position="right"/>
@ -217,10 +210,13 @@
</template> </template>
</el-table> </el-table>
</el-form-item> </el-form-item>
<el-form-item label="商品详情:">
<ueditor-from v-model="formValidate.content" :content="formValidate.content" />
</el-form-item>
<el-form-item> <el-form-item>
<el-button :loading="loading1" type="primary" class="submission" @click="handleSubmit('formValidate')">提交</el-button> <el-button :loading="loading1" type="primary" class="submission" @click="handleSubmit('formValidate')">提交</el-button>
</el-form-item> </el-form-item>
</div> --> </div>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
@ -273,31 +269,31 @@ const defaultObj = {
is_copoy: 1, is_copoy: 1,
attrValue: [{ attrValue: [{
image: '', image: '',
price: 0, // price: 0,
cost: 0, // cost: 0,
ot_price: 0, // ot_price: 0,
stock: 0, stock: 0,
bar_code: '', // bar_code: '',
weight: 0, weight: 0,
volume: 0 volume: 0
}] }]
} }
const objTitle = { const objTitle = {
price: { // price: {
title: '售价' // title: ''
}, // },
cost: { // cost: {
title: '成本价' // title: ''
}, // },
ot_price: { // ot_price: {
title: '市场价' // title: ''
}, // },
stock: { stock: {
title: '库存' title: '库存'
}, },
bar_code: { // bar_code: {
title: '商品编号' // title: ''
}, // },
weight: { weight: {
title: '重量KG' title: '重量KG'
}, },

View File

@ -81,6 +81,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(10)">提交转账信息</el-button>
</div> </div>
<!--产品服务费--> <!--产品服务费-->
<div v-if="merData.is_service == 1"> <div v-if="merData.is_service == 1">
@ -101,6 +102,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(30)">提交转账信息</el-button>
</div> </div>
<!--商品上架费--> <!--商品上架费-->
<div v-if="merData.is_goods == 1"> <div v-if="merData.is_goods == 1">
@ -120,13 +122,14 @@
</div> </div>
</div> </div>
</div> </div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(40)">提交转账信息</el-button>
</div> </div>
<!--已支付--> <!--已支付-->
<div v-if="merData.is_margin == 10 " class="margin_main"> <div v-if="merData.is_margin == 10 " class="margin_main">
<span class="basic-label">店铺保证金</span> <span class="basic-label">店铺保证金</span>
<span class="margin_price">{{ merData.margin }}</span> <span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count"> <div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看保证金记录</span> <span class="mr10 spanBtn" @click="viewRecords">查看转账记录</span>
<!--保证金弹窗--> <!--保证金弹窗-->
<div class="margin_modal" @mouseleave="supplyPay=false"> <div class="margin_modal" @mouseleave="supplyPay=false">
<div> <div>
@ -147,20 +150,91 @@
<div> <div>
<!-- <vue-qr class="bicode" :text="goodsQrcode" :size="310" /> --> <!-- <vue-qr class="bicode" :text="goodsQrcode" :size="310" /> -->
<!-- <div class="pay_type">请使用微信扫码支付</div> --> <!-- <div class="pay_type">请使用微信扫码支付</div> -->
<div class="pay_price">{{ merData.margin }}</div> <div class="pay_price">{{ marginNumber }}</div>
<div class="pay_time">支付账户名称 {{ merData.bank_info.bank_account_name }}</div> <div class="pay_time">支付账户名称 {{ merData.bank_info.bank_account_name }}</div>
<div class="pay_time">开户银行 {{ merData.bank_info.bank_name }}</div> <div class="pay_time">开户银行 {{ merData.bank_info.bank_name }}</div>
<div class="pay_time">银行卡号 {{ merData.bank_info.bank_account_code }}</div> <div class="pay_time">银行卡号 {{ merData.bank_info.bank_account_code }}</div>
</div> </div>
</div> </div>
</div> </div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(10)">提交转账信息</el-button>
</div>
</div>
<!-- 技术服务费 -->
<div v-if="merData.is_service == 10 " class="margin_main">
<span class="basic-label">技术服务费</span>
<span class="margin_price">{{ merData.service_cost }}</span>
<div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看转账记录</span>
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="supplyPay=false">
<div>
<img src="@/assets/images/margin03.png">
<div class="alic">
<span class="text_g">剩余保证金{{ merData.service_cost }}</span>
</div>
</div>
</div>
</div>
<div v-if="merData.serviceStatus" style="display: inline-block;">
<div class="margin_count" @mouseenter="getCode('all')">
<el-button type="text" size="small" class="mr10 pay_btn">去补缴保证金</el-button>
<!--支付二维码-->
<div class="erweima">
<div class="pay_title">对公账户</div>
<div>
<!-- <vue-qr class="bicode" :text="goodsQrcode" :size="310" /> -->
<!-- <div class="pay_type">请使用微信扫码支付</div> -->
<div class="pay_price">{{ serviceNumber }}</div>
<div class="pay_time">支付账户名称 {{ merData.bank_info.bank_account_name }}</div>
<div class="pay_time">开户银行 {{ merData.bank_info.bank_name }}</div>
<div class="pay_time">银行卡号 {{ merData.bank_info.bank_account_code }}</div>
</div>
</div>
</div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(30)">提交转账信息</el-button>
</div>
</div>
<!-- 上架费 -->
<div v-if="merData.is_goods == 10 " class="margin_main">
<span class="basic-label">上架费</span>
<span class="margin_price">{{ merData.goods_cost }}</span>
<div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看转账记录</span>
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="supplyPay=false">
<div>
<img src="@/assets/images/margin03.png">
<div class="alic">
<span class="text_g">剩余保证金{{ merData.goods_cost }}</span>
</div>
</div>
</div>
</div>
<div v-if="merData.goodsStatus" style="display: inline-block;">
<div class="margin_count" @mouseenter="getCode('all')">
<el-button type="text" size="small" class="mr10 pay_btn">去补缴保证金</el-button>
<!--支付二维码-->
<div class="erweima">
<div class="pay_title">对公账户</div>
<div>
<!-- <vue-qr class="bicode" :text="goodsQrcode" :size="310" /> -->
<!-- <div class="pay_type">请使用微信扫码支付</div> -->
<div class="pay_price">{{ goodsNumber }}</div>
<div class="pay_time">支付账户名称 {{ merData.bank_info.bank_account_name }}</div>
<div class="pay_time">开户银行 {{ merData.bank_info.bank_name }}</div>
<div class="pay_time">银行卡号 {{ merData.bank_info.bank_account_code }}</div>
</div>
</div>
</div>
<el-button type="success" size="small" class="mr10 pay_btn" @click="handleTransfer(40)">提交转账信息</el-button>
</div> </div>
</div> </div>
<div v-if="merData.is_margin == -10 || merData.is_margin == -1" class="margin_main"> <div v-if="merData.is_margin == -10 || merData.is_margin == -1" class="margin_main">
<span class="basic-label">店铺保证金</span> <span class="basic-label">店铺保证金</span>
<span class="margin_price">{{ merData.margin }}</span> <span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count"> <div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看保证金记录</span> <span class="mr10 spanBtn" @click="viewRecords">查看转账记录</span>
<!--保证金弹窗--> <!--保证金弹窗-->
<div class="margin_modal" @mouseleave="goPay=false"> <div class="margin_modal" @mouseleave="goPay=false">
<div> <div>
@ -254,7 +328,7 @@
<div class="trip">建议尺寸120*120px</div> <div class="trip">建议尺寸120*120px</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item class="form-item" label="店铺街背景图:"> <!-- <el-form-item class="form-item" label="店铺街背景图:">
<div class="upLoadPicBox" @click="modalPicTap('3')"> <div class="upLoadPicBox" @click="modalPicTap('3')">
<div v-if="merData.mini_banner" class="pictrue"> <div v-if="merData.mini_banner" class="pictrue">
<img :src="merData.mini_banner"> <img :src="merData.mini_banner">
@ -264,8 +338,8 @@
</div> </div>
<div class="trip">建议尺寸710*134px或710*460px(请根据平台要求选择尺寸此图如未上传默认展示店铺背景图)</div> <div class="trip">建议尺寸710*134px或710*460px(请根据平台要求选择尺寸此图如未上传默认展示店铺背景图)</div>
</div> </div>
</el-form-item> </el-form-item> -->
<el-form-item class="form-item" label="店铺资质" :prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''"> <el-form-item class="form-item" label="企业营业执照" :prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''">
<div class="upLoadPicBox_qualification"> <div class="upLoadPicBox_qualification">
<div v-for="(item, index) in uploadedQualifications" :key="index" class="uploadpicBox_list"> <div v-for="(item, index) in uploadedQualifications" :key="index" class="uploadpicBox_list">
<div class="uploadpicBox_list_image"> <div class="uploadpicBox_list_image">
@ -382,12 +456,12 @@
<el-radio :label="1">拨打电话</el-radio> <el-radio :label="1">拨打电话</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="客服电话:"> <el-form-item label="客服电话:" prop="service_phone">
<el-input v-model="merData.service_phone" type="number" /> <el-input v-model="merData.service_phone" type="number" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <!-- <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="商户地址:" prop="mer_address"> <el-form-item label="商户地址:" prop="mer_address">
<el-input v-model="merData.mer_address" enter-button="查找位置" placeholder="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)"> <el-input v-model="merData.mer_address" enter-button="查找位置" placeholder="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)">
@ -398,7 +472,7 @@
</el-row> </el-row>
<div style="width: 460px;margin-left: 150px;"> <div style="width: 460px;margin-left: 150px;">
<Maps v-if="mapKey" ref="mapChild" class="map-sty" :map-key="mapKey" :lat="Number(merData.lat || 34.34127)" :lon="Number(merData.long || 108.93984)" :address="merData.mer_address" @getCoordinates="getCoordinates" /> <Maps v-if="mapKey" ref="mapChild" class="map-sty" :map-key="mapKey" :lat="Number(merData.lat || 34.34127)" :lon="Number(merData.long || 108.93984)" :address="merData.mer_address" @getCoordinates="getCoordinates" />
</div> </div> -->
<el-form-item /> <el-form-item />
</el-form> </el-form>
</div> </div>
@ -491,7 +565,7 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com> // | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
import { serviceCodeApi,goodsCodeApi,storeGetInfoApi, marginCode, marginMakeCode, marginRecordLst, marginRefund, marginRefundApply } from '@/api/setting' import { serviceCodeApi,goodsCodeApi,storeGetInfoApi, marginCode, marginMakeCode, marginRecordLst, marginRefund, marginRefundApply,offlinePayApi } from '@/api/setting'
import { getBaseInfo, merchantUpdate } from '@/api/user.js' import { getBaseInfo, merchantUpdate } from '@/api/user.js'
import Maps from '@/components/map/map.vue' import Maps from '@/components/map/map.vue'
@ -628,6 +702,7 @@ export default {
{ value: '2', name: '快递配送' } { value: '2', name: '快递配送' }
], ],
rules: { rules: {
service_phone:[{required: true,validator: checkPhone,trigger: 'blur'}],
mer_banner: [{ required: true, message: '请上传店铺banner' }], mer_banner: [{ required: true, message: '请上传店铺banner' }],
mer_avatar: [{ required: true, message: '请上传店铺头像' }], mer_avatar: [{ required: true, message: '请上传店铺头像' }],
mer_info: [{ required: true, message: '请输入商户简介', trigger: 'blur' }, mer_info: [{ required: true, message: '请输入商户简介', trigger: 'blur' },
@ -672,6 +747,15 @@ export default {
computed: { computed: {
fileUrl() { fileUrl() {
return SettingMer.https + `/upload/certificate` return SettingMer.https + `/upload/certificate`
},
marginNumber(){
return this.merData.ot_margin-this.merData.margin
},
serviceNumber(){
return this.merData.ot_service_cost-this.merData.service_cost
},
goodsNumber(){
return this.merData.ot_goods_cost-this.merData.goods_cost
} }
}, },
watch: { watch: {
@ -704,6 +788,9 @@ export default {
this.getInfo() this.getInfo()
}, },
methods: { methods: {
handleTransfer(id){
this.$modalForm(offlinePayApi(id)).then(() => this.getInfo())
},
// //
onchangeTime1(e) { onchangeTime1(e) {
this.value1 = e this.value1 = e
@ -757,6 +844,8 @@ export default {
that.merData.mer_take_status = info.mer_take_status || 0 that.merData.mer_take_status = info.mer_take_status || 0
that.merData.refundMarginOrder = info.refundMarginOrder that.merData.refundMarginOrder = info.refundMarginOrder
that.merData.marginStatus = info.ot_margin > info.margin that.merData.marginStatus = info.ot_margin > info.margin
that.merData.serviceStatus = info.ot_service_cost > info.service_cost
that.merData.goodsStatus = info.ot_goods_cost > info.goods_cost
this.merModel = true this.merModel = true
if (res.data.mer_certificate instanceof Array) { if (res.data.mer_certificate instanceof Array) {
res.data.mer_certificate.forEach((item) => { res.data.mer_certificate.forEach((item) => {