201 lines
5.4 KiB
Vue
201 lines
5.4 KiB
Vue
<template>
|
||
<view class="container">
|
||
<view class="input_content">
|
||
<view class="input_content_textarea">
|
||
<textarea v-model="formData.cate_name" placeholder="请输入分类" placeholder-class="placeholderStyle" maxlength="12"/>
|
||
<view><text v-if="formData.cate_name">{{formData.cate_name.length}}</text><text v-else>0</text>/12</view>
|
||
</view>
|
||
<view class="input_content_photo">
|
||
<view v-if="formData.pic" class="input_content_photo_adPh">
|
||
<image class="photos" :src="formData.pic"></image>
|
||
<view class="input_content_photo_adPh_jiao" @click="deleteImage"><image src="../static/images/close.png" mode=""></image></view>
|
||
</view>
|
||
<view v-else class="input_content_photo_adPh" @click="handleChooseImage">
|
||
<view><image src="../static/images/creamer.png" mode="widthFix"></image></view>
|
||
<view>添加图片</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="list_content">
|
||
<view class="list_item">
|
||
<text class="list_item_title">上级分类</text>
|
||
<picker @change="bindPickerChange" :range="classifyArr" range-key="cate_name">
|
||
<input placeholder="请选择上级分类" type="text" disabled readonly v-model="parentClassify">
|
||
<view class='iconfont icon-jiantou'></view>
|
||
</picker>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_title">是否显示</view>
|
||
<view class="input_class">
|
||
<view class="input_class_con">
|
||
<switch :checked="is_show" @change="is_show = !is_show" color="#E93323" style="transform:scale(0.8)" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="handle">
|
||
<view class="handle_button" @click="submit">
|
||
确定
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
import { storeClassifyLst, merClassifyAdd, merClassifyDetail, merClassifyUpdate } from "@/api/product";
|
||
export default {
|
||
components: {
|
||
|
||
},
|
||
data() {
|
||
return {
|
||
parentClassify: '',
|
||
formData: {
|
||
cate_name: '',
|
||
pic: '',
|
||
pid: '',
|
||
is_show: 1,
|
||
sort: 0
|
||
},
|
||
is_show: true,
|
||
index: 0,
|
||
mer_id: '',
|
||
pid: '',
|
||
classifyArr: [],
|
||
|
||
}
|
||
},
|
||
onLoad(options) {
|
||
this.mer_id = options.mer_id
|
||
this.pid = options.pid
|
||
this.getCateList()
|
||
if(this.pid && this.mer_id) this.getCateDetail()
|
||
|
||
},
|
||
onShow() {
|
||
|
||
},
|
||
onReady() {
|
||
|
||
},
|
||
methods: {
|
||
bindPickerChange: function(e) {
|
||
let idx = e.target.value
|
||
this.formData.pid = this.classifyArr[idx]['store_category_id']
|
||
this.parentClassify = this.classifyArr[idx]['cate_name']
|
||
},
|
||
getCateList(){
|
||
storeClassifyLst(this.mer_id)
|
||
.then(res => {
|
||
this.classifyArr = res.data
|
||
this.classifyArr.unshift({cate_name: '顶级分类', store_category_id: 0, children: []})
|
||
if(!this.pid){this.pid = 0;this.parentClassify = this.getStorCateName(0, this.classifyArr)}
|
||
})
|
||
.catch(res => {
|
||
this.$util.Tips({
|
||
title: res
|
||
});
|
||
});
|
||
},
|
||
//获取分类详情
|
||
getCateDetail(){
|
||
let that = this
|
||
uni.showLoading({
|
||
title: '加载中'
|
||
});
|
||
merClassifyDetail(that.mer_id,that.pid)
|
||
.then(res => {
|
||
uni.hideLoading();
|
||
let data = res.data
|
||
that.formData = data
|
||
that.is_show = data.is_show == 1;
|
||
that.parentClassify = that.getStorCateName(data.pid, that.classifyArr)
|
||
})
|
||
.catch(res => {
|
||
that.$util.Tips({
|
||
title: res
|
||
});
|
||
});
|
||
},
|
||
//获取店铺分类名称
|
||
getStorCateName(id, arr) {
|
||
for (let i = 0; i < arr.length; i++) {
|
||
if (arr[i].store_category_id === id) {
|
||
return arr[i]['cate_name']
|
||
}
|
||
}
|
||
},
|
||
handleChooseImage() {
|
||
let that = this;
|
||
that.$util.uploadImageOne('upload/image', function (res) {
|
||
that.$set(that.formData,'pic',res.data.path);
|
||
});
|
||
},
|
||
// 删除图片
|
||
deleteImage(index) {
|
||
this.formData.pic ="";
|
||
},
|
||
submit(){
|
||
let that = this;
|
||
that.formData.is_show = that.is_show ? 1 : 0
|
||
that.formData.pid = that.formData.pid ? that.formData.pid : 0
|
||
let value = that.formData
|
||
if (!value.cate_name) return that.$util.Tips({
|
||
title: '请输入分类名称'
|
||
});
|
||
that.pid ? merClassifyUpdate(that.mer_id,that.pid,that.formData).then(data => {
|
||
if (data.status == 200) {
|
||
that.$util.Tips({
|
||
title: data.message
|
||
});
|
||
setTimeout(()=>{
|
||
uni.redirectTo({
|
||
url: "/pages/product/storeClassification/index?mer_id="+that.mer_id
|
||
})
|
||
},1000)
|
||
}
|
||
}).catch(res => {
|
||
that.$util.Tips({
|
||
title: res
|
||
});
|
||
}) :
|
||
merClassifyAdd(that.mer_id,that.formData).then(data => {
|
||
if (data.status == 200) {
|
||
that.$util.Tips({
|
||
title: data.message
|
||
});
|
||
setTimeout(()=>{
|
||
uni.redirectTo({
|
||
url: "/pages/product/storeClassification/index?mer_id="+that.mer_id
|
||
})
|
||
},1000)
|
||
|
||
}
|
||
|
||
}).catch(res => {
|
||
that.$util.Tips({
|
||
title: res
|
||
});
|
||
})
|
||
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
@import './scss/addStoreClass.scss';
|
||
.uni-input-placeholder {
|
||
color: #BBBBBB;
|
||
}
|
||
</style>
|