|
@@ -1,7 +1,8 @@
|
|
<script setup lang='ts'>
|
|
<script setup lang='ts'>
|
|
import user from '~/store/user';
|
|
import user from '~/store/user';
|
|
import { showSuccessToast, showFailToast } from 'vant';
|
|
import { showSuccessToast, showFailToast } from 'vant';
|
|
-// import MUploader from '~/components/m-uploader/index.vue';
|
|
|
|
|
|
+import { REQUEST } from '~/utils/request'
|
|
|
|
+import { resolveFileString } from '~/utils/helper'
|
|
|
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
function onClickLeft() {
|
|
function onClickLeft() {
|
|
@@ -17,6 +18,14 @@ const filterObj = (obj: { [x: string]: any; }, prefix: string) => {
|
|
newObj[key] = obj[key] * 1
|
|
newObj[key] = obj[key] * 1
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ if (key === 'dxp_user_avatar') {
|
|
|
|
+ newObj[key] = [{ url: obj[key] }]
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ if (key === 'dxp_wx_qrcode') {
|
|
|
|
+ newObj[key] = [{ url: obj[key] }]
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
newObj[key] = obj[key]
|
|
newObj[key] = obj[key]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -47,7 +56,10 @@ async function onClickRight() {
|
|
url: '/dyaw/xlfw_pbgl/edit',
|
|
url: '/dyaw/xlfw_pbgl/edit',
|
|
data: {
|
|
data: {
|
|
dxp_id: form.dxp_id,
|
|
dxp_id: form.dxp_id,
|
|
- dyaw_xlfw_pbgl: form
|
|
|
|
|
|
+ dyaw_xlfw_pbgl: Object.assign({}, form, {
|
|
|
|
+ dxp_user_avatar: form.dxp_user_avatar[0]?.url,
|
|
|
|
+ dxp_wx_qrcode: form.dxp_wx_qrcode[0]?.url,
|
|
|
|
+ })
|
|
}
|
|
}
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.code === '1') {
|
|
if (res.code === '1') {
|
|
@@ -62,6 +74,40 @@ async function onClickRight() {
|
|
readonly = !readonly
|
|
readonly = !readonly
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+const handleAfterRead = (fileProxy) => {
|
|
|
|
+ fileProxy.status = 'uploading'
|
|
|
|
+ fileProxy.message = '上传中...'
|
|
|
|
+ const { file } = fileProxy
|
|
|
|
+ REQUEST.upload({
|
|
|
|
+ url: '/upload/main/file',
|
|
|
|
+ data: { filedata: file },
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ console.log('res :>> ', res)
|
|
|
|
+ if (res.code === '1') {
|
|
|
|
+ // fileList.value.push(res.data)
|
|
|
|
+ fileProxy.url = `${window.GLOBAL_CONFIG.oss}/${res.data.url}`
|
|
|
|
+ fileProxy.res = {
|
|
|
|
+ name: res.data.file_name,
|
|
|
|
+ url: fileProxy.url,
|
|
|
|
+ origin: res.data.url,
|
|
|
|
+ }
|
|
|
|
+ fileProxy.status = 'done'
|
|
|
|
+ fileProxy.message = ''
|
|
|
|
+
|
|
|
|
+ // emits('update:part', fileList.map((item) => item.res.name + ',' + item.res.url).join(';'))
|
|
|
|
+ // emits('update:part', fileList.map((item) => item.res.name + ',' + item.res.url).join(';'))
|
|
|
|
+ // emits('update:modelValue', fileList.map(item => `${item.res.name},${item.res.origin}`).join(';'))
|
|
|
|
+ // emits('update:modelValue', fileList.map(item => `${item.res.origin}`).join(';'))
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ fileProxy.status = 'failed'
|
|
|
|
+ fileProxy.message = '上传失败'
|
|
|
|
+ }
|
|
|
|
+ }).catch((err) => {
|
|
|
|
+ console.error(err)
|
|
|
|
+ })
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<template>
|
|
<template>
|
|
@@ -74,7 +120,8 @@ async function onClickRight() {
|
|
<van-cell-group>
|
|
<van-cell-group>
|
|
<van-field name="头像" label="头像">
|
|
<van-field name="头像" label="头像">
|
|
<template #input>
|
|
<template #input>
|
|
- <m-uploader v-model="form.dxp_user_avatar" :max-count="1" />
|
|
|
|
|
|
+ <van-uploader :readonly="readonly" :deletable="!readonly" v-model="form.dxp_user_avatar"
|
|
|
|
+ :after-read="handleAfterRead" :max-count="1" />
|
|
</template>
|
|
</template>
|
|
</van-field>
|
|
</van-field>
|
|
<van-field v-model="form.dxp_user_name" name="账号" label="账号" :rules="[{ required: true, message: '请填写账号' }]" />
|
|
<van-field v-model="form.dxp_user_name" name="账号" label="账号" :rules="[{ required: true, message: '请填写账号' }]" />
|
|
@@ -84,12 +131,13 @@ async function onClickRight() {
|
|
:rules="[{ required: true, message: '请填写正确的联系电话', pattern: /^1[3456789]\d{9}$/ }]" />
|
|
:rules="[{ required: true, message: '请填写正确的联系电话', pattern: /^1[3456789]\d{9}$/ }]" />
|
|
<van-field name="微信二维码" label="微信二维码">
|
|
<van-field name="微信二维码" label="微信二维码">
|
|
<template #input>
|
|
<template #input>
|
|
- <m-uploader v-model="form.dxp_wx_qrcode" :max-count="1" />
|
|
|
|
|
|
+ <van-uploader :readonly="readonly" :deletable="!readonly" v-model="form.dxp_wx_qrcode"
|
|
|
|
+ :after-read="handleAfterRead" :max-count="1" />
|
|
</template>
|
|
</template>
|
|
</van-field>
|
|
</van-field>
|
|
- <van-field v-model="form.dxp_bzxcs" name="被咨询次数" label="被咨询次数" readonly />
|
|
|
|
- <van-field v-model="form.dxp_jdsc" name="接待时长" label="接待时长" readonly />
|
|
|
|
- <van-field name="平均星级" label="平均星级" readonly>
|
|
|
|
|
|
+ <van-field v-model="form.dxp_bzxcs" name="被咨询次数" label="被咨询次数" readonly :disabled="!readonly" />
|
|
|
|
+ <van-field v-model="form.dxp_jdsc" name="接待时长" label="接待时长" readonly :disabled="!readonly" />
|
|
|
|
+ <van-field name="平均星级" label="平均星级" readonly :disabled="!readonly" >
|
|
<template #input>
|
|
<template #input>
|
|
<van-rate v-model="form.dxp_pjxj" readonly />
|
|
<van-rate v-model="form.dxp_pjxj" readonly />
|
|
</template>
|
|
</template>
|