diff --git a/.env.development b/.env.development index 5e3dc12..52d7d18 100644 --- a/.env.development +++ b/.env.development @@ -23,9 +23,6 @@ VITE_APP_SUB_jeecg-app-1 = '//localhost:8092' # 试验田机构编码 VITE_SYTJGBM = '101' -# 服务指令 -VITE_DIRECTIVE_UPLOAD_PATH = '' - # 填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致(放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动) #VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3 # 作为乾坤子应用启动时必填,需与qiankun主应用注册子应用时填写的 entry 保持一致 diff --git a/src/components/dataAsync/AsyncMainList0731.vue b/src/components/dataAsync/AsyncMainList0731.vue index b088a35..48961a8 100644 --- a/src/components/dataAsync/AsyncMainList0731.vue +++ b/src/components/dataAsync/AsyncMainList0731.vue @@ -24,6 +24,10 @@ + + + + {{ record.asyncStatusList?.[0]?.zorgName || '-' }} @@ -70,12 +74,13 @@ + + diff --git a/src/views/admin/directivemedia/components/DirectiveMediaForm.vue b/src/views/admin/directivemedia/components/DirectiveMediaForm.vue new file mode 100644 index 0000000..11db597 --- /dev/null +++ b/src/views/admin/directivemedia/components/DirectiveMediaForm.vue @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/admin/directivemedia/components/DirectiveMediaModal.vue b/src/views/admin/directivemedia/components/DirectiveMediaModal.vue new file mode 100644 index 0000000..9efff3e --- /dev/null +++ b/src/views/admin/directivemedia/components/DirectiveMediaModal.vue @@ -0,0 +1,84 @@ + + + + + + 关闭 + 确定 + + + + + + + + diff --git a/src/views/services/directivebk/DirectiveBkItem.api.ts b/src/views/services/directivebk/DirectiveBkItem.api.ts new file mode 100644 index 0000000..b4ed75a --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkItem.api.ts @@ -0,0 +1,81 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directivebk/directiveBkItem/list', + save='/directivebk/directiveBkItem/add', + edit='/directivebk/directiveBkItem/edit', + deleteOne = '/directivebk/directiveBkItem/delete', + deleteBatch = '/directivebk/directiveBkItem/deleteBatch', + importExcel = '/directivebk/directiveBkItem/importExcel', + exportXls = '/directivebk/directiveBkItem/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} + +/** + * 导出 + * @param params + * @param isUpdate + */ +export const exposBkApi = (params) => { + return defHttp.post({ url: Api.exportXls, params }); +} \ No newline at end of file diff --git a/src/views/services/directivebk/DirectiveBkItem.data.ts b/src/views/services/directivebk/DirectiveBkItem.data.ts new file mode 100644 index 0000000..729f75d --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkItem.data.ts @@ -0,0 +1,71 @@ +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[] = [ + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionName', + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryName', + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeName', + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleTypeName', + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + { + title: '收费价格(元)', + align: 'center', + dataIndex: 'tollPrice', + }, + { + title: '提成价格(元)', + align: 'center', + dataIndex: 'comPrice', + }, + { + title: '服务说明', + align: 'center', + dataIndex: 'serviceContent', + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + directiveName: { title: '服务指令名称', order: 0, view: 'text', type: 'string' }, + tollPrice: { title: '收费价格', order: 1, view: 'number', type: 'number' }, + comPrice: { title: '提成价格', order: 2, view: 'number', type: 'number' }, + serviceContent: { title: '服务说明', order: 3, view: 'text', type: 'string' }, + serviceDuration: { title: '服务时长(分钟)', order: 4, view: 'text', type: 'string' }, + izEnabled: { title: '是否启用 0启用 1未启用', order: 5, view: 'text', type: 'string' }, + mp3File: { title: '语音文件', order: 6, view: 'text', type: 'string' }, + mp4File: { title: '视频文件', order: 7, view: 'text', type: 'string' }, + previewFile: { title: '预览图片', order: 8, view: 'text', type: 'string' }, + immediateFile: { title: '即时指令图片', order: 9, view: 'text', type: 'string' }, + instructionName: { title: '分类标签中文名称', order: 10, view: 'text', type: 'string' }, + categoryName: { title: '服务类别中文名称', order: 11, view: 'text', type: 'string' }, + typeName: { title: '服务类型中文名称', order: 12, view: 'text', type: 'string' }, + cycleTypeName: { title: '周期类型中文名称', order: 13, view: 'text', type: 'string' }, +}; diff --git a/src/views/services/directivebk/DirectiveBkItemList.vue b/src/views/services/directivebk/DirectiveBkItemList.vue new file mode 100644 index 0000000..43ac0a6 --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkItemList.vue @@ -0,0 +1,276 @@ + + + + + + + + + 分类标签 + + + + + + + + 服务类别 + + + + + + + 服务类型 + + + + + + 服务指令 + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/services/directivebk/DirectiveBkMain.api.ts b/src/views/services/directivebk/DirectiveBkMain.api.ts new file mode 100644 index 0000000..9b6b05e --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkMain.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directivebk/directiveBkMain/list', + save='/directivebk/directiveBkMain/add', + edit='/directivebk/directiveBkMain/edit', + deleteOne = '/directivebk/directiveBkMain/delete', + deleteBatch = '/directivebk/directiveBkMain/deleteBatch', + importExcel = '/directivebk/directiveBkMain/importExcel', + exportXls = '/directivebk/directiveBkMain/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/services/directivebk/DirectiveBkMain.data.ts b/src/views/services/directivebk/DirectiveBkMain.data.ts new file mode 100644 index 0000000..a6ec4f7 --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkMain.data.ts @@ -0,0 +1,33 @@ +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[] = [ + { + title: ' 机构编码', + align: "center", + dataIndex: 'orgCode' + }, + { + title: ' 机构名称', + align: "center", + dataIndex: 'orgCode_dictText' + }, + { + title: '备份时间', + align: "center", + dataIndex: 'createTime', + customRender:({text}) =>{ + // text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + orgCode: {title: ' 机构编码',order: 0,view: 'list', type: 'string',dictTable: "sys_depart", dictCode: 'org_code', dictText: 'depart_name',}, + createTime: {title: '备份时间',order: 1,view: 'date', type: 'string',}, +}; diff --git a/src/views/services/directivebk/DirectiveBkMainList.vue b/src/views/services/directivebk/DirectiveBkMainList.vue new file mode 100644 index 0000000..12701fc --- /dev/null +++ b/src/views/services/directivebk/DirectiveBkMainList.vue @@ -0,0 +1,260 @@ + + + + + + + + + 机构名称 + + + + + + 备份时间 + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + 关闭 + + + + + + + + + + + diff --git a/src/views/services/directivebk/components/DirectiveBkItemForm.vue b/src/views/services/directivebk/components/DirectiveBkItemForm.vue new file mode 100644 index 0000000..4b40e13 --- /dev/null +++ b/src/views/services/directivebk/components/DirectiveBkItemForm.vue @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/services/directivebk/components/DirectiveBkItemModal.vue b/src/views/services/directivebk/components/DirectiveBkItemModal.vue new file mode 100644 index 0000000..cd8cae5 --- /dev/null +++ b/src/views/services/directivebk/components/DirectiveBkItemModal.vue @@ -0,0 +1,77 @@ + + + + + + + + + + diff --git a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue index d8e4928..9e60a07 100644 --- a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue +++ b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue @@ -78,9 +78,23 @@ - + + + 源平台: + + {{ sourceOrgName }} + + | + 目标平台: + + {{ targetOrgName }} + + + @@ -113,6 +127,8 @@ const queryParam = reactive({}); const toggleSearchStatus = ref(false); const registerModal = ref(); const userStore = useUserStore(); +const sourceOrgName = ref()//日志功能进来的-源平台机构名称 +const targetOrgName = ref()//日志功能进来的-目标平台机构名称 //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { @@ -172,7 +188,10 @@ function searchReset() { function init(record) { + queryParam.queryIds = record.queryIds queryParam.dataSourceCode = record.orgCode; + sourceOrgName.value = record.sourceOrgName + targetOrgName.value = record.targetOrgName reload(); } diff --git a/src/views/synchronization/directive/syncList.vue b/src/views/synchronization/directive/syncList.vue index a0b110e..4d97ed9 100644 --- a/src/views/synchronization/directive/syncList.vue +++ b/src/views/synchronization/directive/syncList.vue @@ -23,9 +23,11 @@ style="margin-right: 10px;">日志 标准指令库 + 指令备份 - 新增指令 + @@ -63,7 +65,7 @@ - + @@ -95,6 +97,17 @@ :existDirectiveIds="existDirectiveIds" @refreshExistIds="refreshDMExistedIds"> + + + + 关闭 + + + + + @@ -117,6 +130,7 @@ import AsyncListComponent from '@/components/dataAsync/AsyncMainList0731.vue' import { getDirectiveMain, changeDirectiveMain } from '/@/api/common/api' import { idListByDS } from '/@/views/synchronization/directive/serviceDirective/ConfigServiceDirective.api'; import { nextTick } from 'process'; +import DirectiveBkMainList from '/@/views/services/directivebk/DirectiveBkMainList.vue' const { createMessage } = useMessage() const canAddDirectiveRef = ref() @@ -136,6 +150,8 @@ const directiveMainVisible = ref(false) const { createConfirm } = useMessage(); const existDirectiveIds = ref([])//指令库已存在指令id const directiveMainOrgInfo = ref() +const directiveBackupsOpen = ref(false) +const backupsRef = ref()//指令备份 const labelCol = reactive({ xs: 24, @@ -251,6 +267,20 @@ function refreshDMExistedIds(dmOrgInfo, izReset = false, izQuery = true) { }) } +/** + * 查看指令备份 + */ +function handleDirectiveBackups() { + directiveBackupsOpen.value = true +} + +/** + * 关闭指令备份 + */ +function handleDirectiveBackupsClose() { + directiveBackupsOpen.value = false +} + watch(directiveMainOrgInfo, (newValue, oldValue) => { refreshDMExistedIds(newValue) }, { deep: true }) diff --git a/src/views/synchronization/directive/syncStep/SyncStepList.vue b/src/views/synchronization/directive/syncStep/SyncStepList.vue index 3cc236a..7312089 100644 --- a/src/views/synchronization/directive/syncStep/SyncStepList.vue +++ b/src/views/synchronization/directive/syncStep/SyncStepList.vue @@ -4,7 +4,7 @@ 源平台 - 请选择 + @@ -39,7 +39,7 @@ 批量 - 请选择 + 请选择 + :bodyStyle="{ padding: '14px', height: '70vh', display: 'flex', flexDirection: 'column', overflow: 'auto' }"> 取消 确认 @@ -104,10 +104,14 @@