diff --git a/.env.production b/.env.production index aa67b52..e2c31c4 100644 --- a/.env.production +++ b/.env.production @@ -2,7 +2,7 @@ VITE_USE_MOCK = false # 发布路径 -VITE_PUBLIC_PATH = /biz102 +VITE_PUBLIC_PATH = /biz101 # 是否启用gzip或brotli压缩 # 选项值: gzip | brotli | none @@ -13,10 +13,10 @@ VITE_BUILD_COMPRESS = 'gzip' VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false #后台接口父地址(必填) -VITE_GLOB_API_URL=/nursingunit102 +VITE_GLOB_API_URL=/nursingunit101 #后台接口全路径地址(必填) -VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit102 +VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit101 # 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= diff --git a/src/assets/wlb/edit.png b/src/assets/wlb/edit.png new file mode 100644 index 0000000..cbb1074 Binary files /dev/null and b/src/assets/wlb/edit.png differ diff --git a/src/assets/wlb/mp3-close.png b/src/assets/wlb/mp3-close.png new file mode 100644 index 0000000..6cdbc06 Binary files /dev/null and b/src/assets/wlb/mp3-close.png differ diff --git a/src/assets/wlb/mp3.png b/src/assets/wlb/mp3.png new file mode 100644 index 0000000..ead18a2 Binary files /dev/null and b/src/assets/wlb/mp3.png differ diff --git a/src/assets/wlb/mp4.png b/src/assets/wlb/mp4.png new file mode 100644 index 0000000..f4425e1 Binary files /dev/null and b/src/assets/wlb/mp4.png differ diff --git a/src/assets/wlb/wlb-title.png b/src/assets/wlb/wlb-title.png new file mode 100644 index 0000000..b38f002 Binary files /dev/null and b/src/assets/wlb/wlb-title.png differ diff --git a/src/assets/wlb/wlb-type1.png b/src/assets/wlb/wlb-type1.png new file mode 100644 index 0000000..d5259c0 Binary files /dev/null and b/src/assets/wlb/wlb-type1.png differ diff --git a/src/assets/wlb/wlb-type2.png b/src/assets/wlb/wlb-type2.png new file mode 100644 index 0000000..aa7e923 Binary files /dev/null and b/src/assets/wlb/wlb-type2.png differ diff --git a/src/views/invoicing/ConfigMaterial/components/ConfigMaterialInfoForm.vue b/src/views/invoicing/ConfigMaterial/components/ConfigMaterialInfoForm.vue index 81dde0c..53f6542 100644 --- a/src/views/invoicing/ConfigMaterial/components/ConfigMaterialInfoForm.vue +++ b/src/views/invoicing/ConfigMaterial/components/ConfigMaterialInfoForm.vue @@ -94,6 +94,16 @@ + + + + + + + + + + @@ -159,6 +169,8 @@ suppliers: '', materialImg: '', materialIdent: '', + upperLimit: undefined, + lowerLimit: undefined, }); const { createMessage } = useMessage(); const labelCol = ref({ xs: { span: 24 }, sm: { span: 9 } }); diff --git a/src/views/invoicing/jxc/JxcInfo.api.ts b/src/views/invoicing/jxc/JxcInfo.api.ts index d9a9b4f..24ab537 100644 --- a/src/views/invoicing/jxc/JxcInfo.api.ts +++ b/src/views/invoicing/jxc/JxcInfo.api.ts @@ -6,29 +6,24 @@ const { createConfirm } = useMessage(); enum Api { list = '/invoicing/configMaterialInfo/list', save='/invoicing/configMaterialInfo/add', - edit='/invoicing/configMaterialInfo/edit', - deleteOne = '/invoicing/configMaterialInfo/delete', + edit='/invoicing/qgdInfo/edit', + deleteOne = '/invoicing/qgdInfo/delete', deleteBatch = '/invoicing/configMaterialInfo/deleteBatch', - importExcel = '/invoicing/configMaterialInfo/importExcel', - exportXls = '/invoicing/configMaterialInfo/exportXls', + addList='/invoicing/qgdInfo/addList', + queryListByUser='/invoicing/qgdInfo/queryListByUser', } -/** - * 导出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 + */ +export const queryListByUser = (params) => defHttp.get({ url: Api.queryListByUser, params }); /** * 删除单个 @@ -70,3 +65,8 @@ export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }, { isTransformResponse: false }); } + +//添加请购信息 +export const addList = (params) => { + return defHttp.post({ url: Api.addList, params }, { isTransformResponse: false }); +} diff --git a/src/views/invoicing/jxc/JxcInfo.data.ts b/src/views/invoicing/jxc/JxcInfo.data.ts index 570f316..b5d2df3 100644 --- a/src/views/invoicing/jxc/JxcInfo.data.ts +++ b/src/views/invoicing/jxc/JxcInfo.data.ts @@ -107,3 +107,55 @@ export const superQuerySchema = { materialIdent: {title: '物料标识',order: 19,view: 'image', type: 'string',}, izEnabled: {title: '是否启用',order: 20,view: 'radio', type: 'string',dictCode: ' iz_enabled',}, }; + + + +//列表数据 +export const columnsQgcList: BasicColumn[] = [ + { + title: '货品名称', + align: "center", + dataIndex: 'wlName' + }, + { + title: '货品编码', + align: "center", + dataIndex: 'wlMaterialNo', + width:'100px' + }, + { + title: '请购数量', + align: "center", + dataIndex: 'purchaseQuantity', + width:'100px' + }, + { + title: '规格型号', + align: "center", + dataIndex: 'wlSpecificationModel' + }, + { + title: '货品单位', + align: "center", + dataIndex: 'wlUnits', + width:'100px' + }, + { + title: '上限', + align: "center", + dataIndex: 'wlUpperLimit', + width:'100px' + }, + { + title: '下限', + align: "center", + dataIndex: 'wlLowerLimit', + width:'100px' + }, + { + title: '供应商', + align: "center", + dataIndex: 'suppliersName', + width:'200px' + }, +]; diff --git a/src/views/invoicing/jxc/QgdList.vue b/src/views/invoicing/jxc/QgdList.vue index e5cca23..751e438 100644 --- a/src/views/invoicing/jxc/QgdList.vue +++ b/src/views/invoicing/jxc/QgdList.vue @@ -45,7 +45,7 @@ @@ -59,7 +59,15 @@ - + + + + + + @@ -68,9 +76,10 @@ import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import { columns, superQuerySchema } from './JxcInfo.data'; - import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './JxcInfo.api'; + import { list, deleteOne, batchDelete, queryListByUser} from './JxcInfo.api'; import { downloadFile } from '/@/utils/common/renderUtils'; - import ConfigMaterialInfoModal from '/@/views/invoicing/ConfigMaterial/components/ConfigMaterialInfoModal.vue' + import QgdInfoModal from '/@/views/invoicing/jxc/components/QgdInfoModal.vue' + import QgcList from '/@/views/invoicing/jxc/components/QgcList.vue' import { useUserStore } from '/@/store/modules/user'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue'; @@ -86,6 +95,7 @@ import type { CollapseProps } from 'ant-design-vue'; const queryParam = reactive({}); const toggleSearchStatus = ref(false); const registerModal = ref(); + const qgcOpen = ref(false)//请购车抽屉 const userStore = useUserStore(); const count = ref(5); //注册table数据 @@ -105,15 +115,6 @@ import type { CollapseProps } from 'ant-design-vue'; return Object.assign(params, queryParam); }, }, - exportConfig: { - name: "物料信息", - url: getExportUrl, - params: queryParam, - }, - importConfig: { - url: getImportUrl, - success: handleSuccess - }, }); const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext; const labelCol = reactive({ @@ -131,39 +132,26 @@ import type { CollapseProps } from 'ant-design-vue'; /** * 新增事件 */ - function handleAdd() { - registerModal.value.disableSubmit = false; - registerModal.value.add(); + function handleQgc() { + qgcOpen.value = true + handleSuccess() } +//服务类别抽屉关闭 +function onQgcClose() { + qgcOpen.value = false +} + /** - * 编辑事件 + * 请购事件 */ - function handleEdit(record: Recordable) { + function handleAddQg(record: Recordable) { registerModal.value.disableSubmit = false; registerModal.value.edit(record); } - /** - * 详情 - */ - function handleDetail(record: Recordable) { - registerModal.value.disableSubmit = true; - registerModal.value.edit(record); - } - - /** - * 删除事件 - */ - async function handleDelete(record) { - await deleteOne({ id: record.id }, handleSuccess); - } - - /** - * 批量删除事件 - */ - async function batchHandleDelete() { - await batchDelete({ ids: selectedRowKeys.value }, handleSuccess); + function onQgcCaigou() { + qgcOpen.value = false } /** @@ -171,6 +159,7 @@ import type { CollapseProps } from 'ant-design-vue'; */ function handleSuccess() { (selectedRowKeys.value = []) && reload(); + getQgcSize(); } /** @@ -180,7 +169,7 @@ import type { CollapseProps } from 'ant-design-vue'; return [ { label: '请购', - onClick: handleEdit.bind(null, record), + onClick: handleAddQg.bind(null, record), }, ]; } @@ -204,9 +193,19 @@ import type { CollapseProps } from 'ant-design-vue'; reload(); } + //获取请购车有多少条数据 + function getQgcSize(){ + var params = {} + count.value = 0; + queryListByUser(params).then((res) => { + console.log('getQgcSize--->',res); + count.value = res.total; + }) ; + } // 自动请求并暴露内部方法 onMounted(() => { + getQgcSize(); }); diff --git a/src/views/invoicing/jxc/components/QgcList.vue b/src/views/invoicing/jxc/components/QgcList.vue new file mode 100644 index 0000000..8ce223c --- /dev/null +++ b/src/views/invoicing/jxc/components/QgcList.vue @@ -0,0 +1,254 @@ + + + + + diff --git a/src/views/invoicing/jxc/components/QgdInfoForm.vue b/src/views/invoicing/jxc/components/QgdInfoForm.vue new file mode 100644 index 0000000..ab3954a --- /dev/null +++ b/src/views/invoicing/jxc/components/QgdInfoForm.vue @@ -0,0 +1,296 @@ + + + + + diff --git a/src/views/invoicing/jxc/components/QgdInfoModal.vue b/src/views/invoicing/jxc/components/QgdInfoModal.vue new file mode 100644 index 0000000..8f93c96 --- /dev/null +++ b/src/views/invoicing/jxc/components/QgdInfoModal.vue @@ -0,0 +1,67 @@ + + + + + + diff --git a/src/views/services/directivePackage/DirectivePackageList copy.vue b/src/views/services/directivePackage/DirectivePackageList copy.vue new file mode 100644 index 0000000..9dd1bca --- /dev/null +++ b/src/views/services/directivePackage/DirectivePackageList copy.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/src/views/services/directivePackage/DirectivePackageList.vue b/src/views/services/directivePackage/DirectivePackageList.vue index 9dd1bca..221b37b 100644 --- a/src/views/services/directivePackage/DirectivePackageList.vue +++ b/src/views/services/directivePackage/DirectivePackageList.vue @@ -25,42 +25,43 @@ - - - -
- -
-
- -
- {{ directive.packageName }} -
-
- {{ directive.description }} -
-
- {{ directive.createBy_dictText }} - {{ directive.createTime.substring(0,10) }} - - - - - + + + + + + + + +
+ +
+ + -
+
+
+
+ + + + {{ directive.packageName }} + + + + + + + {{ directive.createBy_dictText }} + + + {{ directive.createTime.substring(0,10) }}
@@ -81,6 +82,7 @@ import { ref, reactive, onMounted } from 'vue'; import DirectivePackageModal from './components/DirectivePackageModal.vue' import { list, queryById, deleteOne } from './DirectivePackage.api' import { Pagination } from 'ant-design-vue'; +import { defHttp } from '/@/utils/http/axios'; const registerModal = ref(); const searchForm = ref({}) @@ -95,11 +97,16 @@ const labelCol = reactive({ xs: 24, sm: 24, }); -const pageParams = ref({ pageNo: 1, pageSize: 12 }) -// function onShowSizeChange (current, pageSize) { -// pageParams.value.pageSize = pageSize -// console.log(current, pageSize); -// }; +const pageParams = ref({ pageNo: 1, pageSize: 18 }) + +//启用停用 +function handleChangeIzEnabled(record){ + var izEnabled = record.izEnabled == '0' ? '1' : '0'; + var params = {id:record.id,izEnabled}; + defHttp.post({ url: '/services/directivePackage/directivePackage/edit', params }).then((res) => { + searchQuery() + }); +} /** * 搜索 */ @@ -203,18 +210,33 @@ onMounted(() => { margin-left: 9px; } .titleOne { + text-align: center; font-size: 16px; font-weight: 600; - height: 40px; - line-height: 40px; - margin-bottom: 10px; } .ellipsis-two-lines { display: -webkit-box; -webkit-box-orient: vertical; - -webkit-line-clamp: 3; /* 限制文本为2行 */ + -webkit-line-clamp: 1; /* 限制文本为2行 */ overflow: hidden; text-overflow: ellipsis; - line-height:24px;color: #5a5a5a; +} +.cardDivClass{ + transition: all 0.3s ease; + position: relative; + padding: 5px;background-color: white;border-radius: 8px;height: 180px; + box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.1); +} + +.cardDivClass:hover{ + padding: 5px;background-color: #f4fcff;border-radius: 8px;height: 180px; + box-shadow: + 0 0 0 2px #d3d3d3, /* 描边 */ + 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影 */ + transform: translate(-2px , -2px); /* 轻微上浮效果 */ +} + +.iconEditClass{ + position:absolute;top:0;right:54px;background: #dfdfdf;border-radius:50%;width: 25px;height: 25px;display:flex;justify-content: center;align-items: center;align-items: center; } diff --git a/src/views/services/directivePackage/components/DirectivePackageForm.vue b/src/views/services/directivePackage/components/DirectivePackageForm.vue index 067acf8..9be313f 100644 --- a/src/views/services/directivePackage/components/DirectivePackageForm.vue +++ b/src/views/services/directivePackage/components/DirectivePackageForm.vue @@ -2,26 +2,26 @@ + + + + + diff --git a/src/views/services/directivePackage/components/DirectivePackageModal.vue b/src/views/services/directivePackage/components/DirectivePackageModal.vue index 0b6c976..8b9c1ae 100644 --- a/src/views/services/directivePackage/components/DirectivePackageModal.vue +++ b/src/views/services/directivePackage/components/DirectivePackageModal.vue @@ -4,104 +4,124 @@ --> -
- -
-
服务指令包详情
- + + + -
- -
-
- - - 服务指令 - - - - 引用 - - - 新增 - - - -
-
- - - -
- - - - - - - - - - {{filterDictTextByCache('period_type', directive.cycleType)}} - {{filterDictTextByCache('period_type', directive.cycleType)}} - {{filterDictTextByCache('period_type', directive.cycleType)}} - - - -
-
-
- {{ directive.directiveName }} -
-
- 体型标签:{{ handleBodyTags('', directive, '') }} -
-
- 情绪标签:{{ handleEmotionTags('', directive, '') }} -
-
-
-
-
-
-
-
- -
-
+ + + + 引用 + + + 新增 + + + + + + +
+
- - 服务指令详情 + + 分类 + + + + + + +
-
-
服务类别:{{ derectiveInfo.categoryName || derectiveInfo.categoryId_dictText }}
-
服务类型:{{ derectiveInfo.typeName || derectiveInfo.typeId_dictText }}
-
服务指令名称:{{ derectiveInfo.directiveName }}
-
周期类型:{{ filterDictTextByCache('period_type', derectiveInfo.cycleType) }}
-
服务时长(分钟):{{ derectiveInfo.serviceDuration }}
-
服务说明:{{ derectiveInfo.serviceContent }}
-
体型标签:{{ handleBodyTags('', derectiveInfo, '') }}
-
情绪标签:{{ handleEmotionTags('', derectiveInfo, '') }}
-
语音文件: - 暂无文件 - -
-
视频文件: - 暂无文件 - + +
+ + + {{ directive.directiveName }} + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ 医保 +
+
+ +
+ {{directive.izReimbursement=='1'?'报销':'不报销'}} +
+
+
+ + + + +
+ 优惠 +
+
+ +
+ {{directive.izPreferential=='1'?'参与':'不参与'}} +
+
+
+ + + + {{ directive.typeName }} + {{ handleBodyTags('', directive, '') }} + {{ handleEmotionTags('', directive, '') }} + + + 日常护理 + 周期护理 + 即时护理 + + +
-
-
+
+
- + :footer-style="{ textAlign: 'right'}" :body-style="{ background: '#dfdfdf' }" > +