服务指令、长者标签增加默认图片

This commit is contained in:
1378012178@qq.com 2025-09-02 11:15:23 +08:00
parent 1017053d01
commit ec1ad10bf4
9 changed files with 95 additions and 19 deletions

View File

@ -20,6 +20,17 @@ VITE_GLOB_API_URL_PREFIX=
#微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径
VITE_APP_SUB_jeecg-app-1 = '//localhost:8091'
# 长者标签-体型标签默认图片
VITE_DEFAULT_ELDER_TAG_BODY_PIC = 'https://www.focusnu.com/media/default/bodyDefault.png'
# 长者标签-情绪标签默认图片
VITE_DEFAULT_ELDER_TAG_EMO_PIC = 'https://www.focusnu.com/media/default/emoDefault.png'
# 服务指令-服务指令图片(大)默认图片
VITE_DEFAULT_DIRECTIVE_PRE_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-服务指令图片(小)默认图片
VITE_DEFAULT_DIRECTIVE_PRESMALL_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-即时指令图标默认图片
VITE_DEFAULT_DIRECTIVE_IM_PIC = 'https://www.focusnu.com/media/default/default.png'
# 填写后将作为乾坤子应用启动主应用注册时AppName需保持一致放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动
#VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3
# 作为乾坤子应用启动时必填需与qiankun主应用注册子应用时填写的 entry 保持一致

View File

@ -20,6 +20,17 @@ VITE_GLOB_API_URL_PREFIX=
#微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径
VITE_APP_SUB_jeecg-app-1 = '//localhost:8092'
# 长者标签-体型标签默认图片
VITE_DEFAULT_ELDER_TAG_BODY_PIC = 'https://www.focusnu.com/media/default/bodyDefault.png'
# 长者标签-情绪标签默认图片
VITE_DEFAULT_ELDER_TAG_EMO_PIC = 'https://www.focusnu.com/media/default/emoDefault.png'
# 服务指令-服务指令图片(大)默认图片
VITE_DEFAULT_DIRECTIVE_PRE_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-服务指令图片(小)默认图片
VITE_DEFAULT_DIRECTIVE_PRESMALL_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-即时指令图标默认图片
VITE_DEFAULT_DIRECTIVE_IM_PIC = 'https://www.focusnu.com/media/default/default.png'
# 填写后将作为乾坤子应用启动主应用注册时AppName需保持一致放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动
#VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3
# 作为乾坤子应用启动时必填需与qiankun主应用注册子应用时填写的 entry 保持一致

View File

@ -20,6 +20,17 @@ VITE_GLOB_API_URL_PREFIX=
#微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径
VITE_APP_SUB_jeecg-app-1 = '//localhost:8092'
# 长者标签-体型标签默认图片
VITE_DEFAULT_ELDER_TAG_BODY_PIC = 'https://www.focusnu.com/media/default/bodyDefault.png'
# 长者标签-情绪标签默认图片
VITE_DEFAULT_ELDER_TAG_EMO_PIC = 'https://www.focusnu.com/media/default/emoDefault.png'
# 服务指令-服务指令图片(大)默认图片
VITE_DEFAULT_DIRECTIVE_PRE_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-服务指令图片(小)默认图片
VITE_DEFAULT_DIRECTIVE_PRESMALL_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-即时指令图标默认图片
VITE_DEFAULT_DIRECTIVE_IM_PIC = 'https://www.focusnu.com/media/default/default.png'
# 填写后将作为乾坤子应用启动主应用注册时AppName需保持一致放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动
#VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3
# 作为乾坤子应用启动时必填需与qiankun主应用注册子应用时填写的 entry 保持一致

View File

@ -2,7 +2,7 @@
VITE_USE_MOCK = false
# 发布路径
VITE_PUBLIC_PATH = /biz101
VITE_PUBLIC_PATH = /biz103
# 是否启用gzip或brotli压缩
# 选项值: gzip | brotli | none
@ -13,14 +13,25 @@ VITE_BUILD_COMPRESS = 'gzip'
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
#后台接口父地址(必填)
VITE_GLOB_API_URL=/nursingunit101
VITE_GLOB_API_URL=/nursingunit103
#后台接口全路径地址(必填)
VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit101
VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit103
# 接口父路径前缀
VITE_GLOB_API_URL_PREFIX=
# 长者标签-体型标签默认图片
VITE_DEFAULT_ELDER_TAG_BODY_PIC = 'https://www.focusnu.com/media/default/bodyDefault.png'
# 长者标签-情绪标签默认图片
VITE_DEFAULT_ELDER_TAG_EMO_PIC = 'https://www.focusnu.com/media/default/emoDefault.png'
# 服务指令-服务指令图片(大)默认图片
VITE_DEFAULT_DIRECTIVE_PRE_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-服务指令图片(小)默认图片
VITE_DEFAULT_DIRECTIVE_PRESMALL_PIC = 'https://www.focusnu.com/media/default/default.png'
# 服务指令-即时指令图标默认图片
VITE_DEFAULT_DIRECTIVE_IM_PIC = 'https://www.focusnu.com/media/default/default.png'
# 填写后将作为乾坤子应用启动主应用注册时AppName需保持一致放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动
#VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3
# 作为乾坤子应用启动时必填需与qiankun主应用注册子应用时填写的 entry 保持一致

View File

@ -60,7 +60,8 @@
</template>
</BasicTable>
<!-- 表单区域 -->
<ElderTagModal ref="registerModal" @success="handleSuccess"></ElderTagModal>
<ElderTagModal ref="registerModal" @success="handleSuccess"
:isMain="!!mainOrgCode && !!ownOrgCode && mainOrgCode == ownOrgCode"></ElderTagModal>
<!-- 标签管理 -->
<!-- <a-drawer title="标签管理" width="80vw" :open="tagMainManagOpen" @close="onTagMainManagClose"

View File

@ -7,7 +7,7 @@
<a-col :span="24">
<a-form-item label="标签类型" v-bind="validateInfos.type" id="ElderTagForm-type" name="type">
<j-dict-select-tag v-model:value="formData.type" dictCode="elder_tag_type" placeholder="请选择标签类型"
allowClear :disabled="!!formData.id" />
allowClear :disabled="!!formData.id" @change="handleTypeChanged" />
</a-form-item>
</a-col>
<a-col :span="24">
@ -30,10 +30,10 @@
</a-col>
<a-col :span="24">
<a-form-item label="图标" v-bind="validateInfos.pic" id="ElderTagForm-pic" name="pic">
<span v-if="disabled && !formData.pic">暂无文件</span>
<JImageUpload v-else-if="opeType == 'dmlook'" :fileMax="1" :value="mediaApiAddress + formData.pic">
<JImageUpload v-if="opeType == 'dmlook'" :fileMax="1" v-model:value="dmlookVal">
</JImageUpload>
<JImageUpload v-else :fileMax="1" v-model:value="formData.pic" :disabled="!!formData.id || !isMain">
</JImageUpload>
<JImageUpload v-else :fileMax="1" v-model:value="formData.pic" :disabled="!!formData.id"></JImageUpload>
</a-form-item>
</a-col>
<!-- <a-col :span="24">
@ -71,7 +71,11 @@ const props = defineProps({
formBpm: { type: Boolean, default: true },
mediaApiAddress: '',//
opeType: 'look',
isMain: false,//
});
const dmlookVal = ref('')
const defaultBodyPic = import.meta.env.VITE_DEFAULT_ELDER_TAG_BODY_PIC
const defaultEmoPic = import.meta.env.VITE_DEFAULT_ELDER_TAG_EMO_PIC
const onPriceKeydown = (e: KeyboardEvent) => {
const key = e.key;
//
@ -94,10 +98,10 @@ const useForm = Form.useForm;
const emit = defineEmits(['register', 'ok']);
const formData = reactive<Record<string, any>>({
id: '',
type: '',
type: 'tx',
tagName: '',
price: 0,
pic: '',
pic: defaultBodyPic,
sort: 99,
izEnabled: '0',
describ: '',
@ -149,6 +153,17 @@ function edit(record) {
})
//
Object.assign(formData, tmpData);
if (props.opeType == 'dmlook') {
if (!!formData.pic) {
dmlookVal.value = props.mediaApiAddress + formData.pic
} else {
if (formData.type == 'qx') {
dmlookVal.value = defaultEmoPic
} else {
dmlookVal.value = defaultBodyPic
}
}
}
});
}
@ -200,6 +215,15 @@ async function submitForm() {
});
}
function handleTypeChanged(v_) {
if (!formData.pic || formData.pic == defaultEmoPic || formData.pic == defaultBodyPic) {
if (v_ == 'qx') {
formData.pic = defaultEmoPic
} else {
formData.pic = defaultBodyPic
}
}
}
defineExpose({
add,

View File

@ -6,7 +6,7 @@
<a-button @click="handleOk" v-show="!disableSubmit">确认</a-button>
</template>
<ElderTagForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"
:mediaApiAddress="mediaApiAddress" :opeType="opeType"></ElderTagForm>
:mediaApiAddress="mediaApiAddress" :opeType="opeType" :isMain="isMain"></ElderTagForm>
</a-drawer>
<a-drawer :title="'标准标签库'" width="80vw" v-model:visible="etmVisible" :closable="true"
:footer-style="{ textAlign: 'right' }" @close="handleCancelETM" :maskClosable="true">
@ -31,6 +31,7 @@ import { syncElderTag } from '../ElderTag.api'
const props = defineProps({
mediaApiAddress: '',//
isMain: false,//
});
const mainOrgCode = ref('')
const etmRef = ref()

View File

@ -25,7 +25,7 @@
</div>
<div>
<div
style="width:350px;float: left;height:80vh; background: white; overflow:auto;position: relative;margin-right: 14px;">
style="width:350px;float: left;height:80vh; background: white; overflow:auto;position: relative;margin-right: 14px;border-radius: 8px;">
<div
style="position: absolute; top: 8px; right: 8px; z-index: 1; background: white; padding: 0px; border-radius: 4px;">
<a-radio-group v-model:value="filterIzEnabled" @change="searchQuery">
@ -302,7 +302,7 @@
</template>
</a-tree> -->
</div>
<div style="width:calc(100% - 370px);float: left; background-color: white;" class="container-height">
<div style="width:calc(100% - 370px);float: left; background-color: white;border-radius: 8px;" class="container-height">
<!--引用表格-->
<BasicTable @register="registerTable">
<!--插槽:table标题-->

View File

@ -115,13 +115,15 @@
</a-row>
<a-row style="padding: 0px 20px;">
<a-col :span="24" v-show="directiveMediaBtnValue == 0">
<JImageUploadtz v-if="opeType == 'dmlook'" :value="mediaApiAddress + formData.previewFile" maxCount="1"
<JImageUploadtz v-if="opeType == 'dmlook'"
:value="!!formData.previewFile ? mediaApiAddress + formData.previewFile : defaultPrePic" maxCount="1"
:disabled="disabled || !isMain" />
<JImageUploadtz v-else v-model:value="formData.previewFile" maxCount="1"
:disabled="disabled || !isMain" />
</a-col>
<a-col :span="24" v-show="directiveMediaBtnValue == 1">
<JImageUploadtz v-if="opeType == 'dmlook'" :value="mediaApiAddress + formData.previewFileSmall"
<JImageUploadtz v-if="opeType == 'dmlook'"
:value="!!formData.previewFileSmall ? mediaApiAddress + formData.previewFileSmall : defaultPreSmallPic"
maxCount="1" :disabled="disabled || !isMain" />
<JImageUploadtz v-else v-model:value="formData.previewFileSmall" maxCount="1"
:disabled="disabled || !isMain" />
@ -138,7 +140,8 @@
:disabled="disabled || !isMain" />
</a-col>
<a-col :span="24" v-show="directiveMediaBtnValue == 4">
<JImageUploadtz v-if="opeType == 'dmlook'" :value="mediaApiAddress + formData.immediateFile"
<JImageUploadtz v-if="opeType == 'dmlook'"
:value="!!formData.immediateFile ? mediaApiAddress + formData.immediateFile : defaultImmediatePic"
maxCount="1" :disabled="disabled || !isMain" />
<JImageUploadtz v-else v-model:value="formData.immediateFile" maxCount="1"
:disabled="disabled || !isMain" />
@ -198,6 +201,9 @@ const showDescription = ref(false);
const toggleDescription = () => {
showDescription.value = !showDescription.value;
};
const defaultPrePic = import.meta.env.VITE_DEFAULT_DIRECTIVE_PRE_PIC
const defaultPreSmallPic = import.meta.env.VITE_DEFAULT_DIRECTIVE_PRESMALL_PIC
const defaultImmediatePic = import.meta.env.VITE_DEFAULT_DIRECTIVE_IM_PIC
const fileList = ref([])
const onPriceKeydown = (e: KeyboardEvent) => {
const key = e.key;
@ -288,9 +294,9 @@ const formData = reactive<Record<string, any>>({
updateTime: '',
mp3File: '',
mp4File: '',
previewFile: '',
immediateFile: '',
previewFileSmall: '',
previewFile: defaultPrePic,
previewFileSmall: defaultPreSmallPic,
immediateFile: defaultImmediatePic,
});
const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 4 } });