套餐管理
This commit is contained in:
parent
4ef06721e1
commit
870d8c473b
@ -28,7 +28,7 @@ class PackageController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$conditions = [];
|
||||
$conditions = $this->request->all();
|
||||
$conditions['limit'] = $this->request->get('limit', 20);
|
||||
|
||||
$packages = $this->packageService->index($conditions);
|
||||
|
@ -25,9 +25,11 @@ class PackageRepository extends Repository
|
||||
* @var array
|
||||
*/
|
||||
protected $fieldSearchable = [
|
||||
'id' => '=',
|
||||
'name' => 'like',
|
||||
'created_at' => 'like',
|
||||
'id' => '=',
|
||||
'type' => '=',
|
||||
'sn' => 'like',
|
||||
'name' => 'like',
|
||||
'carrier_operator' => '=',
|
||||
];
|
||||
|
||||
public function model()
|
||||
@ -59,6 +61,22 @@ class PackageRepository extends Repository
|
||||
$this->model = $this->model->whereIn('id', $conditions['id']);
|
||||
}
|
||||
|
||||
if (isset($conditions['type'])) {
|
||||
$this->model = $this->model->where('type', $conditions['type']);
|
||||
}
|
||||
|
||||
if (isset($conditions['sn'])) {
|
||||
$this->model = $this->model->where('sn', "%{$conditions['sn']}%");
|
||||
}
|
||||
|
||||
if (isset($conditions['name'])) {
|
||||
$this->model = $this->model->where('name', "%{$conditions['name']}%");
|
||||
}
|
||||
|
||||
if (isset($conditions['carrier_operator'])) {
|
||||
$this->model = $this->model->where('carrier_operator', $conditions['carrier_operator']);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,29 @@ class Package extends PackageBase
|
||||
|
||||
public $incrementing = false;
|
||||
|
||||
protected $fillable = [
|
||||
'id',
|
||||
'parent_id',
|
||||
'sn',
|
||||
'name',
|
||||
'type',
|
||||
'carrier_operator',
|
||||
'cost_price',
|
||||
'guide_price',
|
||||
'renewal_cost_price',
|
||||
'renewal_guide_price',
|
||||
'flows',
|
||||
'voices',
|
||||
'messages',
|
||||
'has_messages',
|
||||
'has_lbs',
|
||||
'reset_months',
|
||||
'service_months',
|
||||
'effect_months',
|
||||
'delay_months',
|
||||
'description',
|
||||
];
|
||||
|
||||
public function cards()
|
||||
{
|
||||
return $this->hasMany(Card::class, 'virtual_package_id', 'id');
|
||||
|
@ -30,6 +30,7 @@
|
||||
"@vue/cli-service": "^3.0.1",
|
||||
"@vue/eslint-config-standard": "^3.0.0-beta.10",
|
||||
"chai": "^4.1.2",
|
||||
"iview-loader": "^1.2.2",
|
||||
"less": "^2.7.3",
|
||||
"less-loader": "^4.0.5",
|
||||
"lint-staged": "^6.0.0",
|
||||
|
@ -58,14 +58,7 @@
|
||||
</div>
|
||||
|
||||
<div class="page-turn-wrap" v-if="list_data">
|
||||
<Page
|
||||
:current="Number(list_data.current_page)"
|
||||
:page-size="Number(list_data.per_page)"
|
||||
:total="Number(list_data.total)"
|
||||
@on-change="index"
|
||||
show-elevator
|
||||
show-total
|
||||
></Page>
|
||||
<Page :current="Number(list_data.current_page)" :page-size="Number(list_data.per_page)" :total="Number(list_data.total)" @on-change="index" show-elevator show-total></Page>
|
||||
</div>
|
||||
|
||||
<ui-edit :data="editObj.data" :show.sync="editObj.show" @add-success="index" @update-success="index(list_data.current_page)"></ui-edit>
|
||||
|
@ -10,7 +10,7 @@ export default {
|
||||
params: {
|
||||
name: ''
|
||||
},
|
||||
trashed: '',
|
||||
trashed: null,
|
||||
list_data: null,
|
||||
editObj: {
|
||||
show: false,
|
||||
@ -192,7 +192,7 @@ export default {
|
||||
for (let k in this.params) {
|
||||
this.params[k] = '';
|
||||
}
|
||||
this.trashed = '';
|
||||
this.trashed = null;
|
||||
this.index(1);
|
||||
}
|
||||
}
|
||||
|
@ -51,23 +51,10 @@
|
||||
</div>
|
||||
|
||||
<div class="page-turn-wrap" v-if="list_data">
|
||||
<Page
|
||||
:current="Number(list_data.current_page)"
|
||||
:page-size="Number(list_data.per_page)"
|
||||
:total="Number(list_data.total)"
|
||||
@on-change="index"
|
||||
show-elevator
|
||||
show-total
|
||||
></Page>
|
||||
<Page :current="Number(list_data.current_page)" :page-size="Number(list_data.per_page)" :total="Number(list_data.total)" @on-change="index" show-elevator show-total></Page>
|
||||
</div>
|
||||
|
||||
<ui-edit
|
||||
:data="editObj.data"
|
||||
:isUpdate.sync="editObj.isUpdate"
|
||||
:show.sync="editObj.show"
|
||||
@add-success="index"
|
||||
@update-success="index(list_data.current_page)"
|
||||
></ui-edit>
|
||||
<ui-edit :data="editObj.data" :isUpdate.sync="editObj.isUpdate" :show.sync="editObj.show" @add-success="index" @update-success="index(list_data.current_page)"></ui-edit>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -14,7 +14,6 @@ export default {
|
||||
username: ''
|
||||
}
|
||||
},
|
||||
trashed: '',
|
||||
list_data: null,
|
||||
editObj: {
|
||||
show: false,
|
||||
@ -221,7 +220,6 @@ export default {
|
||||
for (let k in this.params) {
|
||||
this.params[k] = '';
|
||||
}
|
||||
this.trashed = '';
|
||||
this.index(1);
|
||||
}
|
||||
}
|
||||
|
@ -67,9 +67,9 @@
|
||||
|
||||
<li class="handle-item w-250">
|
||||
<Select clearable placeholder="运营商" v-model="params.carrier_operator">
|
||||
<Option :value="'0'">联通</Option>
|
||||
<Option :value="'1'">移动</Option>
|
||||
<Option :value="'2'">电信</Option>
|
||||
<Option :value="0">联通</Option>
|
||||
<Option :value="1">移动</Option>
|
||||
<Option :value="2">电信</Option>
|
||||
</Select>
|
||||
</li>
|
||||
|
||||
@ -90,14 +90,7 @@
|
||||
</div>
|
||||
|
||||
<div class="page-turn-wrap" v-if="list_data">
|
||||
<Page
|
||||
:current="Number(list_data.current_page)"
|
||||
:page-size="Number(list_data.per_page)"
|
||||
:total="Number(list_data.total)"
|
||||
@on-change="index"
|
||||
show-elevator
|
||||
show-total
|
||||
></Page>
|
||||
<Page :current="Number(list_data.current_page)" :page-size="Number(list_data.per_page)" :total="Number(list_data.total)" @on-change="index" show-elevator show-total></Page>
|
||||
</div>
|
||||
|
||||
<ui-edit :data="editObj.data" :show.sync="editObj.show" @add-success="index" @update-success="index(list_data.current_page)"></ui-edit>
|
||||
|
@ -1,18 +1,16 @@
|
||||
<template>
|
||||
<Modal :closable="false" :mask-closable="false" :title="data ? '编辑套餐' : '添加套餐'" @on-visible-change="visibleChange" v-model="my_show">
|
||||
<div class="page-edit-wrap uinn-lr20">
|
||||
<Drawer :closable="false" :mask-closable="false" :title="data ? '编辑套餐' : '添加套餐'" @on-visible-change="visibleChange" v-model="my_show" width="500">
|
||||
<div class="page-edit-wrap">
|
||||
<ui-loading :show="page_loading.show"></ui-loading>
|
||||
|
||||
<ul>
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐编号:</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Input :disabled="data?true:false" v-model.trim="params.sn"></Input>
|
||||
</p>
|
||||
<Input :disabled="data ? true : false" v-model.trim="params.sn"></Input>
|
||||
<ul class="common-tips-wraper umar-t5">
|
||||
<li class="t-title">提示</li>
|
||||
<li class="t-content">仅能输入[A-Z0-9-_]的字符,如未输入将根据规则自动生成</li>
|
||||
<li class="t-content">如未输入将根据规则自动生成</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@ -21,9 +19,7 @@
|
||||
<span class="title-require">*</span>套餐名称:
|
||||
</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Input :disabled="data?true:false" v-model.trim="params.name"></Input>
|
||||
</p>
|
||||
<Input v-model.trim="params.name"></Input>
|
||||
<ul class="common-tips-wraper umar-t5">
|
||||
<li class="t-title">提示</li>
|
||||
<li class="t-content">长度在2-32之间</li>
|
||||
@ -35,94 +31,118 @@
|
||||
<span class="title-require">*</span>运营商:
|
||||
</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Select v-model="params.carrier_operator">
|
||||
<Option :value="'0'">联通</Option>
|
||||
<Option :value="'1'">移动</Option>
|
||||
<Option :value="'2'">电信</Option>
|
||||
</Select>
|
||||
</p>
|
||||
<Select :disabled="data ? true : false" v-model="params.carrier_operator">
|
||||
<Option :value="0">联通</Option>
|
||||
<Option :value="1">移动</Option>
|
||||
<Option :value="2">电信</Option>
|
||||
</Select>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐成本价:</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<InputNumber :max="99999" :min="0" :step="0.01" v-model="params.cost_price"></InputNumber>(元)
|
||||
</p>
|
||||
<InputNumber :formatter="value => Number(value/100).toFixed(2)" :max="99999" :min="0" :step="0.01" v-model="params.cost_price"></InputNumber> 元
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐指导价:</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<InputNumber :max="99999" :min="0" :step="0.01" v-model="params.guide_price"></InputNumber>(元)
|
||||
</p>
|
||||
<InputNumber :formatter="value => Number(value/100).toFixed(2)" :max="99999" :min="0" :step="0.01" v-model="params.guide_price"></InputNumber> 元
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">续费成本价:</div>
|
||||
<div class="ui-list-content">
|
||||
<InputNumber :formatter="value => Number(value/100).toFixed(2)" :max="99999" :min="0" :step="0.01" v-model="params.renewal_cost_price"></InputNumber> 元
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">续费指导价:</div>
|
||||
<div class="ui-list-content">
|
||||
<InputNumber :formatter="value => Number(value/100).toFixed(2)" :max="99999" :min="0" :step="0.01" v-model="params.renewal_guide_price"></InputNumber> 元
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐流量</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.flows"></InputNumber>(M)
|
||||
</p>
|
||||
<InputNumber :disabled="data ? true : false" :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.flows"></InputNumber> (M)
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐语音</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<InputNumber :max="99999" :min="0" :step="1" v-model="params.voices"></InputNumber>(分钟)
|
||||
</p>
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.voices"></InputNumber> 分钟
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐短信</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<InputNumber :max="99999" :min="0" :step="1" v-model="params.messages"></InputNumber>(分钟)
|
||||
</p>
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.messages"></InputNumber> 分钟
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">短信服务</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Switch @on-change="switchChange" v-model="params.has_messages"/>
|
||||
</p>
|
||||
<Switch :false-value="0" :true-value="1" v-model="params.has_messages"/>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">LBS服务</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Switch @on-change="switchChange" v-model="params.has_lbs"/>
|
||||
</p>
|
||||
<Switch :false-value="0" :true-value="1" v-model="params.has_lbs"/>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">备注:</div>
|
||||
<div class="ui-list-title">重置周期</div>
|
||||
<div class="ui-list-content">
|
||||
<p>
|
||||
<Input :maxlength="32" v-model.trim="params.remark"></Input>
|
||||
</p>
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.reset_months"></InputNumber> 月
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">套餐周期</div>
|
||||
<div class="ui-list-content">
|
||||
<InputNumber :disabled="data ? true : false" :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.service_months"></InputNumber> 月
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">生效延迟</div>
|
||||
<div class="ui-list-content">
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.effect_months"></InputNumber> 月
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">服务延长</div>
|
||||
<div class="ui-list-content">
|
||||
<InputNumber :formatter="value => Number(value).toFixed(0)" :max="99999" :min="0" :step="1" v-model="params.delay_months"></InputNumber> 月
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="ui-list">
|
||||
<div class="ui-list-title">说明:</div>
|
||||
<div class="ui-list-content">
|
||||
<Input :maxlength="255" v-model.trim="params.description"></Input>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<footer class="ta-c" slot="footer">
|
||||
<Button @click="clear" class="w-80" ghost type="primary">取消</Button>
|
||||
<div class="ta-c">
|
||||
<Button @click="clear" class="w-80 umar-r5" ghost type="primary">取消</Button>
|
||||
<Button :loading="loading" @click="ok" class="w-80" type="primary">提交</Button>
|
||||
</footer>
|
||||
</Modal>
|
||||
</div>
|
||||
</Drawer>
|
||||
</template>
|
||||
|
||||
<script src="./js/edit.js"></script>
|
||||
|
@ -28,9 +28,9 @@
|
||||
<ul class="handle-wraper">
|
||||
<li class="handle-item w-250">
|
||||
<Select clearable placeholder="运营商" v-model="params.carrier_operator">
|
||||
<Option :value="'0'">联通</Option>
|
||||
<Option :value="'1'">移动</Option>
|
||||
<Option :value="'2'">电信</Option>
|
||||
<Option :value="0">联通</Option>
|
||||
<Option :value="1">移动</Option>
|
||||
<Option :value="2">电信</Option>
|
||||
</Select>
|
||||
</li>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import * as API from 'api/virtual/companies';
|
||||
import * as API from 'api/virtual/packages';
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@ -8,7 +8,7 @@ export default {
|
||||
},
|
||||
data: {
|
||||
type: Object,
|
||||
default () {
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -21,14 +21,21 @@ export default {
|
||||
params: {
|
||||
sn: '',
|
||||
name: '',
|
||||
carrier_operator: '',
|
||||
carrier_operator: 255,
|
||||
cost_price: 0,
|
||||
guide_price: 0,
|
||||
renewal_cost_price: 0,
|
||||
renewal_guide_price: 0,
|
||||
flows: 0,
|
||||
voices: 0,
|
||||
messages: 0,
|
||||
has_messages: 0,
|
||||
has_lbs: 0
|
||||
has_lbs: 0,
|
||||
reset_months: 0,
|
||||
service_months: 0,
|
||||
effect_months: 0,
|
||||
delay_months: 0,
|
||||
description: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -49,15 +56,29 @@ export default {
|
||||
methods: {
|
||||
ok() {
|
||||
if (!this.params.name) {
|
||||
this.$Message.info('请填写企业名称');
|
||||
this.$Message.info('请填写套餐名称');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(/[\s\S]{2,32}/.test(this.params.contacts))) {
|
||||
this.$Message.info('联系人长度在2-32之间');
|
||||
if (this.params.sn && !/^[A-Z0-9_]{2,32}$/.test(this.params.sn)) {
|
||||
this.$Message.info('套餐编码为大写字母、数字、下划线的2-32位字符');
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.params.carrier_operator === 255) {
|
||||
this.$Message.info('请选择运营商');
|
||||
return;
|
||||
}
|
||||
|
||||
let type = this.$route.query.type;
|
||||
|
||||
if (typeof (type) === 'undefined') {
|
||||
this.$Message.error('非法请求');
|
||||
return;
|
||||
}
|
||||
|
||||
this.params.type = type;
|
||||
|
||||
if (this.data) {
|
||||
// 编辑
|
||||
API.update(this.params, this.data.id).then(res => {
|
||||
@ -92,14 +113,19 @@ export default {
|
||||
},
|
||||
|
||||
clear() {
|
||||
let strKeys = ['sn', 'name', 'carrier_operator', 'description'];
|
||||
for (let k in this.params) {
|
||||
this.params[k] = '';
|
||||
if (strKeys.indexOf(k) === -1) {
|
||||
this.params[k] = 0;
|
||||
} else {
|
||||
this.params[k] = '';
|
||||
}
|
||||
}
|
||||
|
||||
this.my_show = false;
|
||||
},
|
||||
switchChange(status) {
|
||||
console.log(status);
|
||||
console.log(this.params);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -9,7 +9,7 @@ export default {
|
||||
params: {
|
||||
name: ''
|
||||
},
|
||||
trashed: '',
|
||||
trashed: null,
|
||||
list_data: null,
|
||||
editObj: {
|
||||
show: false,
|
||||
@ -54,23 +54,31 @@ export default {
|
||||
{
|
||||
title: '套餐编号',
|
||||
key: 'sn',
|
||||
width: 300
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: '套餐名称',
|
||||
key: 'name'
|
||||
key: 'name',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '运营商',
|
||||
key: 'carrier_operator_name'
|
||||
key: 'carrier_operator_name',
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: '流量值(M)',
|
||||
key: 'flows'
|
||||
key: 'flows',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '套餐周期(月)',
|
||||
key: 'service_months'
|
||||
key: 'service_months',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '说明',
|
||||
key: 'description'
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
@ -80,6 +88,7 @@ export default {
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
width: 170,
|
||||
render: (h, {
|
||||
row,
|
||||
column,
|
||||
@ -167,13 +176,7 @@ export default {
|
||||
};
|
||||
},
|
||||
created() {
|
||||
let type = this.$route.query.type;
|
||||
|
||||
if (typeof(type) === 'undefined') {
|
||||
return this.$Message.error('非法请求');
|
||||
}
|
||||
|
||||
this.index(1, type);
|
||||
this.index(1);
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
@ -181,8 +184,15 @@ export default {
|
||||
* @param {Number} page [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
index(page = 1, type = 0) {
|
||||
let data = this.searchDataHandle(this.params, { page }, { 'trashed': this.trashed, 'orderBy': 'id', 'sortedBy': 'asc' });
|
||||
index(page = 1) {
|
||||
let type = this.$route.query.type;
|
||||
|
||||
if (typeof(type) === 'undefined') {
|
||||
this.$Message.error('非法请求');
|
||||
return;
|
||||
}
|
||||
|
||||
let data = this.searchDataHandle(this.params, { page }, { 'type': type, 'trashed': this.trashed, 'orderBy': 'id', 'sortedBy': 'asc' });
|
||||
this.isShowLoading(true);
|
||||
API.index(data).then(res => {
|
||||
this.isShowLoading(false);
|
||||
@ -224,7 +234,7 @@ export default {
|
||||
for (let k in this.params) {
|
||||
this.params[k] = '';
|
||||
}
|
||||
this.trashed = '';
|
||||
this.trashed = null;
|
||||
this.index(1);
|
||||
}
|
||||
}
|
||||
|
@ -39,9 +39,9 @@
|
||||
<ul class="handle-wraper">
|
||||
<li class="handle-item w-250">
|
||||
<Select clearable placeholder="运营商" v-model="params.carrier_operator">
|
||||
<Option :value="'0'">联通</Option>
|
||||
<Option :value="'1'">移动</Option>
|
||||
<Option :value="'2'">电信</Option>
|
||||
<Option :value="0">联通</Option>
|
||||
<Option :value="1">移动</Option>
|
||||
<Option :value="2">电信</Option>
|
||||
</Select>
|
||||
</li>
|
||||
|
||||
|
@ -13,7 +13,6 @@ export default {
|
||||
name: null,
|
||||
package_name: null
|
||||
},
|
||||
trashed: '',
|
||||
editObj: {
|
||||
show: false,
|
||||
isUpdate: false,
|
||||
|
@ -24,9 +24,19 @@ module.exports = {
|
||||
.set('service', resolve('src/service'))
|
||||
.set('util', resolve('src/service/util'))
|
||||
.set('validate', resolve('src/service/validate'));
|
||||
},
|
||||
runtimeCompiler: true,
|
||||
productionSourceMap: true
|
||||
|
||||
config.module
|
||||
.rule('vue')
|
||||
.use('iview-loader')
|
||||
.loader('iview-loader')
|
||||
.tap(options => {
|
||||
options = {
|
||||
prefix: true
|
||||
};
|
||||
return options;
|
||||
});
|
||||
}
|
||||
|
||||
// 这里写你调用接口的基础路径,来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为 '' ,即空字符串
|
||||
// devServer: {
|
||||
// proxy: 'localhost:3000'
|
||||
|
Loading…
x
Reference in New Issue
Block a user