刘拾玖 преди 5 месеца
родител
ревизия
ab55685d54
променени са 8 файла, в които са добавени 311 реда и са изтрити 216 реда
  1. 44 1
      lib/type.ts
  2. 121 1
      lib/util.ts
  3. 69 34
      pages/index/CfContent.vue
  4. 28 3
      pages/index/CfLogistics.vue
  5. 31 43
      pages/index/CfStatus.vue
  6. 1 1
      pages/index/TopCard.vue
  7. 12 129
      pages/index/index.vue
  8. 5 4
      static/style/base.scss

+ 44 - 1
lib/type.ts

@@ -2,4 +2,47 @@ export interface AreaVO {
 	name : string,
 	code : number,
 	center ?: [number, number]
-}
+}
+export interface CfStatusVO {
+    statusList:  any[];
+}
+
+export interface CfLogisticsVO {
+    cfList: any[];
+}
+
+
+interface Patient {
+    hzxm: string;
+    zjhm: string;
+}
+
+interface Doctor {
+    nickname: string;
+}
+
+export interface RecipeContentVO {
+    yljgmc: string;        // 医疗机构名称
+    patient: Patient;      // 患者信息
+    yncfbh: string;        // 处方编号
+    detail: any[];         // 处方详情
+    cfts: string;          // 处方特色
+    fyfsyf: string;        // 用法用量
+    fyfslx: string;        // 处方类型
+    doctor: Doctor;        // 医生信息
+    createTime: string;    // 创建时间
+}
+
+interface CfListDto {
+    kfrq: string;
+}
+
+export interface BasicInfoVO {
+    hzxm: string;
+    hzsfzh: string;
+    cfListDtos?: CfListDto[];
+}
+
+
+
+

+ 121 - 1
lib/util.ts

@@ -133,7 +133,7 @@ export const getSexByCardNo = (cardNo: string): string => {
     letter= cardNo.substring(16,17)
   }
   if (letter != '') {
-    return Number(letter)%2?'1':'2'
+    return Number(letter)%2?'男':'女'
   }
   return ''
 }
@@ -193,3 +193,123 @@ export const maskCardNo = (cardNo) => {
   }
   return cardNo;
 }
+/**
+ * 姓名脱敏函数
+ * 隐藏部分姓名信息,中间字符用 * 代替
+ * @param 姓名
+ * @returns 脱敏后的姓名
+ */
+export const maskName = (val) => {
+	if (!val || val === '') return ''
+	let name = ''
+	if (val.length === 2) {
+	  name = val.substring(0, 1) + '*' // 截取name 字符串截取第一个字符,
+	} else if (val.length === 3) {
+	  name = val.substring(0, 1) + '*' + val.substring(2, 3) // 截取第一个和第三个字符
+	} else if (val.length === 4) {
+	  name = val.substring(0, 2) + '*' + '*' // 4个字隐藏后面两个
+	} else if (val.length > 4) {
+	  name = val.substring(0, 1) // 5个字只显示第一个字
+	  for (let i = 0; i < val.length - 1; i++) {
+		name = name + '*'
+	  }
+	}
+	return name
+}
+
+/**
+ * 匹配处方状态
+ * @param 处方状态
+ * @returns 状态信息
+ */
+export function filterStateTitle(index) {
+	let dict_type = {
+		'00':'已开方',
+		'01':'已接收',
+		'02':'已确认',
+		'04':'已配方',
+		'05':'已浸泡',
+		'06':'已煎煮',
+		'07':'已包装',
+		'08':'已快递',
+		'09':'已发药',
+		'10':'已签收',
+	}
+	return dict_type[index]
+}
+
+/**
+ * 匹配处方状态Icon
+ * @param 处方状态
+ * @returns 状态Icon
+ */
+export function filterStateIcon(state) {
+	let dict_type = {
+		'00':'\ue672',
+		'01':'\ue672',
+		'02':'\ue676',
+		'04':'\ue671',
+		'05':'\ue673',
+		'06':'\ue675',
+		'07':'\ue677',
+		'08':'\ue674',
+		'09':'\ue8c6',
+		'10':'\ue602', 
+	}
+	return dict_type[state] || '\ue625'
+}
+
+/**
+ * 匹配物流状态
+ * @param 物流状态
+ * @returns 状态信息
+ */
+export function filterLogisticsTitle(index){
+	let dict_type = {
+		'2':'在途中',
+		'3':'派送中',
+		'4':'已签收',
+		'9':'签收失败',
+	}
+	return dict_type[index]
+}
+
+/**
+ * 服药方式
+ */
+export function DictLabelFYFSYF(index){
+	let dict_type = {
+		'01':'内服',
+		'02':'外用',
+		'03':'开水冲服',
+		'04':'嚼服',
+		'05':'伴食服',
+		'06':'酒服',
+		'07':'外搽',
+		'08':'外敷',
+		'09':'熏洗',
+		'10':'熏蒸',
+		'11':'药浴',
+		'12':'滴鼻',
+		'13':'保留灌肠',
+		'14':'直肠灌注',
+		'15':'耳咽吹粉',
+		'16':'中医灌肠',
+	}
+	return dict_type[index]
+}
+
+/**
+ * 发药方式
+ */
+export function DictLabelFYFSLX(index){
+	let dict_type = {
+		'1':'现配现取',
+		'2':'代煎快递',
+		'3':'代煎不快递',
+		'4':'代配快递',
+		'5':'代配不快递',
+	}
+	return dict_type[index]
+}
+

+ 69 - 34
pages/index/CfContent.vue

@@ -1,75 +1,105 @@
 <template>
 	<view class="cf-content">
 		<pub-loading-view :loaded="loaded" height="100%">
-			<view class="cf-content-section" v-if="info">
-				<view class="cf-content-title">{{info.hosName}}</view>
+			<view class="cf-content-section" v-if="recipeContent">
+				<view class="cf-content-title">{{recipeContent.hosName}}</view>
 				<view class="cf-content-info">
 					<view class="cf-content-info-left">
 						<view>患者</view>
-						<view>{{info.name}}</view>
-						<view>{{info.sex}}</view>
-						<view>{{info.age}}</view>
+						<view>{{recipeContent.name}}</view>
+						<view>{{recipeContent.sex}}</view>
+						<view>{{recipeContent.age}}</view>
 					</view>
 					<view class="cf-content-info-right">
 						<view>处方号</view>
-						<view>{{info.cfNo}}</view>
+						<view>{{recipeContent.cfNo}}</view>
 					</view>
 				</view>
 				<view class="cf-content-list">
-					<view class="cf-content-item" v-for="item in info.list" :key="item">
+					<view class="cf-content-item" v-for="item in recipeContent.list" :key="item">
 						<view>{{item.ypmc}}</view>
 						<view>{{ item.jl+item.ypdw }}</view>
 					</view>
 				</view>
 				<view class="cf-content-total">
-					<view>{{info.ts}}</view>
-					<view>{{info.fs}}</view>
-					<view>{{info.kd}}</view>
+					<view>{{recipeContent.ts}}</view>
+					<view>{{recipeContent.fs}}</view>
+					<view>{{recipeContent.kd}}</view>
 				</view>
 				<view class="cf-content-doctor">
 					<view class="cf-content-doctor-left">
 						<view>医生:</view>
-						<view>{{info.doctor}}</view>
+						<view>{{recipeContent.doctor}}</view>
 					</view>
-					<view>{{info.date}}</view>
+					<view>{{recipeContent.date}}</view>
 				</view>
-				<view class="cf-content-note">{{info.note}}</view>
+				<view class="cf-content-note">{{recipeContent.note}}</view>
 			</view>
 		</pub-loading-view>
 	</view>
 </template>
 <script lang="ts" setup>
 	import { ref, PropType, onMounted } from 'vue'
+	import rest from '@/stores/rest'
+	import { RecipeContentVO } from '../../lib/type'
+	
+	import { 
+		getSexByCardNo,
+		getAgeByCardNo,
+		formatDate,
+		DictLabelFYFSYF,
+		DictLabelFYFSLX,
+		maskName,
+		} from '@/lib/util'
+
 	defineProps({
 		info: {
 			type: Object as PropType<any>,
 			default: () => ({}),
 		},
 	})
-	
-	const loaded = ref(false)
 
-	// const info = ref({
-	// 	hosName: '重庆两江新区中医院处方笺',
-	// 	name: '陈*丽',
-	// 	sex: '女',
-	// 	age: '54岁',
-	// 	cfNo: '#38660188162',
-	// 	list: [
-	// 		'熟附片 3g', '丹参 10g', '蜜炙甘草 10g', '大枣 10g', '海藻 10g', '焦南山楂 10g', '熟附片 3g', '丹参 10g', '蜜炙甘草 10g', '大枣 10g', '海藻 10g', '焦南山楂 10g', '焦南山楂 10g',
-	// 	],
-	// 	ts: '7贴',
-	// 	fs: '口服',
-	// 	kd: '代煎快递',
-	// 	doctor: '孙*山',
-	// 	date: '2024-04-22  09:05',
-	// 	note: '根据卫生部《处方管理办法》规定,处方当日有效除药品质量原因外,药品一经发出,不得退换',
-	// })
+	const loaded = ref(false)
+	const recipeContent = ref({
+		hosName: '',
+		name: '',
+		sex: '',
+		age: '',
+		cfNo: '',
+		list: [],
+		ts: '',
+		fs: '',
+		kd: '',
+		doctor: '',
+		date: '',
+		note: '根据卫生部《处方管理办法》规定,处方当日有效除药品质量原因外,药品一经发出,不得退换',
+	})
 
 	const getInfo = async () => {
-		loaded.value = true;
-		// todo
-		loaded.value = false;
+		loaded.value = true
+		try {
+			const res = await rest.get('/app-api/bmfw/findCfYp', { ptwybh: '2024_1857595040975118338' }) as RecipeContentVO
+			
+			recipeContent.value = {
+				hosName: res.yljgmc,
+				name: res.patient.hzxm,
+				sex: getSexByCardNo(res.patient.zjhm),
+				age: `${getAgeByCardNo(res.patient.zjhm)}岁`,
+				cfNo: `#${res.yncfbh}`,
+				list: res.detail,
+				ts: `${res.cfts}贴`,
+				fs: DictLabelFYFSYF(res.fyfsyf),
+				kd: DictLabelFYFSLX(res.fyfslx),
+				doctor: maskName(res.doctor.nickname),
+				date: formatDate(res.createTime, '{y}-{m}-{d} {h}:{i}'),
+				note: '根据卫生部《处方管理办法》规定,处方当日有效除药品质量原因外,药品一经发出,不得退换'
+			}
+			
+		} catch (e) {
+			console.log(e)
+		} finally {
+			loaded.value = false
+		}
 	}
 
 	onMounted(() => {
@@ -122,6 +152,11 @@
 				width: calc((100% - 48rpx)/3);
 				text-align: left;
 				display: flex;
+				>view {
+					&+view {
+						margin-left: 8rpx;
+					}
+				}
 			}
 		}
 

+ 28 - 3
pages/index/CfLogistics.vue

@@ -2,9 +2,9 @@
 	<view class="cf-logistics">
 		<pub-loading-view :loaded="loaded" height="100%">
 			<view class="cf-logistics-top">
-				<view class="icon"><text class="iconfont">&#xe602;</text></view>
+				<view class="icon"><text class="iconfont">&#xe674;</text></view>
 				{{info.no}}
-				<view class="copy-icon"> <text class="iconfont">&#xe602;</text></view>
+				<view class="copy-icon"> <text class="iconfont">&#xe620;</text></view>
 			</view>
 			<view class="logistics-list">
 				<view class="logistics-item" :class="item.className" v-for="item in info.statusList" :key="item.id">
@@ -30,6 +30,11 @@
 </template>
 <script lang="ts" setup>
 	import { ref, PropType, onMounted } from 'vue'
+	import rest from '@/stores/rest'
+	
+	import { filterLogisticsTitle } from '@/lib/util'
+	import { CfLogisticsVO } from '../../lib/type';
+		
 	defineProps({
 		info: {
 			type: Object as PropType<any>,
@@ -38,6 +43,10 @@
 	})
 	const loaded = ref(false)
 	const no = ref('SF145587878799')
+	const info = ref({
+		no: '',
+		statusList: [],
+	})
 	// const statusList = ref([{
 	// 	title: '已签收',
 	// 	time: '2024/04/22  12:24',
@@ -65,7 +74,23 @@
 
 	const getInfo = async () => {
 		loaded.value = true;
-		// todo
+		try {
+			let res = await rest.get('/app-api/bmfw/findCfWl',{ptwybh:'2024_1857595040975118338'}) as CfLogisticsVO
+			for (let i = 0; i < res.cfList.length; i++) {
+				let msgList = JSON.parse(res.cfList[i].msg)
+				for (let j = 0; j< msgList.length;j++){
+					let listWl = {  time: '',title:'',icon:'',message:'' }
+					listWl.time = msgList[j].time2
+					listWl.title = filterLogisticsTitle(msgList[j].wlzt)
+					listWl.icon = '\ue674'
+					listWl.message = msgList[j].context
+					info.value.statusList.push(listWl)
+				}
+				info.value.no = res.cfList[i].ydh
+			}
+		} catch (e) {
+			console.log(e);
+		}
 		loaded.value = false;
 	}
 

+ 31 - 43
pages/index/CfStatus.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="cf-status">
 		<pub-loading-view :loaded="loaded" height="100%">
-			<view class="status-item" :class="item.isCur?'is-current':''" v-for="item in info" :key="item.id">
+			<view class="status-item" :class="item.isCur?'is-current':''" v-for="item in dataList" :key="item.id">
 				<view class="status-item-left">
 					<view class="icon">
 						<text class="iconfont">{{ item.icon }}</text>
@@ -18,6 +18,15 @@
 </template>
 <script lang="ts" setup>
 	import { ref, PropType, onMounted } from 'vue'
+	import rest from '@/stores/rest'
+	
+	import {
+		formatDate,
+		filterStateTitle ,
+		filterStateIcon,
+		} from '@/lib/util'
+	import { CfStatusVO } from '../../lib/type';
+		
 	defineProps({
 		info: {
 			type: Object as PropType<any>,
@@ -25,51 +34,30 @@
 		},
 	})
 	const loaded = ref(false)
-	// const statusList = ref([{
-	// 	icon: '',
-	// 	title: '已签收',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: true,
-	// }, {
-	// 	icon: '',
-	// 	title: '已快递',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已打包',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已煎煮',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已浸泡',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已调剂',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已确认',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }, {
-	// 	icon: '',
-	// 	title: '已接收',
-	// 	time: '2024/04/22  12:24',
-	// 	isCur: false,
-	// }])
+	const dataList = ref([])
 
 	const getInfo = async () => {
 		loaded.value = true;
-		// todo
+		try {
+			let statusRes = await rest.get('/app-api/bmfw/findCfStatus',{ptwybh:'2024_1857595040975118338'}) as CfStatusVO
+			let res = statusRes.statusList
+			for (let i = 0; i < res.length; i++) {
+				let cflist = { time: '',title:'',icon:'',message:'',createTime:'',isCur: false }
+				if (res[i].prescriptionOperationType != '22'){
+					cflist.time = formatDate(res[i].createTime,'{y}-{m}-{d} {h}:{i}')
+					cflist.title = filterStateTitle(res[i].prescriptionOperationType)
+					cflist.icon = filterStateIcon(res[i].prescriptionOperationType)
+					cflist.createTime = res[i].createTime
+					dataList.value.push(cflist)
+				}
+			}
+			dataList.value.sort((a, b) => b.createTime - a.createTime)
+			if (dataList.value.length > 0) { 
+				dataList.value[0].isCur = true
+			}
+		} catch (e) {
+			console.log(e);
+		}
 		loaded.value = false;
 	}
 

+ 1 - 1
pages/index/TopCard.vue

@@ -3,7 +3,7 @@
 		<view class="card-top">
 			<image mode="heightFix" src="/static/image/head.png" />
 			<view class="card-top-right">
-				<view class="card-top-right-name">{{info.name}}<text class="iconfont">&#xe602;</text></view>
+				<view class="card-top-right-name">{{info.name}}<text class="iconfont">&#xe8bf;</text></view>
 				<view>{{info.addr}}<text class="iconfont">&#xe602;</text></view>
 				<view class="card-top-right-sex">{{info.sex}} | {{info.text}}</view>
 			</view>

+ 12 - 129
pages/index/index.vue

@@ -10,9 +10,9 @@
 		</view>
 		<swiper :current="tabCurId" class="swiper-box" duration="300" @change="onChangeTab">
 			<swiper-item class="tab-content" v-for="(_tabItem,tabIndex) in navList" :key="tabIndex">
-				<CfStatus v-if="tabCurId==0" :info="cfStatusList" />
-				<CfLogistics v-if="tabCurId==1" :info="logisticsInfoData" />
-				<CfContent v-if="tabCurId==2" :info="recipeContent" />
+				<CfStatus v-if="tabCurId==0" />
+				<CfLogistics v-if="tabCurId==1" />
+				<CfContent v-if="tabCurId==2" />
 			</swiper-item>
 		</swiper>
 	</view>
@@ -21,13 +21,17 @@
 <script lang="ts" setup>
 	import { ref, nextTick, onMounted } from 'vue'
 	import rest from '@/stores/rest'
+	import { BasicInfoVO } from '../../lib/type'
 
 	import TopCard from './TopCard.vue'
 	import CfStatus from './CfStatus.vue'
 	import CfLogistics from './CfLogistics.vue'
 	import CfContent from './CfContent.vue'
 	
-	import { getSexByCardNo,maskCardNo,getAgeByCardNo,formatDate } from '@/lib/util'
+	import { 
+		getSexByCardNo,
+		maskCardNo,
+		} from '@/lib/util'
 	
 
 	const topCardRef = ref()
@@ -62,7 +66,8 @@
 	])
 
 	const swiperBoxStyle = () => {
-		let _h = `calc(100% - 72rpx - ${topCardRef.value?.offsetHeight})`;
+		let _h = `calc(100% - 72rpx - 
+	cfListDtos: boolean;${topCardRef.value?.offsetHeight})`;
 		console.log("_h", _h)
 		return {
 			height: '200px',
@@ -84,25 +89,6 @@
 		hzxm: '刘秀碧',
 	})
 	const cfDataList = ref([]) // 处方列表
-	const cfStatusList = ref([]) // 处方状态
-	const logisticsInfoData = ref({
-		no: '',
-		statusList: [],
-	}) // 物流信息
-	const recipeContent = ref({
-		hosName: '',
-		name: '',
-		sex: '',
-		age: '',
-		cfNo: '',
-		list: [],
-		ts: '',
-		fs: '',
-		kd: '',
-		doctor: '',
-		date: '',
-		note: '根据卫生部《处方管理办法》规定,处方当日有效除药品质量原因外,药品一经发出,不得退换',
-	})
 	
 	// 地址信息拼接
 	const addressInfSplice = (basic:string, details:string, isShow) => {
@@ -115,7 +101,7 @@
 
 	const getInfo = async () => {
 		// todo 基础信息
-		let basicInfo = await rest.get('/app-api/bmfw/findList',dataList.value)
+		let basicInfo = await rest.get('/app-api/bmfw/findList',dataList.value) as BasicInfoVO
 		console.log("基础信息", basicInfo)
 		// todo 地址信息
 		let addressInfo = await rest.get('/default/consignee-info/list',{hzid:dataList.value.hzsfzh})
@@ -126,7 +112,7 @@
 		}
 		info.value.idCard = maskCardNo(basicInfo[0].hzsfzh)
 		info.value.sex = getSexByCardNo(basicInfo[0].hzsfzh)
-		if (addressInfo && addressInfo.length > 0){
+		if (Array.isArray(addressInfo) && addressInfo.length > 0){
 			let address = (addressInfo[0].province || '') + (addressInfo[0].city || '') + (addressInfo[0].area || '')
 			info.value.addr = addressInfSplice(address,addressInfo[0].shrdzxxdz,false)
 		}else {
@@ -134,109 +120,6 @@
 		}
 		cfDataList.value = basicInfo[0].cfListDtos
 		console.log("处方列表", cfDataList.value)
-		// 处方状态
-		await getCfStatusData()
-		// 物流信息
-		await getLogisticsInfo()
-		// 处方内容
-		await getRecipeContent()
-	}
-	
-	function filterTitle(index) {
-		let dict_type = {
-			'00':'已开方',
-			'01':'已接收',
-			'02':'已确认',
-			'04':'已配方',
-			'05':'已浸泡',
-			'06':'已煎煮',
-			'07':'已包装',
-			'08':'已快递',
-			'09':'已发药',
-			'10':'已签收',
-		}
-		return dict_type[index]
-	}
-	function filterIcon(state){
-		let dict_type = {
-			'00':'\ue672',
-			'01':'\ue672',
-			'02':'\ue676',
-			'04':'\ue671',
-			'05':'\ue673',
-			'06':'\ue675',
-			'07':'\ue677',
-			'08':'\ue674',
-			'09':'\ue8c6',
-			'10':'\ue602', 
-		}
-		return dict_type[state] || '\ue625'
-	}
-	const getCfStatusData = async()=> {
-		cfStatusList.value = []
-		let statusRes = await rest.get('/app-api/bmfw/findCfStatus',{ptwybh:'2024_1857595040975118338'})
-		let res = statusRes.statusList
-		console.log("处方状态", res)
-		for (let i = 0; i < res.length; i++) {
-			let cflist = { time: '',title:'',icon:'',message:'',createTime:'',isCur: false }
-			// 去除一审
-			if (res[i].prescriptionOperationType != '22'){
-				cflist.time = formatDate(res[i].createTime,'{y}-{m}-{d} {h}:{i}')
-				cflist.title = filterTitle(res[i].prescriptionOperationType)
-				cflist.icon = filterIcon(res[i].prescriptionOperationType)
-				cflist.createTime = res[i].createTime
-				cfStatusList.value.push(cflist)
-			}
-		}
-		cfStatusList.value.sort((a, b) => b.createTime - a.createTime)
-		if (cfStatusList.value.length > 0) { 
-			cfStatusList.value[0].isCur = true
-		}
-		console.log("循环", cfStatusList.value)
-	}
-	
-	function filterAddressTitle(index){
-		let dict_type = {
-			'2':'在途中',
-			'3':'派送中',
-			'4':'已签收',
-			'9':'签收失败',
-		}
-		return dict_type[index]
-	}
-	
-	const getLogisticsInfo = async()=> {
-		let res = await rest.get('/app-api/bmfw/findCfWl',{ptwybh:'2024_1857595040975118338'})
-		for (let i = 0; i < res.cfList.length; i++) {
-			let msgList = JSON.parse(res.cfList[i].msg)
-			for (let j = 0; j< msgList.length;j++){
-				let listWl = {  time: '',title:'',icon:'',message:'' }
-				listWl.time = msgList[j].time2
-				listWl.title = filterAddressTitle(msgList[j].wlzt)
-				listWl.icon = '\ue674'
-				listWl.message = msgList[j].context
-				logisticsInfoData.value.statusList.push(listWl)
-			}
-			logisticsInfoData.value.no = res.cfList[i].ydh
-		}
-		console.log("物流", logisticsInfoData.value)
-	}
-	
-	const getRecipeContent = async () => {
-		let res = await rest.get('/app-api/bmfw/findCfYp',{ptwybh:'2024_1857595040975118338'})
-		console.log("处方内容", res)
-		recipeContent.value.hosName = res.yljgmc
-		recipeContent.value.name = res.patient.hzxm
-		recipeContent.value.sex = getSexByCardNo(res.patient.zjhm)
-		recipeContent.value.age = getAgeByCardNo(res.patient.zjhm)
-		recipeContent.value.cfNo = res.yncfbh
-		recipeContent.value.list = res.detail
-		recipeContent.value.ts = res.cfts
-		recipeContent.value.fs = res.fyfsyf
-		recipeContent.value.kd = res.fyfslx
-		recipeContent.value.doctor = res.doctor.nickname
-		recipeContent.value.date = formatDate(res.createTime,'{y}-{m}-{d} {h}:{i}')
-		console.log("111", recipeContent.value)
 	}
 
 	onMounted(() => {

+ 5 - 4
static/style/base.scss

@@ -6,12 +6,13 @@
 //        url('https://at.alicdn.com/t/c/font_1702958_8sqv1klrrkm.ttf?t=1701676243273') format('truetype');
 // }
 
+/* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */
 @font-face {
   font-family: 'iconfont';  /* Project id 4578928 */
-  src: url('https://at.alicdn.com/t/c/font_4578928_eql9bvt7pcb.woff2?t=1731810652180') format('woff2'),
-       url('https://at.alicdn.com/t/c/font_4578928_eql9bvt7pcb.woff?t=1731810652180') format('woff'),
-       url('https://at.alicdn.com/t/c/font_4578928_eql9bvt7pcb.ttf?t=1731810652180') format('truetype'),
-       url('https://at.alicdn.com/t/c/font_4578928_eql9bvt7pcb.svg?t=1731810652180#iconfont') format('svg');
+  src: url('//at.alicdn.com/t/c/font_4578928_apdoknqz4t.woff2?t=1731898031661') format('woff2'),
+       url('//at.alicdn.com/t/c/font_4578928_apdoknqz4t.woff?t=1731898031661') format('woff'),
+       url('//at.alicdn.com/t/c/font_4578928_apdoknqz4t.ttf?t=1731898031661') format('truetype'),
+       url('//at.alicdn.com/t/c/font_4578928_apdoknqz4t.svg?t=1731898031661#iconfont') format('svg');
 }
 
 .iconfont{