This commit is contained in:
java110 2022-01-07 15:28:20 +08:00
commit c6f99a4136
4 changed files with 236 additions and 18 deletions

View File

@ -52,16 +52,40 @@
<option selected disabled value="">必填,请选择跳转类型</option>
<option value="1">站内</option>
<option value="2">站外</option>
<option value="S">店铺</option>
<option value="P">商品</option>
</select>
</div>
</div>
<div class="form-group row" v-if="addHousekeepingTypeInfo.typeCd == '2002'">
<div class="form-group row" v-if="addHousekeepingTypeInfo.typeCd == '2002' && (addHousekeepingTypeInfo.skipType == '1' || addHousekeepingTypeInfo.skipType == '2')">
<label class="col-sm-2 col-form-label">URL</label>
<div class="col-sm-10">
<input v-model="addHousekeepingTypeInfo.url" type="text" placeholder="选填请填写URL"
class="form-control">
<label v-if="addHousekeepingTypeInfo.skipType == '2'">请使用浏览器打开手机商城,复制#号已后的全部地址。如:/pages/market/market...直至结束</label>
<label v-if="addHousekeepingTypeInfo.skipType == '1'">输入外部完整地址需加上http或者https。</label>
<label v-if="addHousekeepingTypeInfo.skipType == '1'">请使用浏览器打开手机商城,复制#号已后的全部地址。如:/pages/market/market...直至结束</label>
<label v-if="addHousekeepingTypeInfo.skipType == '2'">输入外部完整地址需加上http或者https。</label>
</div>
</div>
<div class="form-group row" v-if="addHousekeepingTypeInfo.skipType == 'S' || addHousekeepingTypeInfo.skipType == 'P'">
<label class="col-sm-2 col-form-label">选择店铺</label>
<div class="col-sm-10">
<select class="custom-select" v-model="addHousekeepingTypeInfo.shopId" @change="selProducts">
<option selected value="">请选择店铺</option>
<option v-for="(item,index) in addHousekeepingType.shops" :value="item.shopId">
{{item.shopName}}
</option>
</select>
</div>
</div>
<div class="form-group row" v-if="addHousekeepingTypeInfo.skipType == 'P'">
<label class="col-sm-2 col-form-label">选择商品</label>
<div class="col-sm-10">
<select class="custom-select" v-model="addHousekeepingTypeInfo.productId">
<option selected value="">请选择商品</option>
<option v-for="(item,index) in addHousekeepingType.products" :value="item.productId">
{{item.prodName}}
</option>
</select>
</div>
</div>
<div class="form-group row">

View File

@ -16,12 +16,18 @@
url: '',
skipType: '',
isShow: '',
typeCd: ''
typeCd: '',
shopId: '',
storeId: '',
productId: ''
},
addHousekeepingType:{
shops:[],
products:[]
}
},
_initMethod: function () {
vc.component._listShops();
},
_initEvent: function () {
vc.on('addHousekeepingType', 'openAddHousekeepingTypeModal', function () {
@ -29,7 +35,6 @@
});
vc.on("addHousekeepingType", "notifyUploadCoverImage", function (_param) {
if (_param.length > 0) {
console.log(_param);
vc.component.addHousekeepingTypeInfo.hktIcon = _param[0];
} else {
vc.component.addHousekeepingTypeInfo.hktIcon = '';
@ -113,6 +118,24 @@
return;
}
if($that.addHousekeepingTypeInfo.skipType == 'S'){
if($that.addHousekeepingTypeInfo.shopId == ""){
vc.toast("请选择店铺");
return;
}
$that.addHousekeepingTypeInfo.url = '/pages/cate/cate?shopId='+$that.addHousekeepingTypeInfo.shopId;
}
if( $that.addHousekeepingTypeInfo.skipType == 'P'){
if($that.addHousekeepingTypeInfo.shopId == ""){
vc.toast("请选择店铺");
return;
}
if($that.addHousekeepingTypeInfo.productId == ""){
vc.toast("请选择商品");
return;
}
$that.addHousekeepingTypeInfo.url = '/pages/goods/goods?productId=' + $that.addHousekeepingTypeInfo.productId + '&shopId='+$that.addHousekeepingTypeInfo.shopId;
}
$that.addHousekeepingTypeInfo.shopId = '9999';
//不提交数据将数据 回调给侦听处理
if (vc.notNull($props.callBackListener)) {
@ -120,7 +143,6 @@
$('#addHousekeepingTypeModel').modal('hide');
return;
}
vc.http.apiPost(
'/housekeepingType/saveHousekeepingType',
JSON.stringify(vc.component.addHousekeepingTypeInfo),
@ -148,6 +170,59 @@
});
},
_listShops: function () {
var param = {
params : {
page : 1,
row : 100
}
};
//发送get请求
vc.http.apiGet('/shop/queryShopsByAdmin',
param,
function (json, res) {
var _shopManageInfo = JSON.parse(json);
vc.component.addHousekeepingType.shops = _shopManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listProducts: function () {
var param = {
params : {
page : 1,
row : 100,
shopId:vc.component.addHousekeepingTypeInfo.shopId,
storeId:vc.component.addHousekeepingTypeInfo.storeId
}
};
//发送get请求
vc.http.apiGet('/product/queryProduct',
param,
function (json, res) {
var _productManageInfo = JSON.parse(json);
vc.component.addHousekeepingType.products = _productManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
// 分类改变事件
selProducts: function () {
if (vc.component.addHousekeepingTypeInfo.shopId == '') {
vc.component.addHousekeepingType.products = [];
return;
}
if(vc.component.addHousekeepingTypeInfo.skipType =="P"){
vc.component.addHousekeepingType.shops.forEach((item, index) => {
if (item.shopId == vc.component.addHousekeepingTypeInfo.shopId ) {
vc.component.addHousekeepingTypeInfo.storeId = item.storeId;
}
});
vc.component._listProducts();
}
},
clearAddHousekeepingTypeInfo: function () {
vc.component.addHousekeepingTypeInfo = {
hktName: '',
@ -158,9 +233,13 @@
url: '',
skipType: '',
isShow: '',
typeCd: ''
typeCd: '',
shopId: '',
productId: '',
storeId: ''
};
vc.component.addHousekeepingType.shops=[];
vc.component.addHousekeepingType.products=[];
}
}
});

View File

@ -53,16 +53,41 @@
<option selected disabled value="">必填,请选择跳转类型</option>
<option value="1">站内</option>
<option value="2">站外</option>
<option value="S">店铺</option>
<option value="P">商品</option>
</select>
</div>
</div>
<div class="form-group row" v-if="editHousekeepingTypeInfo.typeCd == '2002'">
<div class="form-group row" v-if="editHousekeepingTypeInfo.typeCd == '2002' && (editHousekeepingTypeInfo.skipType == '1' || editHousekeepingTypeInfo.skipType == '2')">
<label class="col-sm-2 col-form-label">URL</label>
<div class="col-sm-10">
<input v-model="editHousekeepingTypeInfo.url" type="text" placeholder="选填请填写URL"
class="form-control">
<label v-if="editHousekeepingTypeInfo.skipType == '2'">请使用浏览器打开手机商城,复制#号已后的全部地址。如:/pages/market/market...直至结束</label>
<label v-if="editHousekeepingTypeInfo.skipType == '1'">输入外部完整地址需加上http或者https。</label>
<label v-if="editHousekeepingTypeInfo.skipType == '1'">请使用浏览器打开手机商城,复制#号已后的全部地址。如:/pages/market/market...直至结束</label>
<label v-if="editHousekeepingTypeInfo.skipType == '2'">输入外部完整地址需加上http或者https。</label>
</div>
</div>
<div class="form-group row" v-if="editHousekeepingTypeInfo.skipType == 'S' || editHousekeepingTypeInfo.skipType == 'P'">
<label class="col-sm-2 col-form-label">选择店铺</label>
<div class="col-sm-10">
<select class="custom-select" v-model="editHousekeepingTypeInfo.shopId" @change="selEditProducts">
<option selected value="">请选择店铺</option>
<option v-for="(item,index) in editHousekeepingType.shops" :value="item.shopId">
{{item.shopName}}
</option>
</select>
</div>
</div>
<div class="form-group row" v-if="editHousekeepingTypeInfo.skipType == 'P'">
<label class="col-sm-2 col-form-label">选择商品</label>
<div class="col-sm-10">
<select class="custom-select" v-model="editHousekeepingTypeInfo.productId">
<option selected value="">请选择商品</option>
<option v-for="(item,index) in editHousekeepingType.products" :value="item.productId">
{{item.prodName}}
</option>
</select>
</div>
</div>
<div class="form-group row">
@ -83,7 +108,7 @@
</div>
<div class="ibox-content">
<button class="btn btn-primary float-right" type="button" v-on:click="editHousekeepingType()"><i
<button class="btn btn-primary float-right" type="button" v-on:click="saveEditHousekeepingType()"><i
class="fa fa-check"></i>&nbsp;保存</button>
<button type="button" class="btn btn-warning float-right" style="margin-right:20px;"
data-dismiss="modal">取消</button>

View File

@ -12,12 +12,18 @@
url: '',
skipType: '',
isShow: '',
typeCd: ''
typeCd: '',
shopId: '',
storeId: '',
productId: ''
},
editHousekeepingType:{
shops:[],
products:[]
}
},
_initMethod: function () {
vc.component._listEditShops();
},
_initEvent: function () {
vc.on('editHousekeepingType', 'openEditHousekeepingTypeModal', function (_params) {
@ -26,6 +32,18 @@
vc.copyObject(_params, vc.component.editHousekeepingTypeInfo);
let _photos = [];
_photos.push(_params.hktIcon);
if( $that.editHousekeepingTypeInfo.skipType == 'P' ||$that.editHousekeepingTypeInfo.skipType == 'S'){
vc.component.editHousekeepingType.shops.forEach((item, index) => {
if ( vc.component.editHousekeepingTypeInfo.url.indexOf(item.shopId) != -1 ) {
vc.component.editHousekeepingTypeInfo.shopId = item.shopId;
vc.component.editHousekeepingTypeInfo.storeId = item.storeId;
}
});
}
if( $that.editHousekeepingTypeInfo.skipType == 'P'){
vc.component._listEditProducts();
vc.component.editHousekeepingTypeInfo.productId = vc.component.editHousekeepingTypeInfo.url.slice(29, 47);
}
vc.emit('editHousekeepingType', 'uploadImage', 'notifyPhotos', _photos);
});
vc.on("editHousekeepingType", "notifyUploadCoverImage", function (_param) {
@ -116,11 +134,30 @@
});
},
editHousekeepingType: function () {
saveEditHousekeepingType: function () {
if (!vc.component.editHousekeepingTypeValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
if($that.editHousekeepingTypeInfo.skipType == 'S'){
if($that.editHousekeepingTypeInfo.shopId == ""){
vc.toast("请选择店铺");
return;
}
$that.editHousekeepingTypeInfo.url = '/pages/cate/cate?shopId='+$that.editHousekeepingTypeInfo.shopId;
}
if( $that.editHousekeepingTypeInfo.skipType == 'P'){
if($that.editHousekeepingTypeInfo.shopId == ""){
vc.toast("请选择店铺");
return;
}
if($that.editHousekeepingTypeInfo.productId == ""){
vc.toast("请选择商品");
return;
}
$that.editHousekeepingTypeInfo.url = '/pages/goods/goods?productId=' + $that.editHousekeepingTypeInfo.productId + '&shopId='+$that.editHousekeepingTypeInfo.shopId;
}
$that.editHousekeepingTypeInfo.shopId = '9999';
vc.http.apiPost(
'/housekeepingType/updateHousekeepingType',
@ -145,6 +182,59 @@
vc.message(errInfo);
});
},
_listEditShops: function () {
var param = {
params : {
page : 1,
row : 100
}
};
//发送get请求
vc.http.apiGet('/shop/queryShopsByAdmin',
param,
function (json, res) {
var _shopManageInfo = JSON.parse(json);
vc.component.editHousekeepingType.shops = _shopManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listEditProducts: function () {
var param = {
params : {
page : 1,
row : 100,
shopId:vc.component.editHousekeepingTypeInfo.shopId,
storeId:vc.component.editHousekeepingTypeInfo.storeId
}
};
//发送get请求
vc.http.apiGet('/product/queryProduct',
param,
function (json, res) {
var _productManageInfo = JSON.parse(json);
vc.component.editHousekeepingType.products = _productManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
// 分类改变事件
selEditProducts: function () {
if (vc.component.editHousekeepingTypeInfo.shopId == '') {
vc.component.editHousekeepingType.products = [];
return;
}
if(vc.component.editHousekeepingTypeInfo.skipType =="P"){
vc.component.editHousekeepingType.shops.forEach((item, index) => {
if (item.shopId == vc.component.editHousekeepingTypeInfo.shopId ) {
vc.component.editHousekeepingTypeInfo.storeId = item.storeId;
}
});
vc.component._listEditProducts();
}
},
refreshEditHousekeepingTypeInfo: function () {
vc.component.editHousekeepingTypeInfo = {
hktId: '',