Merge branch 'v4.7.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v4.7.0dev

This commit is contained in:
From-wh 2023-02-20 18:24:44 +08:00
commit cfda9428b1
107 changed files with 288 additions and 261 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
/.idea
*.log
*.DS_Store
/crmeb/.env
/crmeb/runtime/cache
/crmeb/runtime/log
/crmeb/runtime/session

View File

@ -166,7 +166,7 @@ class StoreOrderController
$uid = (int)$request->uid();
if ($checkOrder = $this->services->getOne(['order_id|unique' => $key, 'uid' => $uid, 'is_del' => 0]))
return app('json')->status('extend_order', 410209, ['orderId' => $checkOrder['order_id'], 'key' => $key]);
[$addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, $from, $shipping_type, $real_name, $phone, $storeId, $news, $invoice_id, $quitUrl, $advanceId, $virtual_type, $customForm] = $request->postMore([
[$addressId, $couponId, $payType, $useIntegral, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, $shipping_type, $real_name, $phone, $storeId, $news, $invoice_id, $quitUrl, $advanceId, $virtual_type, $customForm] = $request->postMore([
[['addressId', 'd'], 0],
[['couponId', 'd'], 0],
['payType', ''],
@ -176,7 +176,6 @@ class StoreOrderController
[['pinkId', 'd'], 0],
[['seckill_id', 'd'], 0],
[['bargainId', 'd'], ''],
['from', 'weixin'],
[['shipping_type', 'd'], 1],
['real_name', ''],
['phone', ''],
@ -214,7 +213,6 @@ class StoreOrderController
}
}
$isChannel = $this->getChennel[$from] ?? ($request->isApp() ? 0 : 1);
$cartInfo = null;
if ($seckill_id || $combinationId || $bargainId || $advanceId) {
$cartInfo = $cartGroup['cartInfo'];
@ -237,7 +235,7 @@ class StoreOrderController
}
}
$virtual_type = $cartGroup['cartInfo'][0]['productInfo']['virtual_type'] ?? 0;
$order = $createServices->createOrder($uid, $key, $cartGroup, $request->user()->toArray(), $addressId, $payType, !!$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, $isChannel, $shipping_type, $real_name, $phone, $storeId, !!$news, $advanceId, $virtual_type, $customForm);
$order = $createServices->createOrder($uid, $key, $cartGroup, $request->user()->toArray(), $addressId, $payType, !!$useIntegral, $couponId, $mark, $combinationId, $pinkId, $seckill_id, $bargainId, $shipping_type, $real_name, $phone, $storeId, !!$news, $advanceId, $virtual_type, $customForm);
if ($order === false) {
if ($seckill_id || $combinationId || $advanceId || $bargainId) {
foreach ($cartInfo as $item) {
@ -397,10 +395,9 @@ class StoreOrderController
*/
public function pay(Request $request, StorePinkServices $services, OrderPayServices $payServices, YuePayServices $yuePayServices)
{
[$uni, $paytype, $from, $quitUrl, $type] = $request->postMore([
[$uni, $paytype, $quitUrl, $type] = $request->postMore([
['uni', ''],
['paytype', 'weixin'],
['from', 'weixin'],
['paytype', ''],
['quitUrl', ''],
['type', 0]
], true);
@ -418,36 +415,9 @@ class StoreOrderController
if ($order['pink_id'] && $services->isPinkStatus($order['pink_id'])) {
return app('json')->fail(410215);
}
$isChannel = $this->getChennel[$from];
//缓存不存在 || 切换另一端支付
if (!Cache::get('pay_' . $order['order_id']) || $isChannel != $order['is_channel']) {
switch ($from) {
case 'weixin':
if ($type == 1 || in_array($order['is_channel'], [1, 2, 3, 4])) {//0
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
}
break;
case 'weixinh5':
if ($type == 1 || in_array($order['is_channel'], [0, 1, 3, 4])) {
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
}
break;
case 'routine':
if ($type == 1 || in_array($order['is_channel'], [0, 2, 3, 4])) {
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
}
break;
case 'app':
if ($type == 1 || in_array($order['is_channel'], [0, 1, 2, 3])) {
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
}
break;
case 'pc':
case 'aliapy':
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
break;
}
}
//重新生成订单号去支付
$order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
//0元支付
if (bcsub((string)$orderInfo['pay_price'], '0', 2) <= 0) {

View File

@ -190,7 +190,7 @@ class StorePointRecordServices extends BaseServices
$list[] = [
'name' => $item['name'],
'value' => $item['value'],
'percent' => $count != 0 ? bcmul((string)bcdiv((string)$item['value'], (string)$count, 4), '100', 1) : 0,
'percent' => $count != 0 ? bcmul((string)bcdiv((string)$item['value'], (string)$count, 4), '100', 2) : 0,
];
}
array_multisort(array_column($list, 'value'), SORT_DESC, $list);
@ -222,7 +222,7 @@ class StorePointRecordServices extends BaseServices
$list[] = [
'name' => $item['name'],
'value' => $item['value'],
'percent' => $count != 0 ? bcmul((string)bcdiv((string)$item['value'], (string)$count, 4), '100', 1) : 0,
'percent' => $count != 0 ? bcmul((string)bcdiv((string)$item['value'], (string)$count, 4), '100', 2) : 0,
];
}
array_multisort(array_column($list, 'value'), SORT_DESC, $list);

View File

@ -120,7 +120,6 @@ class StoreOrderCreateServices extends BaseServices
* @param int $pinkId
* @param int $seckillId
* @param int $bargainId
* @param int $isChannel
* @param int $shippingType
* @param string $real_name
* @param string $phone
@ -132,7 +131,7 @@ class StoreOrderCreateServices extends BaseServices
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function createOrder($uid, $key, $cartGroup, $userInfo, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckillId = 0, $bargainId = 0, $isChannel = 0, $shippingType = 1, $real_name = '', $phone = '', $storeId = 0, $news = false, $advanceId = 0, $virtual_type = 0, $customForm = [])
public function createOrder($uid, $key, $cartGroup, $userInfo, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckillId = 0, $bargainId = 0, $shippingType = 1, $real_name = '', $phone = '', $storeId = 0, $news = false, $advanceId = 0, $virtual_type = 0, $customForm = [])
{
/** @var StoreOrderComputedServices $computedServices */
$computedServices = app()->make(StoreOrderComputedServices::class);
@ -183,11 +182,6 @@ class StoreOrderCreateServices extends BaseServices
if ($deduction) {
$couponId = 0;
$useIntegral = false;
$systemPayType = PayServices::PAY_TYPE;
unset($systemPayType['offline']);
if ($payType != 'pc' && !array_key_exists($payType, $systemPayType)) {
throw new ApiException(410246);
}
}
//$shipping_type = 1 快递发货 $shipping_type = 2 门店自提
$storeSelfMention = sys_config('store_self_mention') ?? 0;
@ -219,7 +213,6 @@ class StoreOrderCreateServices extends BaseServices
'bargain_id' => $bargainId,
'advance_id' => $advance_id,
'cost' => $priceGroup['costPrice'],
'is_channel' => $isChannel,
'add_time' => time(),
'unique' => $key,
'shipping_type' => $shippingType,

View File

@ -1058,7 +1058,7 @@ class StoreOrderRefundServices extends BaseServices
if ($list) {
foreach ($list as &$item) {
$item['paid'] = 1;
$item['add_time'] = isset($item['add_time']) ? date('Y-m-d H:i', (int)$item['add_time']) : '';
$item['add_time'] = $item['_add_time'] = isset($item['add_time']) ? date('Y-m-d H:i', (int)$item['add_time']) : '';
$item['cartInfo'] = $item['cart_info'];
if (in_array($item['refund_type'], [1, 2, 4, 5])) {
$item['refund_status'] = 1;

View File

@ -176,19 +176,17 @@ class OrderPayServices
* @param $order
* @param $jsConfig
* @param string $payType
* @param array $options
* @return array
* @author 等风来
* @email 136327134@qq.com
* @date 2023/2/15
*/
public function afterPay($order, $jsConfig, string $payType, array $options = [])
public function afterPay($order, $jsConfig, string $payType)
{
$payKey = md5($order['order_id']);
switch ($payType) {
case PayServices::ALIAPY_PAY:
$isCode = $options['isCode'] ?? '';
if ($isCode && !($jsConfig->invalid ?? false)) $jsConfig->invalid = time() + 60;
$jsConfig->invalid = time() + 60;
CacheService::set($payKey, ['order_id' => $order['order_id'], 'other_pay_type' => false], 300);
break;
case PayServices::ALLIN_PAY:

View File

@ -45,5 +45,7 @@ return [
// 显示错误信息
'show_error_msg' => false,
// 没有开启消息队列命令或者定时任务命令的提醒开关
'console_remind' => true
'console_remind' => true,
// admin路由前缀
'admin_prefix' => 'administration',
];

View File

@ -76,7 +76,7 @@ return [
//每页截取key
'limitKey' => 'limit',
//每页截取最大值
'limitMax' => 50,
'limitMax' => 100,
//默认条数
'defaultLimit' => 10,
]

File diff suppressed because one or more lines are too long

View File

@ -10,9 +10,10 @@ Route::miss(function () {
$appRequest = str_replace('//', '/', $appRequest);
$appName = explode('/', $appRequest)[0] ?? '';
}
switch (strtolower($appName)) {
case 'admin':
return view(app()->getRootPath() . 'public' . DS . 'admin' . DS . 'index.html');
case config('app.admin_prefix','admin'):
return view(app()->getRootPath() . 'public' . DS . 'system.html');
case 'home':
if (request()->isMobile()) {
return redirect(app()->route->buildUrl('/'));

View File

@ -32,6 +32,7 @@
<script>
import { mapState } from 'vuex';
import settings from '@/setting'
import uploadPictures from '@/components/uploadPictures';
export default {
name: 'c_upload_img',
@ -104,7 +105,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: settings.roterPre +'/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -82,6 +82,8 @@
import linkaddress from '@/components/linkaddress';
import uploadPictures from '@/components/uploadPictures';
import settings from '@/setting'
import vuedraggable from 'vuedraggable';
export default {
name: 'c_upload_list',
@ -194,7 +196,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -1,11 +1,11 @@
<template>
<div class="custom-bread-crumb">
<Breadcrumb :style="{ fontSize: `${fontSize}px` }">
<BreadcrumbItem v-for="item in list" :key="`${item.path}`" v-if="listLast[0].path !== '/admin/home/'">
<BreadcrumbItem v-for="item in list" :key="`${item.path}`" v-if="listLast[0].path !== homePath">
<common-icon style="margin-right: 4px" :type="item.icon || ''" />
{{ item.title }}
</BreadcrumbItem>
<BreadcrumbItem v-if="listLast[0].path === '/admin/home/'">
<BreadcrumbItem v-if="listLast[0].path === homePath">
<common-icon style="margin-right: 4px" :type="listLast[0].icon || ''" />
{{ listLast[0].title }}
</BreadcrumbItem>
@ -19,6 +19,7 @@
<script>
import { showTitle } from '@/libs/util';
import CommonIcon from '_c/common-icon';
import settings from '@/setting'
import './custom-bread-crumb.less';
export default {
name: 'customBreadCrumb',
@ -44,6 +45,11 @@ export default {
default: false,
},
},
data(){
return {
homePath: settings.roterPre + '/home',
};
},
methods: {
showTitle(item) {
return showTitle(item, this);

View File

@ -62,7 +62,7 @@ export default {
AccountLogout()
.then((res) => {
that.$Message.success('您已成功退出');
that.$router.replace('/admin/login');
that.$router.replace({name:'login'});
localStorage.clear();
removeCookies('token');
removeCookies('expires_time');
@ -74,10 +74,10 @@ export default {
});
},
userCenter() {
this.$router.push('/admin/system/user');
this.$router.push({name:'systemUser'});
},
fileEdit() {
this.$router.push('/admin/system/files');
this.$router.push({name:'systemFiles'});
},
message() {
this.$router.push({

View File

@ -53,6 +53,7 @@ import vuedraggable from 'vuedraggable';
import { mapState, mapActions } from 'vuex';
import uploadPictures from '@/components/uploadPictures';
import { wechatNewsAddApi, wechatNewsInfotApi } from '@/api/app';
import settings from '@/setting'
export default {
name: 'c_hot_imgs',
props: {
@ -152,7 +153,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: settings.roterPre +'/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -82,6 +82,7 @@
import vuedraggable from 'vuedraggable';
import uploadPictures from '@/components/uploadPictures';
import linkaddress from '@/components/linkaddress';
import settings from '@/setting'
export default {
name: 'c_menu_list',
props: {
@ -187,7 +188,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -35,6 +35,7 @@
<script>
import { mapState } from 'vuex';
import uploadPictures from '@/components/uploadPictures';
import settings from '@/setting'
export default {
name: 'c_upload_img',
components: {
@ -114,7 +115,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -18,8 +18,8 @@
</Col>
</Col>
</Row>
<Row type="flex" v-show="$route.path === '/admin/app/wechat/news_category/index'">
<router-link :to="'/admin/app/wechat/news_category/save/0'">
<Row type="flex" v-show="$route.path === roterPre+'/app/wechat/news_category/index'">
<router-link :to="roterPre+'/app/wechat/news_category/save/0'">
<Button type="primary" class="bnt" icon="md-add">添加图文消息</Button>
</router-link>
</Row>
@ -94,6 +94,7 @@
import vueWaterfallEasy from 'vue-waterfall-easy';
import { wechatNewsListApi } from '@/api/app';
import { mapState } from 'vuex';
import settings from '@/setting'
export default {
name: 'newsCategory',
props: {
@ -133,6 +134,7 @@ export default {
},
data() {
return {
roterPre: settings.roterPre ,
isDel: false,
imgsArr: [],
group: 0, // 当前加载的加载图片的次数
@ -236,7 +238,7 @@ export default {
// 编辑
clkk(item) {
this.$router.push({
path: '/admin/app/wechat/news_category/save/' + item.id,
path: this.roterPre + '/app/wechat/news_category/save/' + item.id,
});
},
// 鼠标移进

View File

@ -43,7 +43,7 @@
</FormItem>
</Col>
</Col>
<Col span="24" class="ivu-text-left" v-if="$route.path === '/admin/echarts/trade/order'">
<Col span="24" class="ivu-text-left" v-if="$route.path === routePro + '/echarts/trade/order'">
<FormItem label="订单类型:">
<RadioGroup v-model="currentTab" type="button" @on-change="onClickTab(currentTab)">
<Radio label="">全部</Radio>
@ -68,6 +68,7 @@ export default {
},
data() {
return {
routePro:this.$routeProStr,
currentTab: '',
grid: {
xl: 8,

View File

@ -33,7 +33,7 @@ export default {
methods: {
upgradeNow() {
this.$router.push({
path: '/admin/system/onlineUpgrade/index',
name: 'system_upgradeclient',
params: { items: true },
});
this.$store.commit('upgrade/TOGGLE_STATUS', true);

View File

@ -69,7 +69,7 @@ service.interceptors.response.use(
removeCookies('token');
removeCookies('expires_time');
removeCookies('uuid');
router.replace({ path: '/admin/login' });
router.replace({ name: 'login' });
break;
case 110005:
case 110006:
@ -81,7 +81,7 @@ service.interceptors.response.use(
router.replace({ path: '/kefu' });
break;
case 110008:
router.replace({ path: '/admin/system/maintain/system_file/login' });
router.replace({ name: 'system_opendir_login' });
break;
default:
return Promise.reject(obj || { msg: '未知错误' });

View File

@ -88,6 +88,10 @@ const routerPush = Router.prototype.push;
Router.prototype.push = function push(location) {
return routerPush.call(this, location).catch((error) => error);
};
import settings from '@/setting'
Vue.prototype.$routeProStr = settings.roterPre
// 实际打包时应该不引入mock
/* eslint-disable */
if (process.env.NODE_ENV !== 'production') require('@/mock');

View File

@ -239,7 +239,7 @@ export default {
this.checkSocket();
} catch (e) {}
return this.$router.replace({ path: '/admin/home/' || '/admin/' });
return this.$router.replace({ path: this.$routeProStr + '/home/' || this.$routeProStr + '/' });
})
.catch((res) => {
msg()

View File

@ -111,7 +111,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
a: 1, //判断的隐私协议

View File

@ -16,7 +16,7 @@
</div>
<Alert v-if="!pageData.appId && !pageData.code">
<template slot="desc">
您尚未配置小程序信息,请<router-link :to="{ path: '/admin/setting/system_config_retail/3/7' }"
您尚未配置小程序信息,请<router-link :to="{ path: $routeProStr +'/setting/system_config_retail/3/7' }"
>立即设置</router-link
></template
>

View File

@ -2,7 +2,7 @@
<div class="newsBox">
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/app/wechat/news_category/index' }"
<router-link :to="{ path: $routeProStr + '/app/wechat/news_category/index' }"
><Button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id">返回</Button></router-link
>
<Divider type="vertical" />
@ -166,7 +166,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
ruleValidate: {
@ -303,7 +303,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/app/wechat/news_category/index',
path: this.$routeProStr + '/app/wechat/news_category/index',
});
}, 500);
})

View File

@ -398,13 +398,13 @@ export default {
onCancel: () => {
setTimeout(() => {
this.$Modal.remove();
this.$router.push({ path: '/admin/app/wechat/reply/keyword' });
this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword' });
}, 500);
},
});
} else if (this.$route.params.id && this.$route.params.id !== '0') {
this.$Modal.remove();
this.$router.push({ path: '/admin/app/wechat/reply/keyword' });
this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword' });
}
},
},

View File

@ -205,11 +205,11 @@ export default {
},
// 添加
add() {
this.$router.push({ path: '/admin/app/wechat/reply/keyword/save/0' });
this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/0' });
},
// 编辑
edit(row) {
this.$router.push({ path: '/admin/app/wechat/reply/keyword/save/' + row.id });
this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/' + row.id });
},
del(row, tit, num) {
let delfromData = {

View File

@ -76,7 +76,7 @@ export default {
methods: {
// 添加
add() {
if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
this.$modalForm(wechatTagCreateApi()).then(() => this.getList());
} else {
this.$modalForm(wechatGroupCreateApi()).then(() => this.getList());
@ -84,7 +84,7 @@ export default {
},
// 编辑
edit(row) {
if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
this.$modalForm(wechatTagEditApi(row.id)).then(() => this.getList());
} else {
this.$modalForm(wechatGroupEditApi(row.id)).then(() => this.getList());
@ -93,7 +93,7 @@ export default {
// 删除
del(row, tit, num) {
let delfromData = null;
if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
delfromData = {
title: tit,
num: num,
@ -123,7 +123,7 @@ export default {
getList() {
this.loading = true;
let fountion;
if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
fountion = wechatTagListApi();
} else {
fountion = wechatGroupListApi();

View File

@ -2,7 +2,7 @@
<div class="article-manager">
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/cms/article/index' }"
<router-link :to="{ path: $routeProStr + '/cms/article/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -207,7 +207,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
};
@ -272,7 +272,7 @@ export default {
.then(async (res) => {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({ path: '/admin/cms/article/index' });
this.$router.push({ path: this.$routeProStr + '/cms/article/index' });
}, 500);
})
.catch((res) => {

View File

@ -34,7 +34,7 @@
</Row>
<Row type="flex">
<Col v-bind="grid">
<router-link :to="'/admin/cms/article/add_article'" v-auth="['cms-article-creat']"
<router-link :to="$routeProStr + '/cms/article/add_article'" v-auth="['cms-article-creat']"
><Button type="primary" class="bnt" icon="md-add">添加文章</Button></router-link
>
</Col>
@ -282,7 +282,7 @@ export default {
},
// 编辑
edit(row) {
this.$router.push({ path: '/admin/cms/article/add_article/' + row.id });
this.$router.push({ path: this.$routeProStr + '/cms/article/add_article/' + row.id });
},
// 关联
artRelation(row, tit, num) {

View File

@ -237,7 +237,7 @@ export default {
// 查看文章
lookUp(row) {
this.$router.push({
path: '/admin/cms/article/index',
path: this.$routeProStr + '/cms/article/index',
query: {
id: row.id,
},

View File

@ -31,7 +31,7 @@ export default {
autoHeightEnabled: false,
initialFrameHeight: 500,
initialFrameWidth: '100%',
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
agreement: {

View File

@ -62,7 +62,7 @@
v-model="formValidate.nireid"
style="width: 30%"
/>
<router-link to="/admin/finance/finance/commission" class="ml20">佣金记录</router-link>
<router-link :to="$routeProStr + '/finance/finance/commission'" class="ml20">佣金记录</router-link>
</div>
</FormItem>
</Col>
@ -301,7 +301,7 @@ export default {
},
watch: {
$route() {
if (this.$route.fullPath === '/admin/finance/user_extract/index?status=0') {
if (this.$route.fullPath === (this.$routeProStr +'/finance/user_extract/index?status=0')) {
this.getPath();
}
},
@ -316,7 +316,7 @@ export default {
},
},
mounted() {
if (this.$route.fullPath === '/admin/finance/user_extract/index?status=0') {
if (this.$route.fullPath === (this.$routeProStr + '/finance/user_extract/index?status=0')) {
this.getPath();
} else {
this.getList();

View File

@ -2,7 +2,7 @@
<Row :gutter="24" class="dashboard-console-grid">
<Col v-bind="grid" class="ivu-mb" v-auth="['admin-user-user-index']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/user/list' }">
<router-link :to="{ path: $routeProStr + '/user/list' }">
<Icon type="md-people" color="#69c0ff" />
<p>用户管理</p>
</router-link>
@ -10,7 +10,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['setting-system-config']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/setting/system_config' }">
<router-link :to="{ path: $routeProStr + '/setting/system_config' }">
<Icon type="md-settings" color="#95de64" />
<p>系统设置</p>
</router-link>
@ -18,7 +18,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['admin-store-storeProuduct-index']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/product/product_list' }">
<router-link :to="{ path: $routeProStr + '/product/product_list' }">
<Icon type="md-cart" color="#ff9c6e" />
<p>商品</p>
</router-link>
@ -26,7 +26,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['admin-order-storeOrder-index']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/order/list' }">
<router-link :to="{ path: $routeProStr + '/order/list' }">
<Icon type="md-clipboard" color="#b37feb" />
<p>订单管理</p>
</router-link>
@ -34,7 +34,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['setting-sms']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/setting/sms/sms_config/index' }">
<router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }">
<Icon type="md-mail" color="#ffd666" />
<p>短信配置</p>
</router-link>
@ -42,7 +42,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['cms-article-index']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/cms/article/index' }">
<router-link :to="{ path: $routeProStr + '/cms/article/index' }">
<Icon type="md-card" color="#5cdbd3" />
<p>文章管理</p>
</router-link>
@ -50,7 +50,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['agent-agent-manage']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/agent/agent_manage/index' }">
<router-link :to="{ path: $routeProStr + '/agent/agent_manage/index' }">
<Icon type="md-pricetags" color="#ff85c0" />
<p>分销管理</p>
</router-link>
@ -58,7 +58,7 @@
</Col>
<Col v-bind="grid" class="ivu-mb" v-auth="['marketing-store_coupon-index']">
<Card :bordered="false">
<router-link :to="{ path: '/admin/marketing/store_coupon_issue/index' }">
<router-link :to="{ path: $routeProStr + '/marketing/store_coupon_issue/index' }">
<Icon type="md-cash" color="#ffc069" />
<p>优惠券</p>
</router-link>

View File

@ -326,7 +326,7 @@ export default {
break;
case '2':
this.$router.push({
path: '/admin/marketing/channel_code/code_statistic?id=' + row.id,
path: this.$routeProStr + '/marketing/channel_code/code_statistic?id=' + row.id,
});
break;
case '3':
@ -460,13 +460,13 @@ export default {
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/channel_code/create?id=' + row.id,
path: this.$routeProStr + '/marketing/channel_code/create?id=' + row.id,
});
},
// 添加
add() {
this.$router.push({
path: '/admin/marketing/channel_code/create',
path: this.$routeProStr + '/marketing/channel_code/create',
});
},
//

View File

@ -392,7 +392,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/channel_code/channelCodeIndex',
path: this.$routeProStr + '/marketing/channel_code/channelCodeIndex',
});
}, 1000);
})

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/live/live_goods' }"
<router-link :to="{ path: $routeProStr + '/marketing/live/live_goods' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -185,7 +185,7 @@ export default {
this.$Message.success('添加成功');
this.disabled = false;
setTimeout(() => {
this.$router.push({ path: '/admin/marketing/live/live_goods' });
this.$router.push({ path: this.$routeProStr + '/marketing/live/live_goods' });
}, 500);
})
.catch((error) => {

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/live/live_room' }"
<router-link :to="{ path: $routeProStr + '/marketing/live/live_room' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -384,7 +384,7 @@ export default {
this.$Message.success('添加成功');
setTimeout(() => {
this.loading = false;
this.$router.push({ path: '/admin/marketing/live/live_room' });
this.$router.push({ path: this.$routeProStr + '/marketing/live/live_room' });
}, 500);
})
.catch((error) => {

View File

@ -211,7 +211,7 @@ export default {
// 添加直播间
menusAdd() {
this.$router.push({
path: '/admin/marketing/live/add_live_room',
path: this.$routeProStr + '/marketing/live/add_live_room',
});
},
// 分页

View File

@ -225,7 +225,7 @@ export default {
// 添加商品
menusAdd() {
this.$router.push({
path: '/admin/marketing/live/add_live_goods',
path: this.$routeProStr + '/marketing/live/add_live_goods',
});
},
// 同步商品

View File

@ -454,7 +454,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
isChoice: '单选',

View File

@ -241,7 +241,7 @@ export default {
methods: {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/lottery/create' });
this.$router.push({ path:this.$routeProStr + '/marketing/lottery/create' });
},
// 编辑
edit(row) {
@ -283,7 +283,7 @@ export default {
//查看抽奖记录
getRecording(row) {
this.$router.push({
path: `/admin/marketing/lottery/recording_list`,
path: this.$routeProStr + `/marketing/lottery/recording_list`,
query: {
id: row.id,
},

View File

@ -142,7 +142,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
a: 0, //判断的隐私协议

View File

@ -115,7 +115,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
a: 0, //判断的隐私协议

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/store_bargain/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_bargain/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -397,7 +397,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
isChoice: '',
@ -854,7 +854,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/store_bargain/index',
path: this.$routeProStr + '/marketing/store_bargain/index',
});
}, 500);
})
@ -962,7 +962,7 @@ export default {
// 创建 dialog
let dialog = new window.UE.ui.Dialog({
// 指定弹出层中页面的路径,这里只能支持页面,路径参考常见问题 2
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
// 需要指定当前的编辑器实例
editor: editor,
// 指定 dialog 的名字

View File

@ -234,7 +234,7 @@ export default {
methods: {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/store_bargain/create/0' });
this.$router.push({ path: this.$routeProStr + '/marketing/store_bargain/create/0' });
},
// 导出
// 用户导出
@ -270,13 +270,13 @@ export default {
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/store_bargain/create/' + row.id + '/0',
path: this.$routeProStr + '/marketing/store_bargain/create/' + row.id + '/0',
});
},
// 一键复制
copy(row) {
this.$router.push({
path: '/admin/marketing/store_bargain/create/' + row.id + '/1',
path: this.$routeProStr + '/marketing/store_bargain/create/' + row.id + '/1',
});
},
// 删除
@ -299,7 +299,7 @@ export default {
},
viewInfo(row) {
this.$router.push({
path: '/admin/marketing/store_bargain/statistics/' + row.id,
path: this.$routeProStr + '/marketing/store_bargain/statistics/' + row.id,
});
},
// 列表

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/store_combination/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_combination/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -479,7 +479,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
modals: false,
@ -854,7 +854,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/store_combination/index',
path: this.$routeProStr + '/marketing/store_combination/index',
});
}, 500);
})

View File

@ -289,18 +289,18 @@ export default {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/store_combination/create' });
this.$router.push({ path: this.$routeProStr + '/marketing/store_combination/create' });
},
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/store_combination/create/' + row.id + '/0',
path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/0',
});
},
// 一键复制
copy(row) {
this.$router.push({
path: '/admin/marketing/store_combination/create/' + row.id + '/1',
path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/1',
});
},
// 删除
@ -323,7 +323,7 @@ export default {
},
viewInfo(row) {
this.$router.push({
path: '/admin/marketing/store_combination/statistics/' + row.id,
path: this.$routeProStr + '/marketing/store_combination/statistics/' + row.id,
});
},
// 列表

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/store_coupon_issue/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_coupon_issue/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -336,7 +336,7 @@ export default {
setTimeout(() => {
this.disabled = false;
this.$router.push({
path: '/admin/marketing/store_coupon_issue/index',
path: this.$routeProStr + '/marketing/store_coupon_issue/index',
});
}, 1000);
})

View File

@ -385,12 +385,12 @@ export default {
},
// 添加优惠券
add() {
this.$router.push({ path: '/admin/marketing/store_coupon_issue/create' });
this.$router.push({ path: this.$routeProStr + '/marketing/store_coupon_issue/create' });
},
// 复制
copy(data) {
this.$router.push({
path: `/admin/marketing/store_coupon_issue/create/${data.id}`,
path: this.$routeProStr + `/marketing/store_coupon_issue/create/${data.id}`,
});
},
// 是否开启

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header">
<div class="i-layout-page-header">
<router-link :to="{ path: '/admin/marketing/store_integral/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_integral/index' }"
><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
>
<span class="ivu-page-header-title mr20" v-text="$route.params.id ? '编辑积分商品' : '添加积分商品'"></span>
@ -178,7 +178,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
modals: false,
@ -412,7 +412,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/store_integral/index',
path: this.$routeProStr + '/marketing/store_integral/index',
});
}, 500);
})
@ -503,7 +503,7 @@ export default {
// 创建 dialog
let dialog = new window.UE.ui.Dialog({
// 指定弹出层中页面的路径,这里只能支持页面,路径参考常见问题 2
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
// 需要指定当前的编辑器实例
editor: editor,
// 指定 dialog 的名字

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/store_integral/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_integral/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -309,7 +309,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
modals: false,
@ -613,7 +613,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/store_integral/index',
path: this.$routeProStr + '/marketing/store_integral/index',
});
}, 500);
})

View File

@ -230,16 +230,16 @@ export default {
methods: {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/store_integral/create' });
this.$router.push({ path: this.$routeProStr + '/marketing/store_integral/create' });
},
addMore() {
this.$router.push({
path: '/admin/marketing/store_integral/add_store_integral',
path: this.$routeProStr + '/marketing/store_integral/add_store_integral',
});
},
orderList(row) {
this.$router.push({
path: '/admin/marketing/store_integral/order_list',
path: this.$routeProStr + '/marketing/store_integral/order_list',
query: {
product_id: row.id,
},
@ -264,13 +264,13 @@ export default {
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/store_integral/create/' + row.id + '/0',
path: this.$routeProStr + '/marketing/store_integral/create/' + row.id + '/0',
});
},
// 一键复制
copy(row) {
this.$router.push({
path: '/admin/marketing/store_integral/create/' + row.id + '/1',
path: this.$routeProStr + '/marketing/store_integral/create/' + row.id + '/1',
});
},
// 删除

View File

@ -268,7 +268,7 @@ export default {
},
watch: {
$route() {
if (this.$route.fullPath === '/admin/order/list?status=1') {
if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
this.getPath();
}
},
@ -276,7 +276,7 @@ export default {
created() {
// this.timeVal = this.today;
// this.orderData.data = this.timeVal.join('-');
if (this.$route.fullPath === '/admin/order/list?status=1') {
if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
this.getPath();
}
// this.getToken();

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header">
<div class="i-layout-page-header">
<router-link :to="{ path: '/admin/marketing/presell/index' }">
<router-link :to="{ path: $routeProStr + '/marketing/presell/index' }">
<Button icon="ios-arrow-back" size="small" class="mr20">返回 </Button>
</router-link>
<span
@ -406,7 +406,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
modals: false,
@ -776,7 +776,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/presell/index',
path: this.$routeProStr + '/marketing/presell/index',
});
}, 500);
})

View File

@ -221,7 +221,7 @@ export default {
methods: {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/presell/create/0' });
this.$router.push({ path:this.$routeProStr + '/marketing/presell/create/0' });
},
// 导出
exports() {
@ -241,13 +241,13 @@ export default {
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/presell/create/' + row.id + '/0',
path: this.$routeProStr + '/marketing/presell/create/' + row.id + '/0',
});
},
// 一键复制
copy(row) {
this.$router.push({
path: '/admin/marketing/presell/create/' + row.id + '/1',
path: this.$routeProStr + '/marketing/presell/create/' + row.id + '/1',
});
},
// 删除

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/marketing/store_seckill/index' }"
<router-link :to="{ path: $routeProStr + '/marketing/store_seckill/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -429,7 +429,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
modals: false,
@ -791,7 +791,7 @@ export default {
this.$Message.success(res.msg);
setTimeout(() => {
this.$router.push({
path: '/admin/marketing/store_seckill/index',
path: this.$routeProStr + '/marketing/store_seckill/index',
});
}, 500);
})

View File

@ -207,7 +207,7 @@ export default {
methods: {
// 添加
add() {
this.$router.push({ path: '/admin/marketing/store_seckill/create' });
this.$router.push({ path: this.$routeProStr + '/marketing/store_seckill/create' });
},
// 导出
async exports() {
@ -242,13 +242,13 @@ export default {
// 编辑
edit(row) {
this.$router.push({
path: '/admin/marketing/store_seckill/create/' + row.id + '/0',
path: this.$routeProStr + '/marketing/store_seckill/create/' + row.id + '/0',
});
},
// 一键复制
copy(row) {
this.$router.push({
path: '/admin/marketing/store_seckill/create/' + row.id + '/1',
path: this.$routeProStr + '/marketing/store_seckill/create/' + row.id + '/1',
});
},
// 删除
@ -271,7 +271,7 @@ export default {
},
viewInfo(row) {
this.$router.push({
path: '/admin/marketing/store_seckill/statistics/' + row.id,
path: this.$routeProStr + '/marketing/store_seckill/statistics/' + row.id,
});
},
// 列表

View File

@ -151,7 +151,7 @@ export default {
this.$refs.tableLists.onOpenIndex(val);
},
mealPay(val) {
this.$router.push({ path: '/admin/setting/sms/sms_pay/index', query: { type: val } });
this.$router.push({ path: this.$routeProStr + '/setting/sms/sms_pay/index', query: { type: val } });
},
// 开通服务
openService(val) {

View File

@ -433,7 +433,7 @@ export default {
//短信模板页
shortMes() {
this.$router.push({
path: '/admin/setting/sms/sms_template_apply/index',
path: this.$routeProStr + '/setting/sms/sms_template_apply/index',
});
},
// 短信验证码

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/setting/sms/sms_config/index' }"
<router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -116,7 +116,7 @@ export default {
let data = res.data;
if (!data.status) {
this.$Message.warning('请先登录');
this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
} else {
this.getServeInfo();
this.getPrice();

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/setting/sms/sms_config/index' }"
<router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -17,7 +17,7 @@
:label-position="labelPosition"
@submit.native.prevent
>
<Row type="flex" :gutter="24" v-if="$route.path === '/admin/setting/sms/sms_template_apply/index'">
<Row type="flex" :gutter="24" v-if="$route.path === ($routeProStr +'/setting/sms/sms_template_apply/index')">
<!-- <Col v-bind="grid">-->
<!-- <FormItem label="模板类型:">-->
<!-- <Select v-model="levelFrom.type" placeholder="请选择" clearable @on-change="userSearchs">-->
@ -71,7 +71,7 @@
<template
slot-scope="{ row, index }"
slot="is_have"
v-if="$route.path === '/admin/setting/sms/sms_template_apply/commons'"
v-if="$route.path === ($routeProStr + '/setting/sms/sms_template_apply/commons')"
>
<span v-show="row.status === 1">有</span>
<span v-show="row.status === 0">没有</span>
@ -140,7 +140,7 @@ export default {
mounted() {
serveInfoApi().then((res) => {
if (res.data.sms.open != 1) {
this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
}
});
},
@ -162,7 +162,7 @@ export default {
let data = res.data;
if (!data.status) {
this.$Message.warning('请先登录');
this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
} else {
this.getList();
}
@ -177,9 +177,9 @@ export default {
this.levelFrom.status = this.levelFrom.status || '';
this.levelFrom.is_have = this.levelFrom.is_have || '';
let data = {
data: this.$route.path === '/admin/setting/sms/sms_template_apply/index' ? this.levelFrom : this.levelFrom2,
data: this.$route.path === (this.$routeProStr +'/setting/sms/sms_template_apply/index') ? this.levelFrom : this.levelFrom2,
url:
this.$route.path === '/admin/setting/sms/sms_template_apply/index'
this.$route.path === (this.$routeProStr + '/setting/sms/sms_template_apply/index')
? 'serve/sms/temps'
: 'notify/sms/public_temp',
};
@ -216,7 +216,7 @@ export default {
minWidth: 100,
},
];
if (this.$route.path === '/admin/setting/sms/sms_template_apply/commons') {
if (this.$route.path === (this.$routeProStr + '/setting/sms/sms_template_apply/commons')) {
this.columns1 = Object.assign([], columns1)
.slice(0, 6)
.concat([

View File

@ -100,14 +100,15 @@
<div v-else-if="row.status === 1">待收货</div>
<div v-else-if="row.status === 2">待评价</div>
<div v-else-if="row.status === 3">已完成</div>
<div v-else-if="row.status === -2">已退款</div>
</template>
<template slot-scope="{ row, index }" slot="header_type">
<div v-if="row.header_type === 1">个人</div>
<div v-else>企业</div>
</template>
<template slot-scope="{ row, index }" slot="action">
<a @click="edit(row)">编辑</a>
<Divider type="vertical" />
<a v-if="row.status != -2" @click="edit(row)">编辑</a>
<Divider v-if="row.status != -2" type="vertical" />
<a @click="orderInfo(row.id)">订单信息</a>
</template>
</Table>

View File

@ -276,7 +276,7 @@ export default {
},
watch: {
$route() {
if (this.$route.fullPath === '/admin/order/list?status=1') {
if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
this.getPath();
}
},
@ -284,7 +284,7 @@ export default {
created() {
// this.timeVal = this.today;
// this.orderData.data = this.timeVal.join('-');
if (this.$route.fullPath === '/admin/order/list?status=1') {
if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
this.getPath();
}
},

View File

@ -2,7 +2,7 @@
<div class="" id="shopp-manager">
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/product/product_list' }"
<router-link :to="{ path: $routeProStr + '/product/product_list' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -2055,7 +2055,7 @@ export default {
this.content = data;
},
cancel() {
this.$router.push({ path: '/admin/product/product_list' });
this.$router.push({ path: this.$routeProStr + '/product/product_list' });
},
// 上传头部token
getToken() {
@ -2765,7 +2765,7 @@ export default {
}
setTimeout(() => {
this.openSubimit = false;
this.$router.push({ path: '/admin/product/product_list' });
this.$router.push({ path: this.$routeProStr + '/product/product_list' });
}, 500);
})
.catch((res) => {

View File

@ -72,7 +72,7 @@ export default {
},
methods: {
mealPay(val) {
this.$router.push({ path: '/admin/setting/sms/sms_pay/index', query: { type: val } });
this.$router.push({ path: this.$routeProStr + '/setting/sms/sms_pay/index', query: { type: val } });
},
getCopyConfig() {
copyConfigApi().then((res) => {

View File

@ -34,7 +34,7 @@
</Row>
</Form>
<div class="Button">
<router-link v-auth="['product-product-save']" :to="'/admin/product/add_product'"
<router-link v-auth="['product-product-save']" :to="$routeProStr + '/product/add_product'"
><Button type="primary" class="bnt mr15" icon="md-add">添加商品</Button></router-link
>
<Button v-auth="['product-crawl-save']" type="success" class="bnt mr15" @click="onCopy">商品采集</Button>
@ -109,7 +109,7 @@
<Divider type="vertical" />
<a @click="edit(row)">编辑</a>
<Divider type="vertical" />
<router-link :to="{ path: '/admin/product/product_reply/' + row.id }"><a>查看评论</a></router-link>
<router-link :to="{ path: $routeProStr + '/product/product_reply/' + row.id }"><a>查看评论</a></router-link>
<Divider type="vertical" />
<a @click="del(row, '恢复商品', index)" v-if="artFrom.type === '6'">恢复商品</a>
<a @click="del(row, '移入回收站', index)" v-else>移到回收站</a>
@ -428,7 +428,7 @@ export default {
},
watch: {
$route() {
if (this.$route.fullPath === '/admin/product/product_list?type=5') {
if (this.$route.fullPath === (this.$routeProStr + '/product/product_list?type=5')) {
this.getPath();
}
},
@ -437,7 +437,7 @@ export default {
activated() {
this.goodHeade();
this.goodsCategory();
if (this.$route.fullPath === '/admin/product/product_list?type=5') {
if (this.$route.fullPath === (this.$routeProStr + '/product/product_list?type=5')) {
this.getPath();
} else {
this.getDataList();
@ -697,7 +697,7 @@ export default {
// 复制淘宝
onCopy() {
this.$router.push({
path: '/admin/product/add_product',
path: this.$routeProStr + '/product/add_product',
query: { type: -1 },
});
// this.modals = true
@ -819,7 +819,7 @@ export default {
},
// 编辑
edit(row) {
this.$router.push({ path: '/admin/product/add_product/' + row.id });
this.$router.push({ path: this.$routeProStr + '/product/add_product/' + row.id });
},
// 确认
del(row, tit, num) {

View File

@ -458,7 +458,7 @@ export default {
methods: {
mealPay(val) {
this.$router.push({
path: '/admin/setting/sms/sms_pay/index',
path: this.$routeProStr + '/setting/sms/sms_pay/index',
query: { type: val },
});
},
@ -663,7 +663,7 @@ export default {
function (editor, uiName) {
// 创建 dialog
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -2,7 +2,7 @@
<div class="article-manager">
<div class="i-layout-page-header">
<div class="i-layout-page-header">
<router-link :to="{ path: '/admin/product/product_list' }" v-if="$route.params.id"
<router-link :to="{ path: $routeProStr + '/product/product_list' }" v-if="$route.params.id"
><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
>
<span class="ivu-page-header-title mr20">商品评论管理</span>

View File

@ -59,7 +59,7 @@ export default {
autoHeightEnabled: false,
initialFrameHeight: 500,
initialFrameWidth: '100%',
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
id: 0,

View File

@ -150,7 +150,7 @@ export default {
'test-dialog',
function (editor, uiName) {
let dialog = new window.UE.ui.Dialog({
iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
editor: editor,
name: uiName,
title: '上传图片',

View File

@ -2,7 +2,7 @@
<div class="diy-page">
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/setting/pages/devise' }"
<router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />

View File

@ -66,7 +66,7 @@
v-if="row.is_diy === 1"
class="target"
ref="target"
:href="`${url}/admin/setting/pages/diy_index?id=${row.id}&name=${row.template_name || 'moren'}`"
:href="`${url}${$routeProStr}/setting/pages/diy_index?id=${row.id}&name=${row.template_name || 'moren'}`"
target="_blank"
>
编辑</a
@ -356,7 +356,7 @@ export default {
if (valid) {
setCookies('moveLink', this.formItem.link);
this.$router.push({
path: '/admin/setting/pages/diy',
path: this.$routeProStr + '/setting/pages/diy',
query: { id: this.formItem.id, type: 1 },
});
} else {
@ -414,7 +414,7 @@ export default {
this.$Message.error('请先设为首页在进行编辑');
} else {
this.$router.push({
path: '/admin/setting/pages/diy',
path: this.$routeProStr + '/setting/pages/diy',
query: { id: row.id, type: 0 },
});
}
@ -427,7 +427,7 @@ export default {
// 添加
add() {
this.$router.push({
path: '/admin/setting/pages/diy_index',
path: this.$routeProStr + '/setting/pages/diy_index',
query: { id: 0, name: '首页', type: 1 },
});
},

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="i-layout-page-header">
<router-link :to="{ path: '/admin/setting/pages/devise' }"
<router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
>
<span class="ivu-page-header-title mr20">页面设计</span>

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/setting/pages/devise' }"
<router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -51,11 +51,11 @@ export default {
let pageId = this.$route.query.id;
let defaultData = this.$store.state.moren.defaultConfig;
this.pageId = parseInt(pageId);
let moveLink = getCookies('moveLink');
let moveLink = 'http://open.net';getCookies('moveLink');
if (Number(this.$route.query.type) === 1) {
this.iframeUrl = `${moveLink}/pages/index/index?type=iframeWindow`;
this.iframeUrl = `http://open.net/pages/index/index?type=iframeWindow`;
} else {
this.iframeUrl = `${location.origin}/pages/index/index?type=iframeWindow`;
this.iframeUrl = `http://open.net/pages/index/index?type=iframeWindow`;
}
diyGetInfo(parseInt(pageId)).then((datas) => {
let data = datas.data.info.value;

View File

@ -157,7 +157,7 @@ export default {
this.$refs[name].validate((valid) => {
if (valid) {
setCookies('moveLink', this.formItem.link);
this.$router.push({ path: '/admin/setting/pages/diy', query: { id: this.formItem.id, type: 1 } });
this.$router.push({ path: this.$routeProStr + '/setting/pages/diy', query: { id: this.formItem.id, type: 1 } });
} else {
return false;
}
@ -206,7 +206,7 @@ export default {
if (row.type) {
this.isTemplate = true;
} else {
this.$router.push({ path: '/admin/setting/pages/diy', query: { id: row.id, type: 0 } });
this.$router.push({ path: this.$routeProStr + '/setting/pages/diy', query: { id: row.id, type: 0 } });
}
},
// 删除

View File

@ -242,7 +242,7 @@ export default {
// 设置
setting(item, row) {
this.$router.push({
path: '/admin/setting/notification/notificationEdit?id=' + row.id,
path: this.$routeProStr + '/setting/notification/notificationEdit?id=' + row.id,
});
},
getData(keys, row, item) {

View File

@ -10,7 +10,7 @@
</div> -->
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/setting/notification/index' }"
<router-link :to="{ path: $routeProStr + '/setting/notification/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />

View File

@ -58,7 +58,12 @@
</Col>
<Col v-bind="grid" v-show="authType">
<FormItem label="路由地址:" prop="menu_path">
<Input v-model="formValidate.menu_path" placeholder="请输入路由地址"></Input>
<Input v-model="formValidate.menu_path" placeholder="请输入路由地址">
<template #prepend>
<span>{{$routeProStr}}</span>
</template>
</Input>
</FormItem>
</Col>
<Col v-bind="grid">

View File

@ -137,7 +137,7 @@ export default {
// 跳转到配置列表页面
goList(row) {
this.$router.push({
path: '/admin/system/config/system_config_tab/list/' + row.id,
path: this.$routeProStr + '/system/config/system_config_tab/list/' + row.id,
});
},
// 添加配置分类

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/system/config/system_config_tab/index' }"
<router-link :to="{ path: $routeProStr + '/system/config/system_config_tab/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -258,7 +258,7 @@ export default {
// 跳转到配置分类页面
goIndex() {
this.$router.push({
path: '/admin/system/config/system_config_tab/index',
path: this.$routeProStr + '/system/config/system_config_tab/index',
});
},
// 添加配置

View File

@ -154,7 +154,7 @@ export default {
// 跳转到组合数据列表页面
goList(row) {
this.$router.push({
path: '/admin/system/config/system_group/list/' + row.id,
path: this.$routeProStr + '/system/config/system_group/list/' + row.id,
});
},
// 列表

View File

@ -2,7 +2,7 @@
<div>
<div class="i-layout-page-header header_top">
<div class="i-layout-page-header fl_header">
<router-link :to="{ path: '/admin/system/config/system_group/index' }"
<router-link :to="{ path: $routeProStr + '/system/config/system_group/index' }"
><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
>
<Divider type="vertical" />
@ -188,7 +188,7 @@ export default {
},
// 返回
back() {
this.$router.push({ path: '/admin/system/config/system_group/index' });
this.$router.push({ path: this.$routeProStr + '/system/config/system_group/index' });
},
getUrl(type) {
let url = 'setting/group_data' + type;

View File

@ -303,7 +303,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
activeIndexs: 0,

View File

@ -535,7 +535,7 @@ export default {
autoHeightEnabled: false, // 编辑器不自动被内容撑高
initialFrameHeight: 500, // 初始容器高度
initialFrameWidth: '100%', // 初始容器宽度
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
a: 0, //判断的隐私协议

View File

@ -83,7 +83,7 @@ export default {
// 记录用户登陆信息
setCookies('file_token', res.data.token, expires);
this.$router.push({
path: '/admin/system/maintain/system_file/opendir',
path: this.$routeProStr + '/system/maintain/system_file/opendir',
});
})
.catch((res) => {

View File

@ -46,7 +46,7 @@
<div class="acea-row row-top off" @mouseenter="quearyEvear(item.id,index)" v-for="(item,index) in upgradeLogList" :key="index" :class="{active:index==dynamic}">
<div class="time">
<div v-if="index == 0">最近更新</div>
<div>{{item.upgrade_time}}</div>
<div>{{item.upgrade_time}}</div>
</div>
<Timeline class="list">
<TimelineItem>
@ -68,7 +68,7 @@
</div>
</div>
</Scroll>
</Card>
<!-- 免责声明 -->
<Modal :loading="modal_loading" v-model="declaration" width="340" height="96" :closable="false" class-name="vertical-center-modal" :mask-closable="false">
@ -269,7 +269,7 @@ export default {
this.$Message.error(res.msg);
});
},
// 可升级列表
async getupgradeableList() {
let res = await upgradeableListApi();
@ -286,8 +286,8 @@ export default {
this.params_key = this.upgradeableList[0].package_key
this.forceVersion = firstVer.first_version + '.' + firstVer.second_version + '.' + firstVer.third_version + '.' + firstVer.fourth_version
}
// arr.forEach((item) => {
// this.$set(
// item,
@ -444,7 +444,7 @@ export default {
AccountLogout()
.then((res) => {
this.$Message.success('您已成功退出');
this.$router.replace('/admin/login');
this.$router.replace(this.$routeProStr + '/login');
localStorage.clear();
removeCookies('token');
removeCookies('expires_time');

View File

@ -35,7 +35,7 @@ export default {
autoHeightEnabled: false,
initialFrameHeight: 500,
initialFrameWidth: '100%',
UEDITOR_HOME_URL: '/admin/UEditor/',
UEDITOR_HOME_URL: '/UEditor/',
serverUrl: '',
},
id: 0,

View File

@ -9,13 +9,15 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'agent_';
const meta = {
auth: true,
};
export default {
path: '/admin/agent',
path: `${roterPre}/agent`,
name: 'agent',
header: 'agent',
redirect: {

View File

@ -9,11 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'app_';
export default {
path: '/admin/app',
path: roterPre + '/app',
name: 'app',
header: 'app',
redirect: {

View File

@ -9,11 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'cms_';
export default {
path: '/admin/cms',
path: roterPre + '/cms',
name: 'cms',
header: 'cms',
redirect: {

View File

@ -9,13 +9,15 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'division_';
const meta = {
auth: true,
};
export default {
path: '/admin/division',
path: roterPre + '/division',
name: 'division',
header: 'division',
redirect: {

View File

@ -9,11 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'echarts_';
export default {
path: '/admin/echarts',
path: roterPre+'/echarts',
name: 'echarts',
header: 'echarts',
redirect: {

View File

@ -9,10 +9,12 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'finance_';
export default {
path: '/admin/finance',
path: roterPre+'/finance',
name: 'finance',
header: 'finance',
meta: {

View File

@ -8,12 +8,14 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'kefu_';
export default [
// 登录
{
path: '/admin/login',
path: roterPre+'/login',
name: 'login',
meta: {
title: '登录',

View File

@ -9,6 +9,8 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
// export default {
// path: '/',
@ -40,7 +42,7 @@ const meta = {
const pre = 'home_';
export default {
path: '/',
path: roterPre + '/',
name: 'home',
header: 'home',
redirect: {
@ -50,7 +52,7 @@ export default {
component: BasicLayout,
children: [
{
path: 'admin/home/',
path: roterPre+'/home/',
name: `${pre}index`,
header: 'home',
meta: {

View File

@ -9,10 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'marketing_';
export default {
path: '/admin/marketing',
path: roterPre+'/marketing',
name: 'marketing',
header: 'marketing',
redirect: {

View File

@ -9,11 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'order_';
export default {
path: '/admin/order',
path: roterPre+'/order',
name: 'order',
header: 'order',
redirect: {

View File

@ -9,11 +9,13 @@
// +---------------------------------------------------------------------
import BasicLayout from '@/components/main';
import setting from '@/setting'
let roterPre = setting.roterPre;
const pre = 'product_';
export default {
path: '/admin/product',
path: roterPre+'/product',
name: 'product',
header: 'product',
meta: {

Some files were not shown because too many files have changed in this diff Show More