提交 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 {
})
},
handleSuccess(response, file) {
let value = null
if (this.isMultiple) {
this.fileList.push({ name: file.name, url: file.raw.url })
this.$emit('input', this.fileList)
value = this.fileList
} else {
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) {
this.$emit('input', this.isMultiple ? fileList : '')
const value = this.isMultiple ? fileList : ''
this.$emit('input', value)
this.dispatch('ElFormItem', 'el.form.change', value)
},
// 预览
handlePreview(file) {
......@@ -101,6 +106,21 @@ export default {
},
handleExceed(file, fileList) {
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'
import router from './router'
import store from './store'
import App from './app.vue'
import './style.scss'
import ElementUI from 'element-ui'
import './style.scss'
import BeforeEnter from './utils/beforeEnter'
const before = new BeforeEnter()
......
......@@ -228,7 +228,6 @@ export default {
.filter-time {
.el-radio {
margin: 0 10px 0 0 !important;
border-radius: 0;
}
::v-deep .el-radio__input {
display: none !important;
......
......@@ -2,7 +2,15 @@
<app-card>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<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 label="详细地址" prop="shop_address">
<el-input v-model="ruleForm.shop_address">
......@@ -28,10 +36,22 @@ import { updateShop } from '@/api/shop'
export default {
components: { AppCard },
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 {
telRadio: 1,
telCode: '',
telNumber: '',
ruleForm: { shop_tel: '', shop_address: '', shop_pos: '' },
rules: {
shop_tel: [{ required: true, message: '必填', trigger: 'blur' }],
shop_tel: [{ validator: telValid, trigger: 'blur' }],
shop_address: [{ required: true, message: '必填', trigger: 'blur' }]
},
map: null,
......@@ -48,15 +68,34 @@ export default {
immediate: true,
handler(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: {
radioChange() {
this.ruleForm.shop_tel = ''
this.$refs.ruleForm.clearValidate('shop_tel')
},
onSubmit() {
this.$refs.ruleForm.validate().then(this.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.dialogVisible = false
this.$store.dispatch('getShop')
......@@ -100,6 +139,9 @@ export default {
</script>
<style lang="scss" scoped>
.tel-group {
display: flex;
}
.map {
position: relative;
height: 480px;
......
......@@ -41,9 +41,13 @@ export default {
},
methods: {
getSkuNameList() {
getSkuNameList({ shop_id: this.shopId }).then(res => {
this.skuList = res.data
})
getSkuNameList({ shop_id: this.shopId })
.then(res => {
this.skuList = res.data
})
.catch(() => {
this.skuList = []
})
},
// 添加规格
addSku() {
......
......@@ -43,7 +43,7 @@
></el-input>
</el-form-item>
<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-button type="primary" @click="dialogVisible = false">取消</el-button>
......
......@@ -49,7 +49,7 @@
></el-input>
</el-form-item>
<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-button type="primary" @click="onSubmit">创建店铺</el-button>
......
$--color-primary: #3276fc;
// $--border-radius-base: 8px;
/* 改变 icon 字体路径变量,必需 */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import '~element-ui/packages/theme-chalk/src/index';
@import '@/assets/theme/index.css';
body,
h1,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论