提交 6a6fb4a8 authored 作者: 王鹏飞's avatar 王鹏飞

bug fixes

上级 00aa690f
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -82,17 +82,22 @@ export default { ...@@ -82,17 +82,22 @@ export default {
}) })
}, },
handleSuccess(response, file) { handleSuccess(response, file) {
let value = null
if (this.isMultiple) { if (this.isMultiple) {
this.fileList.push({ name: file.name, url: file.raw.url }) this.fileList.push({ name: file.name, url: file.raw.url })
this.$emit('input', this.fileList) value = this.fileList
} else { } else {
this.fileList = [file.raw.url] this.fileList = [file.raw.url]
this.$emit('input', file.raw.url) value = file.raw.url
} }
this.$emit('input', value)
this.dispatch('ElFormItem', 'el.form.change', value)
}, },
// 删除 // 删除
handleRemove(file, fileList) { handleRemove(file, fileList) {
this.$emit('input', this.isMultiple ? fileList : '') const value = this.isMultiple ? fileList : ''
this.$emit('input', value)
this.dispatch('ElFormItem', 'el.form.change', value)
}, },
// 预览 // 预览
handlePreview(file) { handlePreview(file) {
...@@ -101,6 +106,21 @@ export default { ...@@ -101,6 +106,21 @@ export default {
}, },
handleExceed(file, fileList) { handleExceed(file, fileList) {
this.$message({ type: 'error', message: '文件超出个数限制' }) this.$message({ type: 'error', message: '文件超出个数限制' })
},
dispatch(componentName, eventName, params) {
var parent = this.$parent || this.$root
var name = parent.$options.componentName
while (parent && (!name || name !== componentName)) {
parent = parent.$parent
if (parent) {
name = parent.$options.componentName
}
}
if (parent) {
parent.$emit.apply(parent, [eventName].concat(params))
}
} }
} }
} }
......
...@@ -2,8 +2,8 @@ import Vue from 'vue' ...@@ -2,8 +2,8 @@ import Vue from 'vue'
import router from './router' import router from './router'
import store from './store' import store from './store'
import App from './app.vue' import App from './app.vue'
import './style.scss'
import ElementUI from 'element-ui' import ElementUI from 'element-ui'
import './style.scss'
import BeforeEnter from './utils/beforeEnter' import BeforeEnter from './utils/beforeEnter'
const before = new BeforeEnter() const before = new BeforeEnter()
......
...@@ -228,7 +228,6 @@ export default { ...@@ -228,7 +228,6 @@ export default {
.filter-time { .filter-time {
.el-radio { .el-radio {
margin: 0 10px 0 0 !important; margin: 0 10px 0 0 !important;
border-radius: 0;
} }
::v-deep .el-radio__input { ::v-deep .el-radio__input {
display: none !important; display: none !important;
......
...@@ -2,7 +2,15 @@ ...@@ -2,7 +2,15 @@
<app-card> <app-card>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-form-item label="客户电话" prop="shop_tel"> <el-form-item label="客户电话" prop="shop_tel">
<el-input v-model="ruleForm.shop_tel"></el-input> <el-radio-group v-model="telRadio" @change="radioChange">
<el-radio :label="1">普通座机号</el-radio>
<el-radio :label="2">手机号</el-radio>
</el-radio-group>
<div class="tel-group" v-if="telRadio === 1">
<el-input placeholder="区号" maxlength="3" v-model="telCode" style="width: 80px"></el-input>&nbsp;-&nbsp;
<el-input placeholder="座机号" maxlength="8" v-model="telNumber"></el-input>
</div>
<el-input v-model="ruleForm.shop_tel" maxlength="11" v-else></el-input>
</el-form-item> </el-form-item>
<el-form-item label="详细地址" prop="shop_address"> <el-form-item label="详细地址" prop="shop_address">
<el-input v-model="ruleForm.shop_address"> <el-input v-model="ruleForm.shop_address">
...@@ -28,10 +36,22 @@ import { updateShop } from '@/api/shop' ...@@ -28,10 +36,22 @@ import { updateShop } from '@/api/shop'
export default { export default {
components: { AppCard }, components: { AppCard },
data() { data() {
const telValid = (rule, value, callback) => {
if (this.telRadio === 1 && !(this.telCode || this.telNumber)) {
callback(new Error('请输入区号和座机号'))
} else if (this.telRadio === 2 && !value) {
callback(new Error('请输入手机号'))
} else {
callback()
}
}
return { return {
telRadio: 1,
telCode: '',
telNumber: '',
ruleForm: { shop_tel: '', shop_address: '', shop_pos: '' }, ruleForm: { shop_tel: '', shop_address: '', shop_pos: '' },
rules: { rules: {
shop_tel: [{ required: true, message: '必填', trigger: 'blur' }], shop_tel: [{ validator: telValid, trigger: 'blur' }],
shop_address: [{ required: true, message: '必填', trigger: 'blur' }] shop_address: [{ required: true, message: '必填', trigger: 'blur' }]
}, },
map: null, map: null,
...@@ -48,15 +68,34 @@ export default { ...@@ -48,15 +68,34 @@ export default {
immediate: true, immediate: true,
handler(data) { handler(data) {
this.ruleForm = Object.assign({}, data) this.ruleForm = Object.assign({}, data)
if (!this.ruleForm.shop_tel) {
return
}
const tel = this.ruleForm.shop_tel.split('-')
if (tel.length === 2) {
this.telRadio = 1
this.telCode = tel[0]
this.telNumber = tel[1]
} else {
this.telRadio = 2
}
} }
} }
}, },
methods: { methods: {
radioChange() {
this.ruleForm.shop_tel = ''
this.$refs.ruleForm.clearValidate('shop_tel')
},
onSubmit() { onSubmit() {
this.$refs.ruleForm.validate().then(this.updateShop) this.$refs.ruleForm.validate().then(this.updateShop)
}, },
updateShop() { updateShop() {
updateShop(this.ruleForm).then(resp => { const params = this.ruleForm
if (this.telRadio === 1) {
params.shop_tel = `${this.telCode}-${this.telNumber}`
}
updateShop(params).then(resp => {
this.$message({ type: 'success', message: '修改成功' }) this.$message({ type: 'success', message: '修改成功' })
this.dialogVisible = false this.dialogVisible = false
this.$store.dispatch('getShop') this.$store.dispatch('getShop')
...@@ -100,6 +139,9 @@ export default { ...@@ -100,6 +139,9 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.tel-group {
display: flex;
}
.map { .map {
position: relative; position: relative;
height: 480px; height: 480px;
......
...@@ -41,9 +41,13 @@ export default { ...@@ -41,9 +41,13 @@ export default {
}, },
methods: { methods: {
getSkuNameList() { getSkuNameList() {
getSkuNameList({ shop_id: this.shopId }).then(res => { getSkuNameList({ shop_id: this.shopId })
this.skuList = res.data .then(res => {
}) this.skuList = res.data
})
.catch(() => {
this.skuList = []
})
}, },
// 添加规格 // 添加规格
addSku() { addSku() {
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="shop_tel"> <el-form-item label="联系电话" prop="shop_tel">
<el-input v-model="ruleForm.shop_tel"></el-input> <el-input v-model="ruleForm.shop_tel" maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="dialogVisible = false">取消</el-button> <el-button type="primary" @click="dialogVisible = false">取消</el-button>
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="shop_tel"> <el-form-item label="联系电话" prop="shop_tel">
<el-input v-model="ruleForm.shop_tel"></el-input> <el-input v-model="ruleForm.shop_tel" maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onSubmit">创建店铺</el-button> <el-button type="primary" @click="onSubmit">创建店铺</el-button>
......
$--color-primary: #3276fc; @import '@/assets/theme/index.css';
// $--border-radius-base: 8px;
/* 改变 icon 字体路径变量,必需 */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import '~element-ui/packages/theme-chalk/src/index';
body, body,
h1, h1,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论