parent
b8efa56a30
commit
1035b210df
|
@ -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
|
|
@ -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/
|
||||
|
||||
|
|
@ -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,
|
||||
|
|
|
@ -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'
|
||||
// },
|
||||
];
|
||||
|
||||
// 高级查询数据
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
]);
|
||||
|
|
|
@ -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 };
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue