1、调整资源管理功能

2、解决服务指令文件资源回显问题
3、增加机构3配置文件
This commit is contained in:
1378012178@qq.com 2025-06-19 15:09:53 +08:00
parent b8efa56a30
commit 1035b210df
8 changed files with 274 additions and 264 deletions

27
.env.development003 Normal file
View File

@ -0,0 +1,27 @@
# 是否打开mock
VITE_USE_MOCK = true
# 发布路径
VITE_PUBLIC_PATH = /
# 跨域代理,您可以配置多个 ,请注意,没有换行符
VITE_PROXY = [["/nursing-unit-003","http://localhost:8083/nursing-unit_003"],["/upload","http://localhost:3300/upload"]]
#后台接口全路径地址(必填)
VITE_GLOB_DOMAIN_URL=http://localhost:8083/nursing-unit_003
#后台接口父地址(必填)
VITE_GLOB_API_URL=/nursing-unit-003
# 接口前缀
VITE_GLOB_API_URL_PREFIX=
#微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径
VITE_APP_SUB_jeecg-app-1 = '//localhost:8092'
# 填写后将作为乾坤子应用启动主应用注册时AppName需保持一致放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动
#VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3
# 作为乾坤子应用启动时必填需与qiankun主应用注册子应用时填写的 entry 保持一致
#VITE_GLOB_QIANKUN_MICRO_APP_ENTRY=//localhost:3001/jeecg-vue3

25
.env003 Normal file
View File

@ -0,0 +1,25 @@
# port
VITE_PORT = 3103
# 网站标题
VITE_GLOB_APP_TITLE = 业务系统3
# 简称,此变量只能是字符/下划线
VITE_GLOB_APP_SHORT_NAME = 业务系统3
# 单点登录服务端地址
VITE_GLOB_APP_CAS_BASE_URL=http://cas.test.com:8443/cas
# 是否开启单点登录
VITE_GLOB_APP_OPEN_SSO = false
# 开启微前端模式
VITE_GLOB_APP_OPEN_QIANKUN=true
# 文件预览地址
VITE_GLOB_ONLINE_VIEW_URL=http://fileview.jeecg.com/onlinePreview
# 运维服务器接口地址
VITE_GLOB_INSTITUTIONS_URL=http://192.168.2.19:8080/nursing-unit/

View File

@ -17,8 +17,8 @@
</a-col>
<a-col :span="24">
<a-form-item label="系统功能" v-bind="validateInfos.sysFunc" id="MediaManageForm-sysFunc" name="sysFunc">
<j-dict-select-tag type='list' v-model:value="formData.sysFunc" dictCode="sys_function"
placeholder="请选择系统功能" allowClear />
<j-dict-select-tag type='list' v-model:value="formData.sysFunc" @change="sysFuncChanged"
dictCode="sys_function" placeholder="请选择系统功能" allowClear />
</a-form-item>
</a-col>
<a-col :span="24">
@ -30,7 +30,7 @@
<a-col :span="24">
<a-form-item label="资源类型" v-bind="validateInfos.izNetUrl" id="MediaManageForm-izNetUrl" name="izNetUrl">
<j-dict-select-tag type='radio' v-model:value="formData.izNetUrl" dictCode="iz_net_url" allowClear
@change="handleFileTypeChange" />
:disabled="formData.sysFunc == 'directive'" @change="handleFileTypeChange" />
</a-form-item>
</a-col>
<a-col :span="24">
@ -126,6 +126,7 @@ const formData = reactive<Record<string, any>>({
id: '',
name: '',
descr: '',
sysFunc: '',
fileType: '',
filePath: '',
izNetUrl: 'local',
@ -285,6 +286,15 @@ function transUrl(record) {
}
}
/**
* 系统功能变更
*/
function sysFuncChanged() {
if (formData.sysFunc == 'directive') {
formData.izNetUrl = 'net'
}
}
defineExpose({
add,
edit,

View File

@ -1,8 +1,4 @@
import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据
export const columns: BasicColumn[] = [
{
@ -92,27 +88,11 @@ export const columns: BasicColumn[] = [
dataIndex: 'izPreferential_dictText',
width: 100,
},
// {
// title: '收费频次',
// align: 'center',
// dataIndex: 'chargingFrequency_dictText',
// },
{
title: '周期类型',
align: 'center',
dataIndex: 'cycleType_dictText',
},
// {
// title: '排序',
// align: "center",
// sorter: true,
// dataIndex: 'sort'
// },
// {
// title: '服务说明',
// align: "center",
// dataIndex: 'serviceContent'
// },
{
title: '服务时长(分钟)',
align: 'center',
@ -125,50 +105,16 @@ export const columns: BasicColumn[] = [
dataIndex: 'izEnabled_dictText',
width: 100,
},
// {
// title: '语音文件',
// align: 'center',
// dataIndex: 'mp3FileMedia',
// },
// {
// title: '视频文件',
// align: 'center',
// dataIndex: 'mp4FileMedia',
// },
{
title: '预览图片',
align: 'center',
dataIndex: 'previewFileMedia',
customRender: render.renderImage,
},
{
title: '即时指令图片',
align: 'center',
dataIndex: 'immediateFileMedia',
customRender: render.renderImage,
},
// {
// title: '创建人',
// align: "center",
// dataIndex: 'createBy'
// },
// {
// title: '创建日期',
// align: "center",
// sorter: true,
// dataIndex: 'createTime'
// },
// {
// title: '更新人',
// align: "center",
// dataIndex: 'updateBy'
// },
// {
// title: '更新日期',
// align: "center",
// sorter: true,
// dataIndex: 'updateTime'
// },
];
// 高级查询数据

View File

@ -5,6 +5,13 @@
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol"
:wrapper-col="wrapperCol">
<a-row :gutter="24">
<a-col :lg="6">
<a-form-item name="instructionTagId">
<template #label><span title="分类标签">分类标签</span></template>
<j-dict-select-tag v-model:value="queryParam.instructionTagId" dictCode="instruction_tag"
:ignoreDisabled="true" placeholder="请选分类标签" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="categoryId">
<template #label><span title="服务类别">服务类别</span></template>
@ -17,85 +24,39 @@
<a-form-item name="typeId">
<template #label><span title="服务类型">服务类型</span></template>
<j-dict-select-tag type="list" v-model:value="queryParam.typeId"
:dictCode="`nu_config_service_type,type_name,id,del_flag = 0 and category_id = ${queryParam.categoryId || -1} order by sort asc`" placeholder="请选择服务类型"
:ignoreDisabled="true" allowClear />
:dictCode="`nu_config_service_type,type_name,id,del_flag = 0 and category_id = ${queryParam.categoryId || -1} order by sort asc`"
placeholder="请选择服务类型" :ignoreDisabled="true" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="directiveName">
<template #label><span title="服务指令">服务指令</span></template>
<JInput v-model:value="queryParam.directiveName" placeholder="请输入服务指令名称" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="bodyTags">
<template #label><span title="体型标签">体型标签</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.bodyTags"
:dictCode="`nu_config_body_tag,tag_name,id,del_flag = '0' order by sort asc`" :ignoreDisabled="true"
placeholder="请选择体型标签" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="emotionTags">
<template #label><span title="情绪标签">情绪标签</span></template>
<j-dict-select-tag type="list" v-model:value="queryParam.emotionTags"
:dictCode="`nu_config_emotion_tag,tag_name,id,del_flag = '0' order by sort asc`" :ignoreDisabled="true"
placeholder="请选择情绪标签" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="izEnabled">
<template #label><span title="是否启用">是否启用</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.izEnabled" dictCode="iz_enabled"
:ignoreDisabled="true" placeholder="请选择是否启用" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="directiveName">
<template #label><span title="服务指令">服务指令</span></template>
<JInput v-model:value="queryParam.directiveName" placeholder="请输入服务指令名称" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="instructionTagId">
<template #label><span title="分类标签">分类标签</span></template>
<j-dict-select-tag v-model:value="queryParam.instructionTagId" dictCode="instruction_tag"
:ignoreDisabled="true" placeholder="请选分类标签" allowClear />
</a-form-item>
</a-col>
<!-- <a-col :lg="6">
<a-form-item name="tollPrice">
<template #label><span title="收费价格">收费价格</span></template>
<JRangeNumber v-model:value="queryParam.tollPrice" class="query-group-cust"></JRangeNumber>
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="comPrice">
<template #label><span title="提成价格">提成价格</span></template>
<JRangeNumber v-model:value="queryParam.comPrice" class="query-group-cust"></JRangeNumber>
</a-form-item>
</a-col> -->
<!-- <a-col :lg="6">
<a-form-item name="izReimbursement">
<template #label><span title="医保报销">医保报销</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.izReimbursement" dictCode="med_ins_reimb"
:ignoreDisabled="true" placeholder="请选择医保报销" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="izPreferential">
<template #label><span title="机构优惠">机构优惠</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.izPreferential"
dictCode="institutional_discount" :ignoreDisabled="true" placeholder="请选择机构优惠" allowClear />
</a-form-item>
</a-col> -->
<!-- <a-col :lg="6">
<a-form-item name="chargingFrequency">
<template #label><span title="收费频次">收费频次</span></template>
<j-dict-select-tag type="list" v-model:value="queryParam.chargingFrequency" dictCode="billing_frequency"
:ignoreDisabled="true" placeholder="请选择收费频次" allowClear />
</a-form-item>
</a-col> -->
<a-col :lg="6">
<a-form-item name="bodyTags">
<template #label><span title="体型标签">体型标签</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.bodyTags" :dictCode="`nu_config_body_tag,tag_name,id,del_flag = '0' order by sort asc`"
:ignoreDisabled="true" placeholder="请选择体型标签" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="emotionTags">
<template #label><span title="情绪标签">情绪标签</span></template>
<j-dict-select-tag type="list" v-model:value="queryParam.emotionTags"
:dictCode="`nu_config_emotion_tag,tag_name,id,del_flag = '0' order by sort asc`" :ignoreDisabled="true"
placeholder="请选择情绪标签" allowClear />
</a-form-item>
</a-col>
<!-- <a-col :lg="6">
<a-form-item name="cycleType">
<template #label><span title="周期类型">周期类型</span></template>
<j-dict-select-tag type="list" v-model:value="queryParam.cycleType" dictCode="period_type"
:ignoreDisabled="true" placeholder="请选择周期类型" allowClear />
</a-form-item>
</a-col> -->
<a-col :lg="6">
<a-form-item name="izEnabled">
<template #label><span title="是否启用">是否启用</span></template>
<j-dict-select-tag type='list' v-model:value="queryParam.izEnabled" dictCode="iz_enabled"
:ignoreDisabled="true" placeholder="请选择是否启用" allowClear />
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6">
@ -112,63 +73,43 @@
<BasicTable @register="registerTable">
<!--插槽:table标题-->
<template #tableTitle>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'" @click="handleCategory"
preIcon="tabler:settings">配置服务类别</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'" @click="handleType"
preIcon="tabler:settings">配置服务类型</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'" @click="handleBodyTag"
preIcon="tabler:settings">配置体型标签</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'" @click="handleEmotionTag"
preIcon="tabler:settings">配置情绪标签</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'" @click="handleAdd"
preIcon="ant-design:plus-outlined">新增服务指令</a-button>
<!-- <a-button type="primary" v-auth="'serviceDirective:config_service_directive:exportXls'"
preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
<j-upload-button type="primary" v-auth="'serviceDirective:config_service_directive:importExcel'"
preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> -->
<!-- <a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="batchHandleDelete">
<Icon icon="ant-design:delete-outlined"></Icon>
删除
</a-menu-item>
</a-menu>
</template>
<a-button v-auth="'serviceDirective:config_service_directive:deleteBatch'">批量操作
<Icon icon="mdi:chevron-down"></Icon>
</a-button>
</a-dropdown> -->
<!-- 高级查询 -->
<!-- <super-query :config="superQueryConfig" @search="handleSuperQuery" /> -->
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'"
@click="handleCategory" preIcon="tabler:settings">配置服务类别</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'"
@click="handleType" preIcon="tabler:settings">配置服务类型</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'"
@click="handleBodyTag" preIcon="tabler:settings">配置体型标签</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'"
@click="handleEmotionTag" preIcon="tabler:settings">配置情绪标签</a-button>
<a-button type="primary" class="btnPrivate" v-auth="'serviceDirective:config_service_directive:add'"
@click="handleAdd" preIcon="ant-design:plus-outlined">新增服务指令</a-button>
</template>
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
</template>
<template v-slot:bodyCell="{ column, record, index, text }">
<template v-if="column.dataIndex === 'mp3File'">
<template v-if="column.dataIndex === 'previewFileMedia'">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<audio controls v-else style="width: 100%; max-width: 300px; height: 40px;">
<source :src="getFileAccessHttpUrl(text)">
</audio>
<img v-else :src="sysUrlValue + text" style="max-height: 50px;max-width: 80px;">
</template>
<template v-if="column.dataIndex === 'mp4File'">
<template v-if="column.dataIndex === 'immediateFileMedia'">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<template v-else>
<a-button type="primary" @click="openVideoModal(text)">播放视频</a-button>
</template>
<img v-else :src="sysUrlValue + text" style="max-height: 50px;max-width: 80px;">
</template>
<template v-if="column.dataIndex === 'bodyTagList'">
<span :title="text.map((item) => item.tagName).join('、')">{{text.map((item) => item.tagName).join('、')}}</span>
<span :title="text.map((item) => item.tagName).join('、')">{{text.map((item) =>
item.tagName).join('、')}}</span>
</template>
<template v-if="column.dataIndex === 'emotionTagList'">
<span :title="text.map((item) => item.tagName).join('、')">{{text.map((item) => item.tagName).join('、')}}</span>
<span :title="text.map((item) => item.tagName).join('、')">{{text.map((item) =>
item.tagName).join('、')}}</span>
</template>
</template>
</BasicTable>
<!-- 表单区域 -->
<ConfigServiceDirectiveModal :sysUrlValue="sysUrlValue" ref="registerModal" @success="handleSuccess"></ConfigServiceDirectiveModal>
<ConfigServiceDirectiveModal :sysUrlValue="sysUrlValue" ref="registerModal" @success="handleSuccess">
</ConfigServiceDirectiveModal>
</div>
<!-- 服务类别 -->
@ -214,15 +155,13 @@
</template>
<script lang="ts" name="serviceDirective-configServiceDirective" setup>
import { ref, reactive,onMounted } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { ref, reactive, onMounted } from 'vue';
import { BasicTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage';
import { columns, superQuerySchema } from './ConfigServiceDirective.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './ConfigServiceDirective.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import ConfigServiceDirectiveModal from './components/ConfigServiceDirectiveModal.vue'
import { useUserStore } from '/@/store/modules/user';
import JRangeNumber from "/@/components/Form/src/jeecg/components/JRangeNumber.vue";
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { cloneDeep } from "lodash-es";
@ -231,7 +170,6 @@ import ConfigServiceTypeList from '../serviceType/ConfigServiceTypeList.vue';
import BodyTagList from '/@/views/services/directivetag/bodytag/BodyTagList.vue';
import EmotionTagList from '/@/views/services/directivetag/emotiontag/EmotionTagList.vue';
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue';
import { sysUrl } from '/@/utils/sysBaseInfo/MediaManagePicker.api';
const formRef = ref();
@ -249,11 +187,11 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
canResize: false,
useSearchForm: false,
showIndexColumn: true,
pagination: {
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '50', '100'],
},
pagination: {
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '50', '100'],
},
actionColumn: {
width: 160,
fixed: 'right',
@ -478,9 +416,9 @@ const closeVideoModal = () => {
};
onMounted(() => {
sysUrl().then(res => {
sysUrlValue.value = res.url
})
sysUrl().then(res => {
sysUrlValue.value = res.url
})
})
</script>
@ -523,7 +461,8 @@ audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display {
display: none;
}
.btnPrivate{
.btnPrivate {
height: 34px;
margin-left: 4px;
}

View File

@ -61,13 +61,6 @@
dictCode="institutional_discount" allowClear />
</a-form-item>
</a-col>
<!-- <a-col :span="12">
<a-form-item label="收费频次" v-bind="validateInfos.chargingFrequency"
id="ConfigServiceDirectiveForm-chargingFrequency" name="chargingFrequency">
<j-dict-select-tag type="list" v-model:value="formData.chargingFrequency" dictCode="billing_frequency"
placeholder="请选择收费频次" allowClear />
</a-form-item>
</a-col> -->
<a-col :span="12">
<a-form-item label="周期类型" v-bind="validateInfos.cycleType" id="ConfigServiceDirectiveForm-cycleType"
name="cycleType">
@ -90,11 +83,6 @@
</a-col>
</a-row>
<a-row>
<!-- <a-col :span="12">
<a-form-item label="排序" v-bind="validateInfos.sort" id="ConfigServiceDirectiveForm-sort" name="sort">
<a-input-number v-model:value="formData.sort" placeholder="请输入排序" style="width: 100%" />
</a-form-item>
</a-col> -->
<a-col :span="24">
<a-form-item label="体型标签" id="ConfigServiceDirectiveForm-typeId" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" name="typeId">
@ -115,32 +103,6 @@
placeholder="请选择是否启用"  allowClear />
</a-form-item>
</a-col>
<!-- <a-col :span="12">
<a-form-item label="创建人" v-bind="validateInfos.createBy" id="ConfigServiceDirectiveForm-createBy"
name="createBy">
<a-input v-model:value="formData.createBy" placeholder="请输入创建人" disabled allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="创建日期" v-bind="validateInfos.createTime" id="ConfigServiceDirectiveForm-createTime"
name="createTime">
<a-date-picker placeholder="请选择创建日期" v-model:value="formData.createTime" showTime
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" disabled allow-clear />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="更新人" v-bind="validateInfos.updateBy" id="ConfigServiceDirectiveForm-updateBy"
name="updateBy">
<a-input v-model:value="formData.updateBy" placeholder="请输入更新人" disabled allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="更新日期" v-bind="validateInfos.updateTime" id="ConfigServiceDirectiveForm-updateTime"
name="updateTime">
<a-date-picker placeholder="请选择更新日期" v-model:value="formData.updateTime" showTime
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" disabled allow-clear />
</a-form-item>
</a-col> -->
</a-row>
<a-row>
<a-col :span="12">
@ -165,14 +127,12 @@
<a-row>
<a-col :span="12" v-if="!!formData.previewFile">
<a-form-item label="预览图片" id="ConfigServiceDirectiveForm-previewFile">
<img :src="getFileAccessHttpUrl(formData.previewFileMedia)"
style="max-width: 200px; max-height: 200px;" />
<img :src="sysUrlValue + formData.previewFileMedia" style="max-width: 100px; max-height: 100px;" />
</a-form-item>
</a-col>
<a-col :span="12" v-if="!!formData.immediateFile" :push="!!formData.previewFile ? 0 : 12">
<a-form-item label="即时指令图片" id="ConfigServiceDirectiveForm-immediateFile">
<img :src="getFileAccessHttpUrl(formData.immediateFileMedia)"
style="max-width: 200px; max-height: 200px;" />
<img :src="sysUrlValue + formData.immediateFileMedia" style="max-width: 100px; max-height: 100px;" />
</a-form-item>
</a-col>
</a-row>
@ -205,14 +165,14 @@
<a-col :span="12" v-if="!!formData.mp3File">
<a-form-item label="语音预览" id="ConfigServiceDirectiveForm-mp3File">
<audio controls disabled="false">
<source :src="getFileAccessHttpUrl(formData.mp3FileMedia)">
<source :src="sysUrlValue + formData.mp3FileMedia">
</audio>
</a-form-item>
</a-col>
<a-col :span="12" v-if="!!formData.mp4File" :push="!!formData.mp3File ? 0 : 12">
<a-form-item label="视频预览" id="ConfigServiceDirectiveForm-mp4File">
<video controls>
<source :src="getFileAccessHttpUrl(formData.mp4FileMedia)">
<source :src="sysUrlValue + formData.mp4FileMedia">
</video>
</a-form-item>
</a-col>
@ -261,11 +221,7 @@ const showResourcePicker = (obj, param) => {
const handleResourceSelected = (selectedResource) => {
formData[changedMediaObjStr.value] = selectedResource.id
if (selectedResource.izNetUrl == 'net') {
formData[changedMediaObjStr.value + 'Media'] = props.sysUrlValue + selectedResource.filePath
} else {
formData[changedMediaObjStr.value + 'Media'] = selectedResource.filePath
}
formData[changedMediaObjStr.value + 'Media'] = selectedResource.filePath
};
const formRef = ref();
const useForm = Form.useForm;

View File

@ -66,27 +66,23 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
},
},
{
field: 'orgCode',
show: false,
field: 'platType',
show: !isChild
},
{
field: 'orgCategory',
componentProps: { options: categoryOptions },
field: 'orgCode',
show: false,
},
{
field: 'url',
show: !isChild,
},
{
field: 'province',
show: !isChild,
field: 'orgCategory',
componentProps: { options: categoryOptions },
},
{
field: 'city',
show: !isChild,
},
{
field: 'district',
field: 'payableAmount',
show: !isChild,
},
]);

View File

@ -3,19 +3,13 @@ import { FormSchema } from '/@/components/Form';
// 部门基础表单
export function useBasicFormSchema() {
const basicFormSchema: FormSchema[] = [
{
field: 'departName',
label: '机构名称',
component: 'Input',
componentProps: {
placeholder: '请输入机构/部门名称',
},
rules: [{ required: true, message: '机构名称不能为空' }],
},
{
field: 'parentId',
label: '上级部门',
label: '上级',
component: 'TreeSelect',
ifShow: (v_) => {
return !!v_.values.parentId;
},
componentProps: {
treeData: [],
placeholder: '无',
@ -23,16 +17,25 @@ export function useBasicFormSchema() {
},
},
{
field: 'orgCode',
label: '机构编码',
field: 'departName',
label: '名称',
component: 'Input',
componentProps: {
placeholder: '请输入机构编码',
placeholder: '请输入名称',
},
rules: [{ required: true, message: '名称不能为空' }],
},
{
field: 'orgCode',
label: '编码',
component: 'Input',
componentProps: {
placeholder: '请输入编码',
},
},
{
field: 'orgCategory',
label: '机构类型',
label: '类型',
component: 'RadioButtonGroup',
componentProps: { options: [] },
},
@ -40,8 +43,8 @@ export function useBasicFormSchema() {
field: 'url',
label: '协议域名',
component: 'Input',
dynamicDisabled: ({ values }) => {
return values.orgCategory != '1';
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
placeholder: '请输入协议域名',
@ -51,20 +54,117 @@ export function useBasicFormSchema() {
field: 'province',
label: '省份',
component: 'Input',
ifShow: (v_) => {
return !v_.values.parentId;
},
slot: 'province',
},
{
field: 'city',
label: '城市',
component: 'Input',
ifShow: (v_) => {
return !v_.values.parentId;
},
slot: 'city',
},
{
field: 'district',
label: '区县',
component: 'Input',
ifShow: (v_) => {
return !v_.values.parentId;
},
slot: 'district',
},
{
field: 'platType',
label: '业务平台类型',
defaultValue: 'ywjg',
component: 'JDictSelectTag',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
dictCode: 'iz_test_site',
},
rules: [
{
required: true,
message: '请选择平台类型',
},
],
},
{
field: 'payableAmount',
label: '入住应缴金额',
component: 'InputNumber',
ifShow: (v_) => {
return !v_.values.parentId;
},
rules: [
{
required: true,
message: '请填写护理单元长者入住应缴金额',
},
],
},
{
field: 'operationStartTime',
label: '运营开始时间',
component: 'DatePicker',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
valueFormat: 'YYYY-MM-DD',
style: {
width: '100%',
},
},
},
{
field: 'operationEndTime',
label: '运营到期时间',
component: 'DatePicker',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
valueFormat: 'YYYY-MM-DD',
style: {
width: '100%',
},
},
},
{
field: 'contractStartTime',
label: '合同开始时间',
component: 'DatePicker',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
valueFormat: 'YYYY-MM-DD',
style: {
width: '100%',
},
},
},
{
field: 'contractEndTime',
label: '合同到期时间',
component: 'DatePicker',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
valueFormat: 'YYYY-MM-DD',
style: {
width: '100%',
},
},
},
{
field: 'mobile',
label: '电话',
@ -85,6 +185,9 @@ export function useBasicFormSchema() {
field: 'address',
label: '地址',
component: 'Input',
ifShow: (v_) => {
return !v_.values.parentId;
},
componentProps: {
placeholder: '请输入地址',
},
@ -103,6 +206,14 @@ export function useBasicFormSchema() {
component: 'InputNumber',
componentProps: {},
},
{
field: 'picUrl',
label: '机构图片',
component: 'JImageUpload',
ifShow: (v_) => {
return !v_.values.parentId;
},
},
];
return { basicFormSchema };
}