Commit 196ee02e authored by gengchunlei's avatar gengchunlei

居民端小程序 v1.2 药物组件、模板组件、通用随访表单

parent bfdf7a15
...@@ -28,6 +28,12 @@ export function getUnitByName(orgName) { ...@@ -28,6 +28,12 @@ export function getUnitByName(orgName) {
return fetchBase({ url: `/tumour-admin/v1/sys-user/org-by-name/${orgName}` }) return fetchBase({ url: `/tumour-admin/v1/sys-user/org-by-name/${orgName}` })
} }
// 拼音码查询药品信息
export function getDrug(code) {
return fetchBase({ url: `/tumour-admin/v1/remote-system/drugs/${code}` })
}
// 根据单位id查询科室 // 根据单位id查询科室
export function getOfficeList(unitId) { export function getOfficeList(unitId) {
return fetchBase({ url: `/tumour-admin/v1/sys-user/org-office/${unitId}` }) return fetchBase({ url: `/tumour-admin/v1/sys-user/org-office/${unitId}` })
......
...@@ -52,7 +52,7 @@ export default { ...@@ -52,7 +52,7 @@ export default {
if (!token) { if (!token) {
token = sessionStorage.getItem('token') token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
token = '3e478192-7f9d-4d77-b36a-cb8bac2896d3' token = 'd3414706-4696-4e77-bfd4-212cdb38c4fc'
} }
} }
if (token) { if (token) {
......
<template> <template>
<div>
<van-field <van-field
v-model='innerValue' v-model='innerValueName'
readonly readonly
is-link is-link
label="药品名称:" label='药品名称:'
placeholder='请选择' placeholder='请选择'
class='input-back mt-2 form-input' class='input-back mt-2 form-input w-full'
@click='showDrug= true' @click='showDrug= true'
/> />
<van-popup v-model:show='showDrug' position='bottom'> <van-popup v-model:show='showDrug' position='bottom'>
<div class='p-4'> <div class='pb-4 pr-4 pl-4'>
<van-search v-model="value" :placeholder="placeholder" @search="onSearch"/>
<van-picker <van-picker
class='mt-4' :columns='array'
:columns="array" :columns-field-names='fieldNames'
:columns-field-names="fieldNames" @confirm='drugConfirm'
@confirm="drugConfirm" @cancel='showDrug = false'
@cancel="showDrug = false" >
/> <template #columns-top>
<van-search v-model="searchStr" :placeholder='placeholder' @search='onSearch' clearable/>
</template>
</van-picker>
</div> </div>
</van-popup> </van-popup>
</div>
</template> </template>
<script> <script>
import { getDrug } from '@/api/base.js'
import { Form } from 'ant-design-vue'
import { getDrug } from '@/api/doctor/generalFU'
import { debounce } from '@/utils/common'
export default { export default {
name: 'DocDrug', name: 'DocDrug',
...@@ -35,7 +41,7 @@ export default { ...@@ -35,7 +41,7 @@ export default {
fieldNames: { fieldNames: {
type: Object, type: Object,
default: () => { default: () => {
return {text: 'chemicalName', values: 'id'} return { text: 'chemicalName', value: 'id' }
} }
} }
}, },
...@@ -43,12 +49,15 @@ export default { ...@@ -43,12 +49,15 @@ export default {
data() { data() {
return { return {
innerValue: null, innerValue: null,
innerValueName: undefined,
array: [], array: [],
loading: false, loading: false,
showDrug: false, showDrug: false,
searchStr: ''
} }
}, },
created() { created() {
this.onSearch = debounce(this.onSearch, 500)
this.onSearch('') this.onSearch('')
}, },
methods: { methods: {
...@@ -60,22 +69,24 @@ export default { ...@@ -60,22 +69,24 @@ export default {
} }
if (!value.trim()) return if (!value.trim()) return
this.loading = true this.loading = true
this.getData(value).then(res => { getDrug(value).then(res => {
this.array = res.data || [] this.array = res.data || []
if (this.array.length && this.innerValue) {
let list = this.array.filter(item => item.id == this.innerValue)
if (list && list.length) {
this.innerValueName = list[0].chemicalName
}
}
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
}) })
}, },
getData(query) { drugConfirm({ selectedOptions }) {
return getDrug(query) this.innerValueName = selectedOptions[0].chemicalName
}, this.$emit('update:value', selectedOptions[0].id)
drugConfirm(value) { this.$emit('change', selectedOptions[0])
this.$emit('update:value', value) this.searchStr = ''
let option = this.array.find(e => e[this.fieldNames.values] === value) || {} this.showDrug = false
this.$emit('change', option)
if (!value) {
this.onSearch('')
}
} }
}, },
watch: { watch: {
...@@ -94,11 +105,17 @@ export default { ...@@ -94,11 +105,17 @@ export default {
}, },
immediate: true immediate: true
}, },
searchStr: {
handler(val) {
if (!val) return
this.onSearch(val)
}
}
} }
} }
</script> </script>
<style lang="less" scoped> <style lang='less' scoped>
.form-input { .form-input {
padding: 8px 12px; padding: 8px 12px;
border-radius: 8px; border-radius: 8px;
...@@ -107,4 +124,14 @@ export default { ...@@ -107,4 +124,14 @@ export default {
.input-back { .input-back {
background: #FAFAFA; background: #FAFAFA;
} }
//灰色
.greyColor {
color: var(--van-text-color-2);
}
//确认按钮颜色
.blueColor {
color: var(--van-primary-color)
}
</style> </style>
<template> <template>
<van-popup v-model:show='innerShow' position='right' :style="{ height: '100%', width: '100%' }" :overlay='false'> <van-popup v-model:show='innerShow' position='right' :style="{ height: '100%', width: '100%' }" :overlay='false' >
<div class='bg flex flex-col'> <div class='bg flex flex-col'>
<div class='p-3 flex items-center shrink-0 justify-between title bg-white'> <div class='p-3 flex items-center shrink-0 justify-between title bg-white'>
<div @click='onBack' class='text-12 back-bt'> <div @click='onBack' class='text-12 back-bt'>
......
...@@ -372,7 +372,7 @@ export default { ...@@ -372,7 +372,7 @@ export default {
let par = { let par = {
id: this.routerDetail.relationId id: this.routerDetail.relationId
} }
getTemplateDetail(par).then(res => { fetchCurrencyById(par).then(res => {
let result = res.data || {} let result = res.data || {}
this.info = result this.info = result
this.dataHandle() this.dataHandle()
......
...@@ -191,7 +191,11 @@ ...@@ -191,7 +191,11 @@
class='input-back mt-2 form-input' class='input-back mt-2 form-input'
:rules='rules.groupsArraysName' :rules='rules.groupsArraysName'
@click='showGroupsArrays= true' @click='showGroupsArrays= true'
/> >
<template #input>
<span class='text-end'>{{form.groupsArraysName}}</span>
</template>
</van-field>
<van-popup v-model:show='showGroupsArrays' position='bottom'> <van-popup v-model:show='showGroupsArrays' position='bottom'>
<div class='p-4'> <div class='p-4'>
<div class='flex justify-between mb-4'> <div class='flex justify-between mb-4'>
......
...@@ -25,27 +25,29 @@ ...@@ -25,27 +25,29 @@
class='input-back mt-2 form-input' class='input-back mt-2 form-input'
/> />
</div> </div>
<!-- 健康指导-->
<div v-if='showTwo'> <div v-if='showTwo'>
<div class='flex justify-between items-center mt-5'> <div class='flex justify-between items-center mt-5'>
<div class='label-title '>健康指导</div> <div class='label-title '>健康指导</div>
<van-button class='doc-btn-p' @click='toShowTem'>选择内容</van-button> <van-button class='doc-btn-p' @click='toShowTem(1)'>选择内容</van-button>
</div> </div>
<div class='health mt-2'> <div class='mt-2'>
<div class='health-cell mt-2' v-for='item in form.visitHealthGuideList'> <GuideTextVideo :file-type="[1]"
<div class='no-req-label' v-if="item.name != '无'">{{ item.name }}</div> :info="form.guide"
<van-field :content-title="'指导内容'"
v-model='item.templateContent' :classify="1"
rows='1' ref="guideRef"></GuideTextVideo>
autosize </div>
type='textarea' </div>
placeholder='请输入' <!-- 宣教内容-->
class='input-back mt-2 form-input' <div v-if='showThree'>
/> <div class='flex justify-between items-center mt-5'>
</div> <div class='label-title '>宣教内容</div>
<van-button class='doc-btn-p' @click='toShowTem(2)'>选择内容</van-button>
</div> </div>
</div> </div>
<!-- 催检--> <!-- 催检-->
<div v-if='showFour'> <div v-if='showFour'>
<div class='no-req-label mt-5'>催检内容</div> <div class='no-req-label mt-5'>催检内容</div>
...@@ -132,10 +134,11 @@ import { fetchDataHandle } from '@/utils/common' ...@@ -132,10 +134,11 @@ import { fetchDataHandle } from '@/utils/common'
import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload' import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload'
import TemList from '@/doctor/components/template/temList' import TemList from '@/doctor/components/template/temList'
import { getTemplateDetail } from '@/api/doctor/workbench' import { getTemplateDetail } from '@/api/doctor/workbench'
import GuideTextVideo from '@/doctor/followUp/generalFU/form/GuideTextVideo'
export default { export default {
name: 'GeneralFUForm', name: 'GeneralFUForm',
components: { TemList, DocImageUpload, DocIcon }, components: { GuideTextVideo, TemList, DocImageUpload, DocIcon },
props: { props: {
info: { info: {
default: () => { default: () => {
...@@ -157,18 +160,11 @@ export default { ...@@ -157,18 +160,11 @@ export default {
return { return {
store: useStore(), store: useStore(),
form: {}, form: {},
//展示用
imgList: [],
imgList2: [],
//input图片值
imgInputList1: [],
imgInputList2: [],
showDate: false, showDate: false,
showTime1: false, showTime1: false,
showTem: false, showTem: false,
currentTime1: null, currentTime1: null,
showImgList: [], citeInfo: 1,
initSwipe: 0,
rules: { rules: {
visitContent: [{ required: true, message: '请输入' }], visitContent: [{ required: true, message: '请输入' }],
nextVisitDate: [{ required: true, message: '请选择' }] nextVisitDate: [{ required: true, message: '请选择' }]
...@@ -283,7 +279,8 @@ export default { ...@@ -283,7 +279,8 @@ export default {
this.form.screenTime = selectedValues.join('-') this.form.screenTime = selectedValues.join('-')
this.showTime1 = false this.showTime1 = false
}, },
toShowTem() { toShowTem(val) {
this.citeInfo =val
this.showTem = true this.showTem = true
}, },
closedTem(val) { closedTem(val) {
...@@ -294,7 +291,12 @@ export default { ...@@ -294,7 +291,12 @@ export default {
if (val) { if (val) {
let par = { id: val } let par = { id: val }
let result = await getTemplateDetail(par) let result = await getTemplateDetail(par)
console.log(result) //健康指导
if (this.citeInfo == 1) {
} else { //宣教内容
}
} }
}, },
onSubmit() { onSubmit() {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class='health mt-2'> <div class='health mt-2'>
<!-- 无选项--> <!-- 无选项-->
<div class='health-cell mt-2' v-for="item in form.contentList.filter(e => e.templateModeTrans == '无')"> <div class='health-cell mt-2' v-for="item in form.contentList.filter(e => e.templateModeTrans == '无')">
<div class='no-req-label'>{{contentTitle}}</div> <div class='no-req-label'>{{ contentTitle }}</div>
<van-field <van-field
v-model='item.templateContent' v-model='item.templateContent'
rows='1' rows='1'
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
/> />
</div> </div>
<!-- 更多选项--> <!-- 更多选项-->
<div class='no-req-label mt-2'>更多{{contentTitle}}</div> <div class='health-cell mt-2'>
<div class='no-req-label'>更多{{ contentTitle }}</div>
<van-field <van-field
v-model='form.contentSelectName' v-model='form.contentSelectName'
readonly readonly
...@@ -26,8 +27,11 @@ ...@@ -26,8 +27,11 @@
class='input-back mt-2 form-input' class='input-back mt-2 form-input'
:rules='rules.contentSelectName' :rules='rules.contentSelectName'
@click='showContentSelect= true' @click='showContentSelect= true'
@change='contentSelectChange' >
/> <template #input>
<span class='text-end'>{{ form.contentSelectName }}</span>
</template>
</van-field>
<van-popup v-model:show='showContentSelect' position='bottom'> <van-popup v-model:show='showContentSelect' position='bottom'>
<div class='p-4'> <div class='p-4'>
<div class='flex justify-between mb-4'> <div class='flex justify-between mb-4'>
...@@ -38,94 +42,99 @@ ...@@ -38,94 +42,99 @@
:fieldNames="{text: 'name', value: 'value'}" /> :fieldNames="{text: 'name', value: 'value'}" />
</div> </div>
</van-popup> </van-popup>
</div>
<div class='health-cell mt-2' v-for="item in form.contentList"> <div class='health-cell mt-2' v-for="item in form.contentList.filter(e => e.templateModeTrans != '无')">
<template v-if='item.templateMode === 5'> <template v-if='item.templateMode === 5'>
<div class='no-req-label'>药物指导</div> <div class='no-req-label'>药物指导</div>
<div v-for='(item, index) in form.drugsList' :key='item._id'> <div v-for='(item, index) in form.drugsList' :key='item._id' :style="{marginTop: index == 0 ? '0': '.16rem'}">
<div class='text-driver' v-if='index'></div> <div class='text-driver' v-if='index'></div>
<DocDrug v-model:value='item.drugsCode' placeholder='拼音码查询药品' style='width: 198px' <DocDrug v-model:value='item.drugsCode' placeholder='拼音码查询药品'
:valueName="selectData.drugsList ? selectData.drugsList[index]?.helpCode : ''" :valueName="selectData.drugsList ? selectData.drugsList[index]?.helpCode : ''"
@change='drugChange($event, item)' /> @change='drugChange($event, item)' />
<div class='flex items-center justify-between w-full mt-2'> <div class='flex items-center justify-between w-full mt-2'>
<van-field
v-model='item.dose'
placeholder='输入'
label='剂量:'
type='digit'
class='input-back form-input'
style='flex: 1'
/>
<van-field
v-model='item.doseUnitName'
readonly
placeholder='请选择'
class='input-back ml-2 form-input'
style='width: .8rem'
@click='showDoseUnit= true'
/>
</div>
<van-popup v-model:show='showDoseUnit' position='bottom'>
<div class='p-4'>
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00081')"
@confirm='doseUnitConfirm($event, item)'
@cancel='showDoseUnit = false'
/>
</div>
</van-popup>
<van-field <van-field
v-model='item.dose' v-model='item.frequencyName'
placeholder='输入' readonly
label='剂量:' is-link
type="digit" label='频次:'
class='input-back form-input' placeholder='请选择'
style='flex: 1' class='input-back mt-2 form-input'
@click='showFrequency= true'
/> />
<van-popup v-model:show='showFrequency' position='bottom'>
<div class='p-4'>
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00084')"
@confirm='frequencyConfirm($event, item)'
@cancel='showFrequency = false'
/>
</div>
</van-popup>
<van-field <van-field
v-model='item.doseUnitName' v-model='item.usageMethodName'
readonly readonly
is-link
label='用法:'
placeholder='请选择' placeholder='请选择'
class='input-back ml-2 form-input' class='input-back mt-2 form-input'
style='width: .8rem' @click='showUsageMethod= true'
@click='showDoseUnit= true'
/> />
</div> <van-popup v-model:show='showUsageMethod' position='bottom'>
<van-popup v-model:show='showDoseUnit' position='bottom'> <div class='p-4'>
<div class='p-4'> <van-picker
<van-picker :columns-field-names="{ text: 'name', value: 'value' }"
:columns-field-names="{ text: 'name', value: 'value' }" :columns="store.getDict('CP00083')"
:columns="store.getDict('CP00081')" @confirm='usageMethodConfirm($event, item)'
@confirm='doseUnitConfirm' @cancel='showUsageMethod = false'
@cancel='showDoseUnit = false' />
/> </div>
</div> </van-popup>
</van-popup>
<van-field
v-model='item.frequencyName'
readonly
is-link
label='频次:'
placeholder='请选择'
class='input-back mt-2 form-input'
@click='showFrequency= true'
/>
<van-popup v-model:show='showFrequency' position='bottom'>
<div class='p-4'>
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00084')"
@confirm='frequencyConfirm'
@cancel='showFrequency = false'
/>
</div>
</van-popup>
<van-field
v-model='item.usageMethodName'
readonly
is-link
label='用法:'
placeholder='请选择'
class='input-back mt-2 form-input'
@click='showUsageMethod= true'
/>
<van-popup v-model:show='showUsageMethod' position='bottom'>
<div class='p-4'>
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00083')"
@confirm='usageMethodConfirm'
@cancel='showUsageMethod = false'
/>
</div>
</van-popup>
<div class='mt-2 text-center'> <div class='mt-2 text-center'>
<van-button type='primary' ghost class='btn-br' @click='addDrug'>增加</van-button> <van-button type='primary' plain class='btn-br' @click='addDrug'>增加</van-button>
<van-button ghost class='btn-br ml-4' <van-button plain class='btn-br'
@click='minusDrug(item, index)' @click='minusDrug(item, index)'
v-if='form?.drugsList?.length > 1' v-if='form?.drugsList?.length > 1'
>删除</van-button> style='margin-left: .16rem'
>删除
</van-button>
</div> </div>
</div> </div>
</template> </template>
<div class='no-req-label'>{{item.name}}</div> <div class='no-req-label' v-if='item.templateMode != 5'>{{ item.templateModeTrans }}</div>
<van-field <van-field
v-model='item.templateContent' v-model='item.templateContent'
v-if='item.templateMode != 5'
rows='1' rows='1'
autosize autosize
type='textarea' type='textarea'
...@@ -136,36 +145,38 @@ ...@@ -136,36 +145,38 @@
</div> </div>
</div> </div>
<div v-if='fileType.includes(2)' class='w-full'> <div v-if='fileType.includes(2)' class='w-full'>
<DocMediaUpload class='p-3 media-upload' <div class='health-cell mt-2'>
accept='.mp3' <div class='no-req-label'>音频</div>
:mediasData='_audio' <Mp3 :file='item' v-for='item in _audio' :key='item.annexId'
:showBtn='false' :activeMediaUrl='activeMediaUrl'
@change='(ids, videoList) => form._audio = videoList' @play='e => activeMediaUrl = e.annexUrl'
/> remove
@onRemove='getMP3RemoveInfo'
/>
</div>
</div> </div>
<div v-if='fileType.includes(3)' class='w-full'> <div v-if='fileType.includes(3)' class='w-full'>
<DocMediaUpload class=' p-3 media-upload' <Mp4 :files='_video' :activeMediaUrl='activeMediaUrl'
btText='上传视频' @play='e => activeMediaUrl = e.annexUrl'
description='支持扩展名:.MP4最大支持300M,最多支持上传3个视频文件' remove
accept='.mp4' @onRemove='getMP4RemoveInfo'
:mediasData='_video' />
:showBtn='false'
@change='(ids, videoList) => form._video = videoList' />
</div> </div>
</van-form> </van-form>
</template> </template>
<script> <script>
import DocMediaUpload from '@/components/docMediaUpload/DocMediaUpload'
import { fetchDataHandle } from '@/utils/common' import { fetchDataHandle } from '@/utils/common'
import { requiredInput, requiredSelect } from '@/utils/commonReg'
import { useStore } from '@/doctor/store' import { useStore } from '@/doctor/store'
import DocDrug from '@/doctor/components/docDrug/DocDrug' import DocDrug from '@/doctor/components/docDrug/DocDrug'
import Mp3 from '@/doctor/components/mediaPlay/Mp3.vue'
import Mp4 from '@/doctor/components/mediaPlay/Mp4'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn'
export default { export default {
name: 'GuideTextVideo', name: 'GuideTextVideo',
components: { DocDrug, DocMediaUpload }, components: { CheckBtn, Mp4, Mp3, DocDrug },
props: { props: {
info: { info: {
default: () => { default: () => {
...@@ -181,8 +192,7 @@ export default { ...@@ -181,8 +192,7 @@ export default {
// 文件类型 1:文本 2、文字播报 3、视频 // 文件类型 1:文本 2、文字播报 3、视频
fileType: Array, fileType: Array,
// 分类 // 分类
classify: Number, classify: Number
requireFlag: { default: true }
}, },
data() { data() {
return { return {
...@@ -198,13 +208,14 @@ export default { ...@@ -198,13 +208,14 @@ export default {
showUsageMethod: false, showUsageMethod: false,
form: {}, form: {},
selectData: {}, selectData: {},
activeMediaUrl: '',
rules: {} rules: {}
} }
}, },
computed: { computed: {
contentArray() { contentArray() {
let res = [] let res = []
res = this.$dict('DC00084').filter(item => item.value !=1) res = this.store.getDict('DC00084').filter(item => item.value != 1)
return res return res
}, },
// 音频、视频 回显使用 // 音频、视频 回显使用
...@@ -255,31 +266,32 @@ export default { ...@@ -255,31 +266,32 @@ export default {
}, },
immediate: true immediate: true
}, },
'requireFlag': { 'form.contentSelectName': {
handler() { handler() {
if (this.requireFlag) { this.contentSelectChange()
this.rules = { }
contentSelect: [requiredSelect],
templateType: [requiredSelect],
templateName: [requiredInput],
fileType: [requiredSelect]
}
} else {
this.rules = {
contentSelect: [{ required: false }],
templateType: [{ required: false }],
templateName: [{ required: false }],
fileType: [{ required: false }]
}
}
},
immediate: true
} }
}, },
methods: { methods: {
//指导和宣教赋值 //指导和宣教赋值
setTemForm(info = {}) { setTemForm(info = {}) {
const contentList = info.contentList || [] let contentList = []
let initC = [
{
templateContent: '',
templateId: '',
templateMode: 1,
templateModeTrans: '无'
}
]
let infoC = info.contentList || []
//判断父组件的数据里是否存在 无 的选项
let resList = infoC.filter(item => item.templateMode !=1)
if (!resList.length) {
contentList = [...initC, ...infoC]
} else {
contentList = [...infoC]
}
const drugsList = info?.drugsList?.length ? info.drugsList.map(e => { const drugsList = info?.drugsList?.length ? info.drugsList.map(e => {
if (e.id) { if (e.id) {
e._id = e.id e._id = e.id
...@@ -309,14 +321,6 @@ export default { ...@@ -309,14 +321,6 @@ export default {
contentSelectChange() { contentSelectChange() {
const cont = this.form.contentList || [] const cont = this.form.contentList || []
const addValue = this.checkContentSelect.filter(e => !cont.find(i => i.templateMode === e)) const addValue = this.checkContentSelect.filter(e => !cont.find(i => i.templateMode === e))
const delValue = cont.filter(i => !this.checkContentSelect.includes(i.templateMode)).map(e => e.templateMode)
if (delValue.length) {
this.form.contentList = this.form.contentList.filter(e => !delValue.includes(e.templateMode))
// 药物指导处理
if (delValue.includes(5)) {
this.form.drugsList = []
}
}
if (addValue.length) { if (addValue.length) {
addValue.forEach(e => { addValue.forEach(e => {
this.form.contentList.push({ this.form.contentList.push({
...@@ -383,21 +387,37 @@ export default { ...@@ -383,21 +387,37 @@ export default {
} }
this.showContentSelect = false this.showContentSelect = false
}, },
doseUnitConfirm({ selectedValues, selectedOptions }) { doseUnitConfirm({ selectedValues, selectedOptions }, item) {
this.form.doseUnit = selectedValues[0] item.doseUnit = selectedValues[0]
this.form.doseUnitName = selectedOptions[0].name item.doseUnitName = selectedOptions[0].name
this.showDoseUnit = false this.showDoseUnit = false
}, },
frequencyConfirm({ selectedValues, selectedOptions }) { frequencyConfirm({ selectedValues, selectedOptions }, item) {
this.form.frequency = selectedValues[0] item.frequency = selectedValues[0]
this.form.frequencyName = selectedOptions[0].name item.frequencyName = selectedOptions[0].name
this.showFrequency = false this.showFrequency = false
}, },
usageMethodConfirm({ selectedValues, selectedOptions }) { usageMethodConfirm({ selectedValues, selectedOptions }, item) {
this.form.usageMethod = selectedValues[0] item.usageMethod = selectedValues[0]
this.form.usageMethodName = selectedOptions[0].name item.usageMethodName = selectedOptions[0].name
this.showUsageMethod = false this.showUsageMethod = false
}, },
//删除MP3
getMP3RemoveInfo(val) {
this.selectData.annexList.forEach((item, index) => {
if (item.relativeUrl == val.relativeUrl) {
this.selectData.annexList.splice(index, 1)
}
})
},
//删除MP4
getMP4RemoveInfo(val) {
this.selectData.annexList.forEach((item, index) => {
if (item.relativeUrl == val.relativeUrl) {
this.selectData.annexList.splice(index, 1)
}
})
},
submit() { submit() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$refs.form.validate().then(valid => { this.$refs.form.validate().then(valid => {
...@@ -414,7 +434,7 @@ export default { ...@@ -414,7 +434,7 @@ export default {
fileType: 'arrToStr' fileType: 'arrToStr'
}) })
const annexList = [] const annexList = []
query._video.forEach(e => { this._video.forEach(e => {
annexList.push({ annexList.push({
type: 3, type: 3,
annexId: e.annexId, annexId: e.annexId,
...@@ -422,7 +442,7 @@ export default { ...@@ -422,7 +442,7 @@ export default {
annexFileName: e.annexFileName annexFileName: e.annexFileName
}) })
}) })
query._audio.forEach(e => { this._audio.forEach(e => {
annexList.push({ annexList.push({
type: 2, type: 2,
annexId: e.annexId, annexId: e.annexId,
...@@ -454,7 +474,7 @@ export default { ...@@ -454,7 +474,7 @@ export default {
fileType: 'arrToStr' fileType: 'arrToStr'
}) })
const annexList = [] const annexList = []
query._video.forEach(e => { this._video.forEach(e => {
annexList.push({ annexList.push({
type: 3, type: 3,
annexId: e.annexId, annexId: e.annexId,
...@@ -463,7 +483,7 @@ export default { ...@@ -463,7 +483,7 @@ export default {
annexFileName: e.annexFileName annexFileName: e.annexFileName
}) })
}) })
query._audio.forEach(e => { this._audio.forEach(e => {
annexList.push({ annexList.push({
type: 2, type: 2,
annexId: e.annexId, annexId: e.annexId,
...@@ -536,10 +556,24 @@ export default { ...@@ -536,10 +556,24 @@ export default {
.text-driver { .text-driver {
border: 1px solid #EEEEEE; border: 1px solid #EEEEEE;
margin-bottom: 8px; margin-bottom: 8px;
margin-top: 8px;
} }
.btn-br { .btn-br {
border-radius: 38px; border-radius: 38px;
width: 112px; width: 112px;
padding: 4px 8px; padding: 4px 8px;
height: 26px;
font-size: 13px;
}
//灰色
.greyColor {
color: var(--van-text-color-2);
}
//确认按钮颜色
.blueColor {
color: var(--van-primary-color)
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment