Merge branch 'master' of https://gitea.lihaink.cn/mkm/new_shop_mer
This commit is contained in:
commit
d3df8a1321
@ -2,3 +2,5 @@ build/*.js
|
||||
src/assets
|
||||
public
|
||||
dist
|
||||
views/
|
||||
views
|
||||
|
@ -37,7 +37,8 @@ module.exports = {
|
||||
'camelcase': [0, {
|
||||
'properties': 'always'
|
||||
}],
|
||||
'comma-dangle': [2, 'never'],
|
||||
// 'comma-dangle': [2, 'never'],
|
||||
'comma-dangle': "off",
|
||||
'comma-spacing': [2, {
|
||||
'before': false,
|
||||
'after': true
|
||||
|
@ -53,6 +53,7 @@
|
||||
"file-saver": "2.0.1",
|
||||
"fuse.js": "3.4.4",
|
||||
"html2canvas": "^1.1.0",
|
||||
"jquery": "^3.7.1",
|
||||
"js-cookie": "2.2.0",
|
||||
"jsonlint": "1.6.3",
|
||||
"jszip": "3.2.1",
|
||||
@ -69,8 +70,8 @@
|
||||
"screenfull": "4.2.0",
|
||||
"showdown": "1.9.0",
|
||||
"sortablejs": "^1.15.0",
|
||||
"view-design": "^4.3.2",
|
||||
"v-viewer": "^1.5.1",
|
||||
"view-design": "^4.3.2",
|
||||
"vue": "2.6.10",
|
||||
"vue-awesome-swiper": "^3.1.3",
|
||||
"vue-count-to": "1.0.13",
|
||||
|
@ -142,6 +142,35 @@ export function categorySelectApi() {
|
||||
return request.get(`store/category/select`)
|
||||
}
|
||||
|
||||
|
||||
/**mer/store/category/topList
|
||||
* @description 商品列表 -- 新商户分类
|
||||
*/
|
||||
export function newCategorySelectApi() {
|
||||
return request.get(`store/category/topList`)
|
||||
}
|
||||
|
||||
/**mer/store/category/topList
|
||||
* @description 商品导入到云商城
|
||||
*/
|
||||
export function importApi(data) {
|
||||
return request.post(`store/product/import`, data)
|
||||
}
|
||||
|
||||
/**mer/store/category/topList
|
||||
* @description 删除云商品
|
||||
*/
|
||||
export function deleteProductCloudApi(data) {
|
||||
return request.post(`store/product/delCloudProduct`, data)
|
||||
}
|
||||
|
||||
/**mer/store/category/topList
|
||||
* @description 云商城列表
|
||||
*/
|
||||
export function cloudProductListApi(data) {
|
||||
return request.get(`store/product/cloudProductList`, data)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 商品列表 -- 平台分类
|
||||
*/
|
||||
|
@ -54,6 +54,7 @@ import * as filters from "./filters"; // global filters modalTemplates
|
||||
import notice from "@/libs/notice"; // global filters
|
||||
import guidancePop from "@/components/guidancePop";
|
||||
import { getToken } from "./utils/auth";
|
||||
|
||||
Vue.prototype.bus = new Vue();
|
||||
Vue.use(uploadPicture);
|
||||
Vue.use(FormCreate);
|
||||
|
@ -82,6 +82,15 @@ const productRouter =
|
||||
},
|
||||
component: () => import('@/views/product/specs/list.vue')
|
||||
},
|
||||
{
|
||||
path: 'cloud',
|
||||
name: 'productCloud',
|
||||
meta: {
|
||||
title: '云商品列表',
|
||||
noCache: true,
|
||||
},
|
||||
component: () => import('@/views/product/cloud/index.vue')
|
||||
},
|
||||
{
|
||||
path: 'specs/create/:id?',
|
||||
name: 'ProductSpecsCreate',
|
||||
|
@ -1,16 +1,9 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<form-create
|
||||
v-if="FormData"
|
||||
ref="fc"
|
||||
v-loading="loading"
|
||||
:option="option"
|
||||
:rule="FormData.rule"
|
||||
class="formBox"
|
||||
handle-icon="false"
|
||||
@submit="onSubmit"
|
||||
/>
|
||||
<form-create v-model:api="fapi" v-if="FormData" ref="fc" v-loading="loading" :option="option"
|
||||
:rule="FormData.rule" class="formBox" handle-icon="false" @submit="onSubmit">
|
||||
</form-create>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
@ -28,17 +21,23 @@
|
||||
import formCreate from '@form-create/element-ui'
|
||||
import { paymentTypeApi } from '@/api/accounts'
|
||||
import request from '@/api/request'
|
||||
import { roterPre } from '@/settings'
|
||||
import { roterPre } from '@/settings';
|
||||
|
||||
export default {
|
||||
name: 'payType',
|
||||
data() {
|
||||
return {
|
||||
fapi: {},
|
||||
option: {
|
||||
form: {
|
||||
labelWidth: '150px'
|
||||
},
|
||||
global: {
|
||||
'*': {
|
||||
props: {
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
upload: {
|
||||
props: {
|
||||
onSuccess(rep, file) {
|
||||
@ -48,7 +47,10 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
submitBtn: {
|
||||
show: true,
|
||||
},
|
||||
},
|
||||
FormData: null,
|
||||
loading: false,
|
||||
@ -70,13 +72,32 @@ export default {
|
||||
mounted() {
|
||||
this.getFrom();
|
||||
|
||||
|
||||
setTimeout(() => {
|
||||
console.log(this.$refs.fc)
|
||||
}, 2000);
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 为了隐藏提交按钮
|
||||
getDomInfo() {
|
||||
var labels = document.getElementsByTagName("label");
|
||||
for (let i = 0; i < labels.length; i++) {
|
||||
let label = labels[i];
|
||||
if (label.innerText == '审核通过' && label.className.indexOf("is-checked") > -1) {
|
||||
this.option.submitBtn.show = false;
|
||||
} else if (label.innerText != '审核通过' && label.className.indexOf("is-checked") > -1) {
|
||||
this.option.submitBtn.show = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setTagsViewTitle() {
|
||||
this.deepTraversal(this.menuList, "children");
|
||||
const route = Object.assign({}, this.tempRoute, { title: this.titles });
|
||||
this.$store.dispatch("tagsView/updateVisitedView", route);
|
||||
},
|
||||
|
||||
deepTraversal(arr, child) {
|
||||
const that = this;
|
||||
function traversal(a) {
|
||||
@ -96,11 +117,25 @@ export default {
|
||||
|
||||
traversal(arr);
|
||||
},
|
||||
|
||||
changes() {
|
||||
this.getDomInfo();
|
||||
},
|
||||
|
||||
getFrom() {
|
||||
this.loading = true
|
||||
paymentTypeApi().then(async res => {
|
||||
this.FormData = res.data
|
||||
this.loading = false
|
||||
this.FormData = res.data;
|
||||
this.FormData.rule[0] = {
|
||||
...this.FormData.rule[0],
|
||||
on: {
|
||||
change: this.changes
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.$nextTick(() => {
|
||||
this.getDomInfo();
|
||||
})
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message)
|
||||
this.loading = false
|
||||
@ -118,6 +153,10 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
<style lang="scss">
|
||||
.divBox {
|
||||
.el-select--medium {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
File diff suppressed because it is too large
Load Diff
1080
src/views/product/cloud/index.vue
Normal file
1080
src/views/product/cloud/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,10 +3,12 @@
|
||||
<div class="selCard">
|
||||
<el-form :model="tableFrom" ref="searchForm" size="small" label-width="95px" :inline="true">
|
||||
<el-form-item label="平台分类:" prop="cate_id">
|
||||
<el-cascader v-model="tableFrom.cate_id" class="selWidth" :options="categoryList" :props="props" clearable @change="getList(1)" />
|
||||
<el-cascader v-model="tableFrom.cate_id" class="selWidth" :options="categoryList" :props="props" clearable
|
||||
@change="getList(1)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商户分类:" prop="mer_cate_id">
|
||||
<el-select v-model="tableFrom.mer_cate_id" placeholder="请选择" class="filter-item selWidth" clearable @change="getList(1)">
|
||||
<el-select v-model="tableFrom.mer_cate_id" placeholder="请选择" class="filter-item selWidth" clearable
|
||||
@change="getList(1)">
|
||||
<el-option v-for="item in merCateList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -17,73 +19,45 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="会员价:" prop="svip_price_type">
|
||||
<el-select v-model="tableFrom.svip_price_type" placeholder="请选择" class="selWidth" clearable @change="getList(1)">
|
||||
<el-select v-model="tableFrom.svip_price_type" placeholder="请选择" class="selWidth" clearable
|
||||
@change="getList(1)">
|
||||
<el-option label="未设置" value="0" />
|
||||
<el-option label="默认设置" value="1" />
|
||||
<el-option label="自定义设置" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品状态:" prop="us_status">
|
||||
<el-select v-model="tableFrom.us_status" placeholder="请选择" class="filter-item selWidth" clearable @change="getList">
|
||||
<el-select v-model="tableFrom.us_status" placeholder="请选择" class="filter-item selWidth" clearable
|
||||
@change="getList">
|
||||
<el-option v-for="item in productStatusList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签:" prop="mer_labels">
|
||||
<el-select
|
||||
v-model="tableFrom.mer_labels"
|
||||
placeholder="请选择"
|
||||
class="filter-item selWidth"
|
||||
clearable
|
||||
filterable
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in labelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-select v-model="tableFrom.mer_labels" placeholder="请选择" class="filter-item selWidth" clearable filterable
|
||||
@change="getList(1)">
|
||||
<el-option v-for="item in labelList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="运费模板:" prop="temp_id">
|
||||
<el-select
|
||||
v-model="tableFrom.temp_id"
|
||||
placeholder="请选择"
|
||||
class="filter-item selWidth"
|
||||
clearable
|
||||
filterable
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in tempList"
|
||||
:key="item.shipping_template_id"
|
||||
:label="item.name"
|
||||
:value="item.shipping_template_id"
|
||||
/>
|
||||
<el-select v-model="tableFrom.temp_id" placeholder="请选择" class="filter-item selWidth" clearable filterable
|
||||
@change="getList(1)">
|
||||
<el-option v-for="item in tempList" :key="item.shipping_template_id" :label="item.name"
|
||||
:value="item.shipping_template_id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="系统表单:" prop="form_id">
|
||||
<el-select
|
||||
v-model="tableFrom.form_id"
|
||||
placeholder="请选择"
|
||||
class="filter-item selWidth"
|
||||
clearable
|
||||
filterable
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in formList"
|
||||
:key="item.form_id"
|
||||
:label="item.name"
|
||||
:value="item.form_id"
|
||||
/>
|
||||
<el-select v-model="tableFrom.form_id" placeholder="请选择" class="filter-item selWidth" clearable filterable
|
||||
@change="getList(1)">
|
||||
<el-option v-for="item in formList" :key="item.form_id" :label="item.name" :value="item.form_id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字:" prop="keyword">
|
||||
<el-input v-model="tableFrom.keyword" placeholder="请输入商品名称,关键字" class="selWidth" clearable @keyup.enter.native="getList(1)" />
|
||||
<el-input v-model="tableFrom.keyword" placeholder="请输入商品名称,关键字" class="selWidth" clearable
|
||||
@keyup.enter.native="getList(1)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商品类型:" prop="is_ficti">
|
||||
<el-select v-model="tableFrom.is_ficti" placeholder="请选择" class="filter-item selWidth" clearable @change="getList(1)">
|
||||
<el-select v-model="tableFrom.is_ficti" placeholder="请选择" class="filter-item selWidth" clearable
|
||||
@change="getList(1)">
|
||||
<el-option v-for="item in productTypeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -95,38 +69,46 @@
|
||||
</div>
|
||||
<el-card class="mt14">
|
||||
<el-tabs v-model="tableFrom.type" @tab-click="getProduct">
|
||||
<el-tab-pane v-for="(item,index) in headeNum" :key="index" :name="item.type.toString()" :label="item.name +'('+item.count +')' " />
|
||||
<el-tab-pane v-for="(item, index) in headeNum" :key="index" :name="item.type.toString()"
|
||||
:label="item.name + '(' + item.count + ')'" />
|
||||
</el-tabs>
|
||||
<div class="mt5 mb14">
|
||||
<router-link :to="{ path: `${roterPre}` + '/product/list/addProduct' }" class="mr10">
|
||||
<el-button size="small" type="primary">添加商品</el-button>
|
||||
</router-link>
|
||||
<el-button size="small" type="success" @click="onCopy">商品采集</el-button>
|
||||
<el-button size="small" :disabled="checkedIds.length == 0 && !allCheck" type="default" @click="openBatch">批量设置</el-button>
|
||||
<el-button size="small" :disabled="tableFrom.type != 1 || checkedIds.length == 0 && !allCheck" @click="batchOff">批量下架</el-button>
|
||||
<el-button size="small" :disabled="tableFrom.type != 2 || checkedIds.length == 0 && !allCheck" @click="batchShelf">批量上架</el-button>
|
||||
<el-button size="small" :disabled="checkedIds.length == 0 && !allCheck" type="default"
|
||||
@click="openBatch">批量设置</el-button>
|
||||
<el-button size="small" :disabled="tableFrom.type != 1 || checkedIds.length == 0 && !allCheck"
|
||||
@click="batchOff">批量下架</el-button>
|
||||
<el-button size="small" :disabled="tableFrom.type != 2 || checkedIds.length == 0 && !allCheck"
|
||||
@click="batchShelf">批量上架</el-button>
|
||||
<el-button size="small" @click="joinCloud">加入云商品</el-button>
|
||||
</div>
|
||||
<el-alert v-if="checkedIds.length>0 || allCheck" :title="allCheck ? `已选择 ${tableData.total} 项` : `已选择 ${checkedIds.length} 项`" type="info" show-icon class="mb10" />
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
size="small"
|
||||
:row-class-name="tableRowClassName"
|
||||
:row-key="(row) => { return row.product_id }"
|
||||
@selection-change="handleSelectionChange"
|
||||
<el-alert v-if="checkedIds.length > 0 || allCheck"
|
||||
:title="allCheck ? `已选择 ${tableData.total} 项` : `已选择 ${checkedIds.length} 项`" type="info" show-icon
|
||||
class="mb10" />
|
||||
<el-table v-loading="listLoading" :data="tableData.data" size="small" :row-class-name="tableRowClassName"
|
||||
:row-key="(row) => { return row.product_id }" @selection-change="handleSelectionChange"
|
||||
@rowclick.stop="closeEdit">
|
||||
<el-table-column width="50">
|
||||
<template slot="header" slot-scope="scope">
|
||||
<el-popover placement="top-start" width="100" trigger="hover" class="tabPop">
|
||||
<div>
|
||||
<span class="spBlock onHand" :class="{'check': chkName === 'dan'}" @click="onHandle('dan',scope.$index)">选中本页</span>
|
||||
<span class="spBlock onHand" :class="{'check': chkName === 'duo'}" @click="onHandle('duo')">选中全部</span>
|
||||
<span class="spBlock onHand" :class="{ 'check': chkName === 'dan' }"
|
||||
@click="onHandle('dan', scope.$index)">选中本页</span>
|
||||
<span class="spBlock onHand" :class="{ 'check': chkName === 'duo' }"
|
||||
@click="onHandle('duo')">选中全部</span>
|
||||
</div>
|
||||
<el-checkbox slot="reference" :value="(chkName === 'dan' && checkedPage.indexOf(tableFrom.page) > -1) || chkName === 'duo'" @change="changeType" />
|
||||
<el-checkbox slot="reference"
|
||||
:value="(chkName === 'dan' && checkedPage.indexOf(tableFrom.page) > -1) || chkName === 'duo'"
|
||||
@change="changeType" />
|
||||
</el-popover>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-checkbox :disabled="scope.row.cancel_time" :value="!scope.row.cancel_time && (checkedIds.indexOf(scope.row.product_id) > -1 || (chkName === 'duo' && noChecked.indexOf(scope.row.product_id) === -1))" @change="(v)=>changeOne(v,scope.row)" />
|
||||
<el-checkbox :disabled="scope.row.cancel_time"
|
||||
:value="!scope.row.cancel_time && (checkedIds.indexOf(scope.row.product_id) > -1 || (chkName === 'duo' && noChecked.indexOf(scope.row.product_id) === -1))"
|
||||
@change="(v) => changeOne(v, scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column type="expand">
|
||||
@ -137,7 +119,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="商品分类:">
|
||||
<template v-if="props.row.merCateId.length">
|
||||
<span v-for="(item, index) in props.row.merCateId" :key="index" class="mr10">{{ item.category.cate_name }}</span>
|
||||
<span v-for="(item, index) in props.row.merCateId" :key="index" class="mr10">{{
|
||||
item.category.cate_name }}</span>
|
||||
</template>
|
||||
<span v-else>-</span>
|
||||
</el-form-item>
|
||||
@ -169,7 +152,8 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="store_name" label="商品名称" min-width="230">
|
||||
<template slot-scope="scope">
|
||||
<div><span class="tags_name" :class="'name'+scope.row.spec_type">{{ scope.row.spec_type==0 ? '[单规格]' : '[多规格]' }}</span>{{ scope.row.store_name || '-' }}</div>
|
||||
<div><span class="tags_name" :class="'name' + scope.row.spec_type">{{ scope.row.spec_type == 0 ? '[单规格]' :
|
||||
'[多规格]' }}</span>{{ scope.row.store_name || '-' }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="price" label="商品售价" min-width="80" />
|
||||
@ -178,14 +162,16 @@
|
||||
<el-table-column prop="sort" align="center" label="排序" min-width="80">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.index === tabClickIndex">
|
||||
<el-input v-model.number="scope.row['sort']" type="number" maxlength="300" size="mini" autofocus @blur="inputBlur(scope)" />
|
||||
<el-input v-model.number="scope.row['sort']" type="number" maxlength="300" size="mini" autofocus
|
||||
@blur="inputBlur(scope)" />
|
||||
</span>
|
||||
<span v-else @dblclick.stop="tabClick(scope.row)">{{ scope.row['sort'] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="Number(tableFrom.type) < 5" key="1" prop="status" label="上/下架" min-width="90">
|
||||
<template slot-scope="scope">
|
||||
<el-switch v-model="scope.row.is_show" :active-value="1" :inactive-value="0" :width="55" active-text="上架" inactive-text="下架" @change="onchangeIsShow(scope.row)" />
|
||||
<el-switch v-model="scope.row.is_show" :active-value="1" :inactive-value="0" :width="55" active-text="上架"
|
||||
inactive-text="下架" @change="onchangeIsShow(scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="stock" label="商品状态" min-width="90">
|
||||
@ -196,36 +182,46 @@
|
||||
<el-table-column label="操作" min-width="150" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" class="mr10" @click="onDetails(scope.row.product_id)">详情</el-button>
|
||||
<router-link v-if="tableFrom.type != 5" :to="{path: roterPre + '/product/list/addProduct/' + scope.row.product_id}">
|
||||
<router-link v-if="tableFrom.type != 5"
|
||||
:to="{ path: roterPre + '/product/list/addProduct/' + scope.row.product_id }">
|
||||
<el-button type="text" size="small" class="mr10">编辑</el-button>
|
||||
</router-link>
|
||||
<el-button v-if="tableFrom.type !== '5'" type="text" size="small" class="mr10" @click="handlePreview(scope.row.product_id)">预览</el-button>
|
||||
<el-button v-if="tableFrom.type !== '5'" type="text" size="small" class="mr10"
|
||||
@click="handlePreview(scope.row.product_id)">预览</el-button>
|
||||
<el-dropdown>
|
||||
<span class="el-dropdown-link">
|
||||
更多<i class="el-icon-arrow-down el-icon--right" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-if="tableFrom.type !== '5' && is_audit == '1'" @click.native="onAuditFree(scope.row)">免审编辑</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type !== '5' && is_audit == '1'"
|
||||
@click.native="onAuditFree(scope.row)">免审编辑</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type != 5">
|
||||
<router-link :to="{path: roterPre + '/product/list/addProduct/' + scope.row.product_id+'?type=copy'}">
|
||||
<router-link
|
||||
:to="{ path: roterPre + '/product/list/addProduct/' + scope.row.product_id + '?type=copy' }">
|
||||
复制商品
|
||||
</router-link>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type !== '5'" @click.native="onEditLabel(scope.row)">编辑标签</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type !== '5'"
|
||||
@click.native="onEditLabel(scope.row)">编辑标签</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type != 5">
|
||||
<router-link :to="{ path: roterPre + '/product/reviews/?product_id=' + scope.row.product_id }">
|
||||
查看评价
|
||||
</router-link>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type !== '1' && tableFrom.type!== '3' && tableFrom.type !=='4'" @click.native="handleDelete(scope.row.product_id, scope.$index)">{{ tableFrom.type === '5' ? '删除' : '加入回收站' }}</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type === '5'" @click.native="handleRestore(scope.row.product_id)">恢复商品</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type !== '1' && tableFrom.type !== '3' && tableFrom.type !== '4'"
|
||||
@click.native="handleDelete(scope.row.product_id, scope.$index)">{{ tableFrom.type === '5' ? '删除' :
|
||||
'加入回收站' }}</el-dropdown-item>
|
||||
<el-dropdown-item v-if="tableFrom.type === '5'"
|
||||
@click.native="handleRestore(scope.row.product_id)">恢复商品</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination background :page-size="tableFrom.limit" :current-page="tableFrom.page" background layout="total, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange" @current-change="pageChange" />
|
||||
<el-pagination background :page-size="tableFrom.limit" :current-page="tableFrom.page"
|
||||
layout="total, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
|
||||
@current-change="pageChange" />
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 生成淘宝京东表单-->
|
||||
@ -233,25 +229,15 @@
|
||||
<!--预览商品-->
|
||||
<div v-if="previewVisible">
|
||||
<div class="bg" @click.stop="previewVisible = false" />
|
||||
<preview-box v-if="previewVisible" ref="previewBox" :goods-id="goodsId" :product-type="0" :preview-key="previewKey" />
|
||||
<preview-box v-if="previewVisible" ref="previewBox" :goods-id="goodsId" :product-type="0"
|
||||
:preview-key="previewKey" />
|
||||
</div>
|
||||
<!--编辑标签-->
|
||||
<el-dialog
|
||||
v-if="dialogLabel"
|
||||
title="选择标签"
|
||||
:visible.sync="dialogLabel"
|
||||
width="470px"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<el-dialog v-if="dialogLabel" title="选择标签" :visible.sync="dialogLabel" width="470px" :before-close="handleClose">
|
||||
<el-form ref="labelForm" :model="labelForm" @submit.native.prevent size="small">
|
||||
<el-form-item>
|
||||
<el-select v-model="labelForm.mer_labels" clearable multiple placeholder="请选择" class="width100">
|
||||
<el-option
|
||||
v-for="item in labelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id.toString()"
|
||||
/>
|
||||
<el-option v-for="item in labelList" :key="item.id" :label="item.name" :value="item.id.toString()" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -263,22 +249,13 @@
|
||||
<!-- 免审核弹窗-->
|
||||
<edit-attr ref="editAttr" />
|
||||
<!--运费模板弹窗-->
|
||||
<el-dialog
|
||||
v-if="dialogFreight"
|
||||
title="选择运费模板"
|
||||
:visible.sync="dialogFreight"
|
||||
width="800px"
|
||||
:before-close="handleFreightClose"
|
||||
>
|
||||
<el-dialog v-if="dialogFreight" title="选择运费模板" :visible.sync="dialogFreight" width="800px"
|
||||
:before-close="handleFreightClose">
|
||||
<el-form ref="tempForm" :model="tempForm" :rules="tempRule" @submit.native.prevent>
|
||||
<el-form-item prop="temp_id">
|
||||
<el-select v-model="tempForm.temp_id" clearable placeholder="请选择" class="selWidth">
|
||||
<el-option
|
||||
v-for="item in tempList"
|
||||
:key="item.shipping_template_id"
|
||||
:label="item.name"
|
||||
:value="item.shipping_template_id"
|
||||
/>
|
||||
<el-option v-for="item in tempList" :key="item.shipping_template_id" :label="item.name"
|
||||
:value="item.shipping_template_id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -287,18 +264,15 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--批量设置佣金弹窗-->
|
||||
<el-dialog
|
||||
v-if="dialogCommision"
|
||||
title="设置佣金"
|
||||
:visible.sync="dialogCommision"
|
||||
width="600px"
|
||||
>
|
||||
<el-dialog v-if="dialogCommision" title="设置佣金" :visible.sync="dialogCommision" width="600px">
|
||||
<el-form ref="commisionForm" :model="commisionForm" :rules="commisionRule" @submit.native.prevent>
|
||||
<el-form-item label="一级佣金比例:" prop="extension_one">
|
||||
<el-input-number v-model="commisionForm.extension_one" :precision="2" :step="0.1" :min="0" :max="1" class="priceBox" controls-position="right"/>
|
||||
<el-input-number v-model="commisionForm.extension_one" :precision="2" :step="0.1" :min="0" :max="1"
|
||||
class="priceBox" controls-position="right" />
|
||||
</el-form-item>
|
||||
<el-form-item label="二级佣金比例:" prop="extension_two">
|
||||
<el-input-number v-model="commisionForm.extension_two" :precision="2" :step="0.1" :min="0" :max="1" class="priceBox" controls-position="right"/>
|
||||
<el-input-number v-model="commisionForm.extension_two" :precision="2" :step="0.1" :min="0" :max="1"
|
||||
class="priceBox" controls-position="right" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<span>备注:订单交易成功后给上级返佣的比例,例:0.5 = 返订单金额的50%</span>
|
||||
@ -309,23 +283,18 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--批量设置付费会员价-->
|
||||
<el-dialog
|
||||
v-if="dialogSvip"
|
||||
title="批量设置付费会员价"
|
||||
:visible.sync="dialogSvip"
|
||||
width="700px"
|
||||
>
|
||||
<el-dialog v-if="dialogSvip" title="批量设置付费会员价" :visible.sync="dialogSvip" width="700px">
|
||||
<el-form ref="svipForm" :model="svipForm" @submit.native.prevent label-width="80px">
|
||||
<el-form-item
|
||||
label="参与方式:"
|
||||
>
|
||||
<el-form-item label="参与方式:">
|
||||
<el-radio-group v-model="svipForm.svip_price_type">
|
||||
<el-radio :label="0" class="radio">不设置会员价</el-radio>
|
||||
<el-radio :label="1" class="radio">默认设置会员价</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
备注:默认设置会员价是指商户在 <router-link :to="{path: roterPre + '/systemForm/Basics/svip'}" class="member-link"> [设置-付费会员设置] </router-link> 中设置的会员折扣价,选择后每个商品默认展示此处设置的会员折扣价。
|
||||
备注:默认设置会员价是指商户在 <router-link :to="{ path: roterPre + '/systemForm/Basics/svip' }" class="member-link">
|
||||
[设置-付费会员设置]
|
||||
</router-link> 中设置的会员折扣价,选择后每个商品默认展示此处设置的会员折扣价。
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
@ -333,23 +302,17 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--批量设置弹窗-->
|
||||
<el-dialog
|
||||
v-if="batchModal"
|
||||
title="批量设置"
|
||||
:visible.sync="batchModal"
|
||||
width="750px"
|
||||
>
|
||||
<el-dialog v-if="batchModal" title="批量设置" :visible.sync="batchModal" width="750px">
|
||||
<div>
|
||||
<el-alert
|
||||
title="每次只能修改一项,如需修改多项,请多次操作。"
|
||||
type="warning" :closable="false">
|
||||
<el-alert title="每次只能修改一项,如需修改多项,请多次操作。" type="warning" :closable="false">
|
||||
</el-alert>
|
||||
<div class="batch-tab mt20">
|
||||
<el-tabs :tab-position="tabPosition" v-model="batchName">
|
||||
<el-tab-pane label="商品分类" name="cate">
|
||||
<el-form size="small" label-width="120px" :inline="true">
|
||||
<el-form-item label="平台商品分类:">
|
||||
<el-cascader v-model="batchData.cate_id" :options="categoryList" :props="props" clearable class="width100" />
|
||||
<el-cascader v-model="batchData.cate_id" :options="categoryList" :props="props" clearable
|
||||
class="width100" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
@ -357,12 +320,7 @@
|
||||
<el-form size="small" label-width="120px" :inline="true">
|
||||
<el-form-item label="商品标签:">
|
||||
<el-select v-model="batchData.mer_labels" clearable multiple placeholder="请选择" class="width100">
|
||||
<el-option
|
||||
v-for="item in labelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-option v-for="item in labelList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -371,11 +329,7 @@
|
||||
<el-form size="small" label-width="120px" :inline="true">
|
||||
<el-form-item label="配送方式:">
|
||||
<el-checkbox-group v-model="batchData.delivery_way">
|
||||
<el-checkbox
|
||||
v-for="item in deliveryList"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-checkbox v-for="item in deliveryList" :key="item.value" :label="item.value">
|
||||
{{ item.name }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
@ -393,12 +347,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item v-if="batchData.delivery_free == 0">
|
||||
<el-select v-model="batchData.temp_id" clearable placeholder="请选择" class="width100">
|
||||
<el-option
|
||||
v-for="item in tempList"
|
||||
:key="item.shipping_template_id"
|
||||
:label="item.name"
|
||||
:value="item.shipping_template_id"
|
||||
/>
|
||||
<el-option v-for="item in tempList" :key="item.shipping_template_id" :label="item.name"
|
||||
:value="item.shipping_template_id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -406,10 +356,12 @@
|
||||
<el-tab-pane label="佣金设置" name="commission">
|
||||
<el-form size="small" label-width="120px" :inline="false">
|
||||
<el-form-item label="一级佣金比例:">
|
||||
<el-input-number v-model="batchData.extension_one" :precision="2" :step="0.1" :min="0" :max="1" class="width100" controls-position="right"/>
|
||||
<el-input-number v-model="batchData.extension_one" :precision="2" :step="0.1" :min="0" :max="1"
|
||||
class="width100" controls-position="right" />
|
||||
</el-form-item>
|
||||
<el-form-item label="二级佣金比例:">
|
||||
<el-input-number v-model="batchData.extension_two" :precision="2" :step="0.1" :min="0" :max="1" class="width100" controls-position="right"/>
|
||||
<el-input-number v-model="batchData.extension_two" :precision="2" :step="0.1" :min="0" :max="1"
|
||||
class="width100" controls-position="right" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<span style="color:#909399">备注:订单交易成功后给上级返佣的比例,例:0.5 = 返订单金额的50%</span>
|
||||
@ -418,45 +370,31 @@
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="open_svip == 1" label="付费会员设置" name="member">
|
||||
<el-form label-width="120px">
|
||||
<el-form-item
|
||||
label="参与方式:"
|
||||
>
|
||||
<el-form-item label="参与方式:">
|
||||
<el-radio-group v-model="batchData.svip_price_type">
|
||||
<el-radio :label="0" class="radio">不设置会员价</el-radio>
|
||||
<el-radio :label="1" class="radio">默认设置会员价</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
备注:默认设置会员价是指商户在 <router-link :to="{path: roterPre + '/systemForm/Basics/svip'}" class="member-link"> [设置-付费会员设置] </router-link> 中设置的会员折扣价,选择后每个商品默认展示此处设置的会员折扣价。
|
||||
备注:默认设置会员价是指商户在 <router-link :to="{ path: roterPre + '/systemForm/Basics/svip' }" class="member-link">
|
||||
[设置-付费会员设置] </router-link> 中设置的会员折扣价,选择后每个商品默认展示此处设置的会员折扣价。
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="系统表单" name="sys_form">
|
||||
<el-form label-width="120px">
|
||||
<el-form-item label="系统表单:">
|
||||
<el-select
|
||||
size="small"
|
||||
clearable
|
||||
v-model="batchData.mer_form_id"
|
||||
@change="getFormInfo"
|
||||
class="width100"
|
||||
>
|
||||
<el-option
|
||||
v-for="items in formList"
|
||||
:key="items.form_id"
|
||||
:value="items.form_id"
|
||||
:label="items.name"
|
||||
>{{ items.name }}
|
||||
<el-select size="small" clearable v-model="batchData.mer_form_id" @change="getFormInfo"
|
||||
class="width100">
|
||||
<el-option v-for="items in formList" :key="items.form_id" :value="items.form_id"
|
||||
:label="items.name">{{
|
||||
items.name }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="formData.length > 0">
|
||||
<el-table
|
||||
border
|
||||
class="specsList"
|
||||
:data="formData"
|
||||
size="small"
|
||||
>
|
||||
<el-table border class="specsList" :data="formData" size="small">
|
||||
<el-table-column prop="label" label="表单标题" min-width="100" />
|
||||
<el-table-column prop="type" label="表单类型" min-width="100">
|
||||
<template slot-scope="{row}">
|
||||
@ -482,8 +420,12 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input-number v-model="batchData.price_number" :precision="2" :step="0.1" :min="0" class="width100" controls-position="right"/>
|
||||
<span style="color:#909399">({{ (batchData.price_type=='add' || batchData.price_type=='sub') ? '元' : '%' }})</span>
|
||||
<el-input-number v-model="batchData.price_number" :precision="2" :step="0.1" :min="0" class="width100"
|
||||
controls-position="right" />
|
||||
<span style="color:#909399">({{ (batchData.price_type == 'add' || batchData.price_type == 'sub') ? '元'
|
||||
:
|
||||
'%'
|
||||
}})</span>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<div style="color:#F56464">注:批量设置价格为敏感操作,请谨慎操作!</div>
|
||||
@ -498,14 +440,24 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--商品详情-->
|
||||
<pro-detail
|
||||
ref="proDetail"
|
||||
:productId="product_id"
|
||||
:configData="configData"
|
||||
@closeDrawer="closeDrawer"
|
||||
@changeDrawer="changeDrawer"
|
||||
:drawer="drawer"
|
||||
></pro-detail>
|
||||
<pro-detail ref="proDetail" :productId="product_id" :configData="configData" @closeDrawer="closeDrawer"
|
||||
@changeDrawer="changeDrawer" :drawer="drawer"></pro-detail>
|
||||
|
||||
<el-dialog title="上传云商品" :visible.sync="showShow" width="650px" :before-close="handleClose">
|
||||
<el-form>
|
||||
<el-form-item label="商品分类">
|
||||
<el-select multiple v-model="selectedCategoryIds" style="width:300px;">
|
||||
<el-option v-for="(item, indx) in categoryBox" :label="item.category_name"
|
||||
:value="item.merchant_category_id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="showShow = false">取消</el-button>
|
||||
<el-button size="small" type="primary" @click="submitProduct">提交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -539,7 +491,9 @@ import {
|
||||
productBathSvipApi,
|
||||
associatedFormList,
|
||||
associatedFormInfo,
|
||||
batchSetProduct
|
||||
batchSetProduct,
|
||||
importApi,
|
||||
newCategorySelectApi
|
||||
} from '@/api/product'
|
||||
import { roterPre } from '@/settings'
|
||||
import taoBao from './taoBao'
|
||||
@ -551,6 +505,9 @@ export default {
|
||||
components: { taoBao, previewBox, editAttr, proDetail },
|
||||
data() {
|
||||
return {
|
||||
showShow: false,
|
||||
categoryBox: [],
|
||||
selectedCategoryIds: [],
|
||||
props: {
|
||||
emitPath: false
|
||||
},
|
||||
@ -648,9 +605,41 @@ export default {
|
||||
this.getList(1)
|
||||
this.getLabelLst()
|
||||
this.getTempLst()
|
||||
this.productCon()
|
||||
this.productCon();
|
||||
|
||||
this.getCategory();
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 提交云仓
|
||||
submitProduct() {
|
||||
if (this.selectedCategoryIds.length == 0) return this.$message.error("请至少选择一种分类数据!");
|
||||
importApi({
|
||||
product_ids: this.checkedIds,
|
||||
category_ids: this.selectedCategoryIds
|
||||
}).then(res => {
|
||||
this.$message.success("加入成功!");
|
||||
this.checkedIds = [];
|
||||
this.selectedCategoryIds = [];
|
||||
this.showShow = false;
|
||||
}).catch(err => {
|
||||
this.$message.success(err.message)
|
||||
})
|
||||
},
|
||||
|
||||
// 加入云仓
|
||||
joinCloud() {
|
||||
if (this.checkedIds.length == 0) return this.$message.error("请至少选择一个商品!");
|
||||
this.showShow = true;
|
||||
},
|
||||
|
||||
// 获取分类
|
||||
getCategory() {
|
||||
newCategorySelectApi().then(res => {
|
||||
this.categoryBox = res.data;
|
||||
})
|
||||
},
|
||||
|
||||
/**重置 */
|
||||
searchReset() {
|
||||
this.$refs.searchForm.resetFields()
|
||||
@ -672,6 +661,7 @@ export default {
|
||||
this.closeEdit()
|
||||
})
|
||||
.catch((res) => {
|
||||
|
||||
})
|
||||
},
|
||||
closeEdit() {
|
||||
@ -1180,64 +1170,81 @@ export default {
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.check {
|
||||
color: #00a2d4;
|
||||
}
|
||||
|
||||
.spBlock {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tags_name {
|
||||
font-size: 10px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
padding: 0 2px;
|
||||
margin-right: 2px;
|
||||
|
||||
&.name0 {
|
||||
color: var(--prev-color-primary);
|
||||
}
|
||||
|
||||
&.name1 {
|
||||
color: #FF8A4D;
|
||||
}
|
||||
}
|
||||
|
||||
.member-link {
|
||||
color: var(--prev-color-primary);
|
||||
}
|
||||
|
||||
.goods_detail .goods_detail_wrapper {
|
||||
z-index: -10;
|
||||
}
|
||||
|
||||
::v-deep table.el-input__inner {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.demo-table-expand {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.demo-table-expand1 ::v-deep label {
|
||||
color: #99a9bf;
|
||||
}
|
||||
|
||||
.demo-table-expand .el-form-item {
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.width100 {
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.seachTiele {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
::v-deep .batch-tab .el-tabs__item {
|
||||
padding-left: 0;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.batch-tab .el-tabs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
::v-deep .batch-tab .el-tabs__content {
|
||||
min-width: 560px;
|
||||
}
|
||||
|
@ -44,10 +44,13 @@
|
||||
<div class="basic-information">
|
||||
<div>
|
||||
<span class="basic-label">是否开启商户:</span>
|
||||
<el-tooltip v-if="merData.is_margin == 1 && merData.mer_state == 0" class="item" effect="dark" content="请先支付店铺保证金!" placement="top-start">
|
||||
<el-switch disabled v-model="merData.mer_state" :width="55" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" />
|
||||
<el-tooltip v-if="merData.is_margin == 1 && merData.mer_state == 0" class="item" effect="dark"
|
||||
content="请先支付店铺保证金!" placement="top-start">
|
||||
<el-switch disabled v-model="merData.mer_state" :width="55" active-text="开启" inactive-text="关闭"
|
||||
:active-value="1" :inactive-value="0" />
|
||||
</el-tooltip>
|
||||
<el-switch v-else v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" :width="55" />
|
||||
<el-switch v-else v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1"
|
||||
:inactive-value="0" :width="55" />
|
||||
<span class="trip">开启,店铺即可展示在移动端</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -83,7 +86,8 @@
|
||||
<img src="@/assets/images/margin03.png" />
|
||||
<div class="alic">
|
||||
<span class="text_g">剩余保证金¥{{ merData.margin }}元</span>
|
||||
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
|
||||
<el-button v-if="merData.margin > 0" type="primary" size="small"
|
||||
@click="applyReturn">申请退回保证金</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -117,7 +121,8 @@
|
||||
<img v-if="merData.is_margin == 10" src="@/assets/images/margin03.png" />
|
||||
<div class="alic" v-if="merData.is_margin == 10">
|
||||
<span class="text_g">剩余保证金¥{{ merData.margin }}元</span>
|
||||
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
|
||||
<el-button v-if="merData.margin > 0" type="primary" size="small"
|
||||
@click="applyReturn">申请退回保证金</el-button>
|
||||
</div>
|
||||
<div class="alic" v-if="merData.is_margin == -1">
|
||||
<span class="text_b b01"> 审核中</span>
|
||||
@ -136,15 +141,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--申请退回保障金银行信息弹窗-->
|
||||
<el-dialog
|
||||
v-if="modalBank"
|
||||
v-model="modalBank"
|
||||
:visible.sync="modalBank"
|
||||
title="申请退回保证金"
|
||||
width="600px"
|
||||
close-on-click-modal
|
||||
custom-class="dialog-scustom"
|
||||
>
|
||||
<el-dialog v-if="modalBank" v-model="modalBank" :visible.sync="modalBank" title="申请退回保证金" width="600px"
|
||||
close-on-click-modal custom-class="dialog-scustom">
|
||||
<div class="bank-container">
|
||||
<div class="item">说明: <span class="red">申请退回保证金则视为关闭店铺,请谨慎操作!</span></div>
|
||||
<div class="item">
|
||||
@ -155,7 +153,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="title">账号信息:</div>
|
||||
<el-form ref="bankValidate" :model="bankValidate" :rules="bankRules" label-width="100px" @submit.native.prevent>
|
||||
<el-form ref="bankValidate" :model="bankValidate" :rules="bankRules" label-width="100px"
|
||||
@submit.native.prevent>
|
||||
<el-form-item label="真实姓名:" prop="name">
|
||||
<el-input v-model="bankValidate.name" type="text" placeholder="请输入真实姓名" />
|
||||
</el-form-item>
|
||||
@ -180,7 +179,7 @@
|
||||
<div v-if="infoType == '2'" class="business-msg">
|
||||
<div class="form-data">
|
||||
<el-form ref="ruleForm" :model="merData" :rules="rules" label-width="150px" class="demo-ruleForm">
|
||||
<el-form-item class="form-item" label="店铺背景图:" prop="mer_banner">
|
||||
<!-- <el-form-item class="form-item" label="店铺背景图:" prop="mer_banner">
|
||||
<div class="upLoadPicBox" @click="modalPicTap('1')">
|
||||
<div v-if="merData.mer_banner" class="pictrue">
|
||||
<img :src="merData.mer_banner">
|
||||
@ -190,7 +189,7 @@
|
||||
</div>
|
||||
<div class="trip">建议尺寸:710*200px</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item class="form-item" label="店铺头像:" prop="mer_avatar">
|
||||
<div class="upLoadPicBox" @click="modalPicTap('2')">
|
||||
<div v-if="merData.mer_avatar" class="pictrue">
|
||||
@ -202,7 +201,7 @@
|
||||
<div class="trip">建议尺寸:120*120px</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item class="form-item" label="店铺街背景图:">
|
||||
<!-- <el-form-item class="form-item" label="店铺街背景图:">
|
||||
<div class="upLoadPicBox" @click="modalPicTap('3')">
|
||||
<div v-if="merData.mini_banner" class="pictrue">
|
||||
<img :src="merData.mini_banner">
|
||||
@ -212,8 +211,9 @@
|
||||
</div>
|
||||
<div class="trip">建议尺寸:710*134px或710*460px(请根据平台要求选择尺寸,此图如未上传默认展示店铺背景图)</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item class="form-item" label="店铺资质:" :prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''">
|
||||
</el-form-item> -->
|
||||
<el-form-item class="form-item" label="店铺资质:"
|
||||
:prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''">
|
||||
<div class="upLoadPicBox_qualification">
|
||||
<div v-for="(item, index) in uploadedQualifications" :key="index" class="uploadpicBox_list">
|
||||
<div class="uploadpicBox_list_image">
|
||||
@ -224,7 +224,8 @@
|
||||
<i class="el-icon-view" @click="viewImage(item, index)" />
|
||||
</div>
|
||||
</div>
|
||||
<el-upload :action="fileUrl" :show-file-list="false" list-type="picture-card" multiple :headers="myHeaders" :on-success="setQualificationsList" :before-upload="beforeUploadQualification">
|
||||
<el-upload :action="fileUrl" :show-file-list="false" list-type="picture-card" multiple
|
||||
:headers="myHeaders" :on-success="setQualificationsList" :before-upload="beforeUploadQualification">
|
||||
<i class="el-icon-plus" />
|
||||
</el-upload>
|
||||
</div>
|
||||
@ -236,7 +237,9 @@
|
||||
</el-checkbox>
|
||||
</el-checkbox-group> <span class="trip">只选择一种配送方式时,会自动修改店铺所有商品的配送方式</span>
|
||||
</el-form-item>
|
||||
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" :gutter="24">
|
||||
<el-row
|
||||
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)"
|
||||
:gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="提货点名称:" prop="mer_take_name">
|
||||
<el-input v-model="merData.mer_take_name" maxlength="30" placeholder="请输入提货点名称" />
|
||||
@ -244,14 +247,12 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="提货点电话:" prop="mer_take_phone">
|
||||
<el-input
|
||||
v-model="merData.mer_take_phone"
|
||||
placeholder="请输入提货点电话"
|
||||
/>
|
||||
<el-input v-model="merData.mer_take_phone" placeholder="请输入提货点电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" >
|
||||
<el-row
|
||||
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="详细地址:" prop="mer_take_address">
|
||||
<el-input v-model="merData.mer_take_address" placeholder="请输入详细地址" />
|
||||
@ -259,53 +260,27 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="经纬度:" prop="mer_take_location">
|
||||
<el-input
|
||||
v-model="merData.mer_take_location"
|
||||
enter-button="查找位置"
|
||||
placeholder="请查找位置"
|
||||
readonly
|
||||
>
|
||||
<el-button
|
||||
slot="append"
|
||||
type="primary"
|
||||
@click="onSearchs"
|
||||
>查找位置</el-button>
|
||||
<el-input v-model="merData.mer_take_location" enter-button="查找位置" placeholder="请查找位置" readonly>
|
||||
<el-button slot="append" type="primary" @click="onSearchs">查找位置</el-button>
|
||||
</el-input>
|
||||
<div slot="content">请点击查找位置选择位置</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" >
|
||||
<el-row
|
||||
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="提货点营业日期:" prop="mer_take_day">
|
||||
<el-select
|
||||
v-model="merData.mer_take_day"
|
||||
filterable
|
||||
multiple
|
||||
placeholder="请选择营业时间"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in date"
|
||||
:key="item.date_id"
|
||||
:label="item.date_name"
|
||||
:value="item.date_id"
|
||||
/>
|
||||
<el-select v-model="merData.mer_take_day" filterable multiple placeholder="请选择营业时间">
|
||||
<el-option v-for="item in date" :key="item.date_id" :label="item.date_name" :value="item.date_id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="提货点营业时间:" required>
|
||||
<el-time-picker
|
||||
v-model="value1"
|
||||
placeholder="开始时间"
|
||||
value-format="HH:mm"
|
||||
@change="onchangeTime1">
|
||||
<el-time-picker v-model="value1" placeholder="开始时间" value-format="HH:mm" @change="onchangeTime1">
|
||||
</el-time-picker>
|
||||
<el-time-picker
|
||||
v-model="value2"
|
||||
placeholder="结束时间"
|
||||
value-format="HH:mm"
|
||||
@change="onchangeTime2">
|
||||
<el-time-picker v-model="value2" placeholder="结束时间" value-format="HH:mm" @change="onchangeTime2">
|
||||
</el-time-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -323,9 +298,7 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系客服方式:">
|
||||
<el-radio-group
|
||||
v-model="merData.services_type"
|
||||
>
|
||||
<el-radio-group v-model="merData.services_type">
|
||||
<el-radio :label="0" class="radio">线上客服</el-radio>
|
||||
<el-radio :label="1">拨打电话</el-radio>
|
||||
</el-radio-group>
|
||||
@ -338,14 +311,17 @@
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<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="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)">
|
||||
<el-button slot="append" type="primary" @click="onSearch">查找位置</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<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>
|
||||
<el-form-item />
|
||||
</el-form>
|
||||
@ -354,7 +330,8 @@
|
||||
<div v-if="infoType == '3'" class="user-msg">
|
||||
<div class="basic-information">
|
||||
<span class="basic-label"> 商户手续费:</span>
|
||||
{{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) : (parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2)}}%
|
||||
{{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) :
|
||||
(parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2) }}%
|
||||
</div>
|
||||
<div class="basic-information">
|
||||
<span class="basic-label"> 添加商品:</span>
|
||||
@ -377,27 +354,13 @@
|
||||
<el-button type="primary" :loading="submitLoading" @click="submitForm('ruleForm')">提交</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog
|
||||
v-if="modalMap"
|
||||
v-model="modalMap"
|
||||
:visible.sync="modalMap"
|
||||
title="选择位置"
|
||||
close-on-click-modal
|
||||
class="mapBox"
|
||||
custom-class="dialog-scustom"
|
||||
>
|
||||
<el-dialog v-if="modalMap" v-model="modalMap" :visible.sync="modalMap" title="选择位置" close-on-click-modal
|
||||
class="mapBox" custom-class="dialog-scustom">
|
||||
<iframe id="mapPage" width="100%" height="500px" frameborder="0" :src="keyUrl" />
|
||||
</el-dialog>
|
||||
<!--保证金记录-->
|
||||
<el-dialog
|
||||
v-if="modalRecord"
|
||||
:visible.sync="modalRecord"
|
||||
title="操作记录"
|
||||
width="800px"
|
||||
close-on-click-modal
|
||||
class="mapBox"
|
||||
custom-class="dialog-scustom"
|
||||
>
|
||||
<el-dialog v-if="modalRecord" :visible.sync="modalRecord" title="操作记录" width="800px" close-on-click-modal
|
||||
class="mapBox" custom-class="dialog-scustom">
|
||||
<el-table :data="tableData.data" :loading="loading" size="small">
|
||||
<el-table-column label="序号" min-width="50">
|
||||
<template scope="scope">
|
||||
@ -416,14 +379,8 @@
|
||||
<el-table-column prop="create_time" label="操作时间" min-width="120" />
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<el-pagination
|
||||
:page-size="tableFrom.limit"
|
||||
:current-page="tableFrom.page"
|
||||
layout="prev, pager, next, jumper"
|
||||
:total="tableData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
<el-pagination :page-size="tableFrom.limit" :current-page="tableFrom.page" layout="prev, pager, next, jumper"
|
||||
:total="tableData.total" @size-change="handleSizeChange" @current-change="pageChange" />
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -549,7 +506,8 @@ export default {
|
||||
mer_take_day: [],
|
||||
mer_take_location: '',
|
||||
id: 0,
|
||||
mer_take_status: 0 }, // 默认数据
|
||||
mer_take_status: 0
|
||||
}, // 默认数据
|
||||
myHeaders: { 'X-Token': getToken() },
|
||||
uploadedQualifications: [], // 资质图片列表
|
||||
mapKey: '', // 地图key
|
||||
@ -570,7 +528,6 @@ export default {
|
||||
{ value: '2', name: '快递配送' }
|
||||
],
|
||||
rules: {
|
||||
mer_banner: [{ required: true, message: '请上传店铺banner' }],
|
||||
mer_avatar: [{ required: true, message: '请上传店铺头像' }],
|
||||
mer_info: [{ required: true, message: '请输入商户简介', trigger: 'blur' },
|
||||
{ min: 3, max: 200, message: '长度在 3 到 200 个字符', trigger: 'blur' }
|
||||
@ -931,22 +888,26 @@ export default {
|
||||
::v-deep .el-textarea__inner {
|
||||
height: 90px;
|
||||
}
|
||||
|
||||
.information {
|
||||
width: 100%;
|
||||
padding: 10px 20px 80px 20px;
|
||||
background: #ffffff;
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
color: #303133;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.lab-title {
|
||||
width: max-content;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #303133;
|
||||
margin: 10px 10%;
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
@ -958,10 +919,12 @@ export default {
|
||||
top: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.user-msg {
|
||||
padding: 0 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.basic-information {
|
||||
padding: 0 100px;
|
||||
margin-bottom: 20px;
|
||||
@ -969,6 +932,7 @@ export default {
|
||||
text-rendering: optimizeLegibility;
|
||||
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
|
||||
color: #606266;
|
||||
|
||||
.basic-label {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
@ -976,26 +940,33 @@ export default {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.trip {
|
||||
color: #999999;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.demo-ruleForm {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.form-data {
|
||||
padding: 30px 8%;
|
||||
|
||||
.map-sty {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pictrue img {
|
||||
border-radius: 4px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.tip-form {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
span {
|
||||
white-space: nowrap;
|
||||
padding-left: 10px;
|
||||
@ -1003,6 +974,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.submit-button {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@ -1014,20 +986,26 @@ export default {
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
}
|
||||
|
||||
.information ::v-deep .el-form-item__label {
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.bank-container {
|
||||
padding: 0 20px;
|
||||
|
||||
.item {
|
||||
margin-top: 10px;
|
||||
color: #282828;
|
||||
font-size: 13px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.red {
|
||||
color:rgb(237, 64, 20);;
|
||||
color: rgb(237, 64, 20);
|
||||
;
|
||||
}
|
||||
|
||||
.title {
|
||||
color: #303133;
|
||||
margin: 15px 0;
|
||||
@ -1035,21 +1013,26 @@ export default {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.font_red {
|
||||
color: red;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.spanBtn {
|
||||
color: var(--prev-color-primary);
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.margin_main {
|
||||
position: relative;
|
||||
|
||||
.margin_price {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.margin_modal {
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
@ -1063,63 +1046,77 @@ export default {
|
||||
padding-bottom: 30px;
|
||||
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
|
||||
display: none;
|
||||
|
||||
.alic {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
width: 150px;
|
||||
height: 116px;
|
||||
margin: 20px auto 50px;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text_g {
|
||||
font-size: 16px;
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.text_b {
|
||||
color: #606266;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 14px;
|
||||
|
||||
&.b02 {
|
||||
color: #EF9B6F;
|
||||
}
|
||||
|
||||
&.b01 {
|
||||
color: #57D1A0;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button {
|
||||
margin-top: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.margin_refused {
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
color: #606266;
|
||||
|
||||
span {
|
||||
display: inline;
|
||||
// color: red;
|
||||
}
|
||||
}
|
||||
|
||||
.margin_count {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.pay_btn:hover+.erweima {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.margin_modal {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.erweima {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
@ -1139,22 +1136,26 @@ export default {
|
||||
height: 160px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.pay_type {
|
||||
font-size: 16px;
|
||||
color: #303133;
|
||||
font-weight: normal;
|
||||
|
||||
}
|
||||
|
||||
.pay_price {
|
||||
font-size: 18px;
|
||||
color: #E57272;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.pay_title {
|
||||
font-size: 16px;
|
||||
color: #303133;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.pay_time {
|
||||
font-size: 12px;
|
||||
color: #6D7278;
|
||||
@ -1163,6 +1164,7 @@ export default {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
::v-deep .el-upload--picture-card {
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
@ -1177,11 +1179,13 @@ export default {
|
||||
.upLoadPicBox_qualification {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.uploadpicBox_list {
|
||||
position: relative;
|
||||
height: 58px;
|
||||
width: 58px;
|
||||
margin: 0 20px 20px 0;
|
||||
|
||||
.uploadpicBox_list_image {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -1190,6 +1194,7 @@ export default {
|
||||
height: 58px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -1215,6 +1220,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.uploadpicBox_list:hover .uploadpicBox_list_method {
|
||||
z-index: 11;
|
||||
opacity: 1;
|
||||
|
@ -28,7 +28,8 @@ module.exports = {
|
||||
outputDir: 'dist',
|
||||
assetsDir: 'mer',
|
||||
indexPath: process.env.NODE_ENV === 'development' ? 'index.html' : 'mer.html',
|
||||
lintOnSave: process.env.NODE_ENV === 'development',
|
||||
lintOnSave: false,
|
||||
// lintOnSave: process.env.NODE_ENV === 'development',
|
||||
productionSourceMap: false,
|
||||
devServer: {
|
||||
port: port,
|
||||
|
Loading…
x
Reference in New Issue
Block a user