|
|
@ -2,29 +2,29 @@ |
|
|
|
<div class="container"> |
|
|
|
<div class="block"> |
|
|
|
<DemandPicker |
|
|
|
required |
|
|
|
label="需求类型" |
|
|
|
placeholder="请选择" |
|
|
|
v-model="demandType" |
|
|
|
:items="demandTypeOptions" |
|
|
|
label="需求类型" |
|
|
|
placeholder="请选择" |
|
|
|
required |
|
|
|
@change="setVal" |
|
|
|
@setChild="getChildSelectList" |
|
|
|
/> |
|
|
|
<div class="textarea"> |
|
|
|
<van-field |
|
|
|
required |
|
|
|
v-model="content" |
|
|
|
autosize |
|
|
|
label="需求描述" |
|
|
|
placeholder="不超过500字" |
|
|
|
type="textarea" |
|
|
|
maxlength="500" |
|
|
|
placeholder="不超过500字" |
|
|
|
required |
|
|
|
rows="6" |
|
|
|
autosize |
|
|
|
type="textarea" |
|
|
|
> |
|
|
|
<template #extra> |
|
|
|
<div class="speech"> |
|
|
|
<Audio :audioSrc="audio" v-show="audio.duration" /> |
|
|
|
<Recording @change="setAudio" :isFile="isFile" /> |
|
|
|
<Audio v-show="audio.duration" :audioSrc="audio"/> |
|
|
|
<Recording :isFile="isFile" @change="setAudio"/> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</van-field> |
|
|
@ -34,32 +34,33 @@ |
|
|
|
<div class="block"> |
|
|
|
<van-cell title="上传图片"> |
|
|
|
<template #label> |
|
|
|
<van-uploader v-model="fileList" :max-size="10 * 1024 * 1024" :after-read="afterRead" :max-count="3" /> |
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" :max-count="3" :max-size="10 * 1024 * 1024"/> |
|
|
|
</template> |
|
|
|
</van-cell> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div class="block"> |
|
|
|
<van-field required v-model="name" label="联系人" placeholder="请输入联系人" /> |
|
|
|
<van-field required type="number" maxlength="11" v-model="phone" label="联系电话" placeholder="请输入联系电话" /> |
|
|
|
</div>--> |
|
|
|
<van-button block color="linear-gradient(to right, #81B5FB, #3E92FF)" round @click="submit">提交</van-button> |
|
|
|
|
|
|
|
<div class="block"> |
|
|
|
<van-field required v-model="name" label="联系人" placeholder="请输入联系人" /> |
|
|
|
<van-field required type="number" maxlength="11" v-model="phone" label="联系电话" placeholder="请输入联系电话" /> |
|
|
|
</div> |
|
|
|
<van-button round block @click="submit" color="linear-gradient(to right, #81B5FB, #3E92FF)">提交</van-button> |
|
|
|
|
|
|
|
<Perfect /> |
|
|
|
<Perfect/> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { setConfig } from '@/utils/jweixin' |
|
|
|
import {setConfig} from '@/utils/jweixin' |
|
|
|
import Recording from '@/components/Recording' |
|
|
|
import Perfect from '@/components/Perfect' |
|
|
|
import Audio from '@/components/Audio' |
|
|
|
import DemandPicker from '@/components/DemandPicker' |
|
|
|
import { uploadvariedfile } from '@/api/basic' |
|
|
|
import { saveOfficialAccountDemand, selectList } from '@/api/demand' |
|
|
|
import {uploadvariedfile} from '@/api/basic' |
|
|
|
import {saveOfficialAccountDemand, selectList} from '@/api/demand' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'demand', |
|
|
|
components: { Recording, Audio, Perfect, DemandPicker }, |
|
|
|
components: {Recording, Audio, Perfect, DemandPicker}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
form: {}, |
|
|
@ -100,7 +101,8 @@ export default { |
|
|
|
this.parentCode = values[0].value |
|
|
|
this.categoryCode = values[1].value |
|
|
|
}, |
|
|
|
clickUpload() {}, |
|
|
|
clickUpload() { |
|
|
|
}, |
|
|
|
setAudio(val) { |
|
|
|
this.isFile = false |
|
|
|
this.audio = val |
|
|
@ -125,18 +127,18 @@ export default { |
|
|
|
this.$toast.fail('请输入描述') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!this.name) { |
|
|
|
this.$toast.fail('请输入姓名') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!this.phone) { |
|
|
|
this.$toast.fail('请输入电话') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!/^1[3456789]\d{9}$/.test(this.phone)) { |
|
|
|
this.$toast.fail('请输入正确的联系电话') |
|
|
|
return |
|
|
|
} |
|
|
|
/* if (!this.name) { |
|
|
|
this.$toast.fail('请输入姓名') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!this.phone) { |
|
|
|
this.$toast.fail('请输入电话') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!/^1[3456789]\d{9}$/.test(this.phone)) { |
|
|
|
this.$toast.fail('请输入正确的联系电话') |
|
|
|
return |
|
|
|
}*/ |
|
|
|
saveOfficialAccountDemand({ |
|
|
|
content: this.content, |
|
|
|
duration: this.audio.duration, |
|
|
@ -147,8 +149,8 @@ export default { |
|
|
|
categoryCode: this.categoryCode, |
|
|
|
homeId: this.$store.state.app.userInfo.homeId, |
|
|
|
customerId: this.$store.state.app.userInfo.customerId, |
|
|
|
name: this.name, |
|
|
|
phone: this.phone |
|
|
|
/* name: this.name, |
|
|
|
phone: this.phone*/ |
|
|
|
}).then(() => { |
|
|
|
this.$toast.success('提交成功') |
|
|
|
this.$router.replace('/appeal') |
|
|
@ -165,11 +167,11 @@ export default { |
|
|
|
}), |
|
|
|
defaultIndex: 0 |
|
|
|
} |
|
|
|
this.getChildSelectList({ value: res[0].id }) |
|
|
|
this.getChildSelectList({value: res[0].id}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
getChildSelectList({ picker, value }) { |
|
|
|
getChildSelectList({picker, value}) { |
|
|
|
selectList(value).then(res => { |
|
|
|
let data = { |
|
|
|
values: res.map(item => { |
|
|
@ -190,6 +192,6 @@ export default { |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="less"> |
|
|
|
<style lang="less" scoped> |
|
|
|
@import './index'; |
|
|
|
</style> |
|
|
|