zouling 9 ヶ月 前
コミット
15154ef806
45 ファイル変更1488 行追加17 行削除
  1. 55 0
      api/mine/order.js
  2. 37 0
      pages.json
  3. 6 0
      pages/common/webview/index.vue
  4. 29 0
      pages/index/index.vue
  5. 14 0
      pages/mine/index.vue
  6. 40 4
      pages/video/index.vue
  7. BIN
      static/images/home/htabi.png
  8. BIN
      static/images/home/htabj.png
  9. BIN
      static/images/mine/minej.png
  10. BIN
      static/images/order/video.png
  11. BIN
      static/images/order/videobg.png
  12. 201 8
      work/components/yuyue/list.vue
  13. 18 3
      work/pages/yyorder/eat.vue
  14. 7 2
      work/pages/yyorder/meetadd.vue
  15. 189 0
      work/pages/yyorder/menu.vue
  16. 214 0
      work/pages/yyorder/menuRecord.vue
  17. 228 0
      work/pages/yyorder/menuadd.vue
  18. 264 0
      work/pages/yyorder/menulist.vue
  19. 186 0
      work/pages/yyorder/menuput.vue
  20. BIN
      work/static/yuy/add.png
  21. BIN
      work/static/yuy/bg.png
  22. BIN
      work/static/yuy/cbg.png
  23. BIN
      work/static/yuy/cfot.png
  24. BIN
      work/static/yuy/cline.png
  25. BIN
      work/static/yuy/cook.png
  26. BIN
      work/static/yuy/ctop.png
  27. BIN
      work/static/yuy/daya.png
  28. BIN
      work/static/yuy/dayb.png
  29. BIN
      work/static/yuy/delw.png
  30. BIN
      work/static/yuy/finesh.png
  31. BIN
      work/static/yuy/menua.png
  32. BIN
      work/static/yuy/menub.png
  33. BIN
      work/static/yuy/menuc.png
  34. BIN
      work/static/yuy/menud.png
  35. BIN
      work/static/yuy/menue.png
  36. BIN
      work/static/yuy/menuf.png
  37. BIN
      work/static/yuy/menug.png
  38. BIN
      work/static/yuy/nuse.png
  39. BIN
      work/static/yuy/nusebtn.png
  40. BIN
      work/static/yuy/prea.png
  41. BIN
      work/static/yuy/preb.png
  42. BIN
      work/static/yuy/put.png
  43. BIN
      work/static/yuy/up.png
  44. BIN
      work/static/yuy/use.png
  45. BIN
      work/static/yuy/usebtn.png

+ 55 - 0
api/mine/order.js

@@ -135,4 +135,59 @@ export function getYydcCont(data) {
 	'data':data
   })
 }
+
+// 每日食谱-列表system:menuFood:list
+export function getMenuList(data) {
+  return request({
+    'url': '/system/menuFood/list',
+    'method': 'get',
+	'data':data
+  })
+}
+// 每日食谱-详情system:menuFood:query
+export function getMenuDetail(data) {
+  return request({
+    'url': '/system/menuFood/'+data,
+    'method': 'get',
+  })
+}
+// 每日食谱-新增system:menuFood:add
+export function getMenuAdd(data) {
+  return request({
+    'url': '/system/menuFood',
+    'method': 'post',
+	'data':data
+  })
+}
+// 每日食谱-修改system:menuFood:edit
+export function getMenuPut(data) {
+  return request({
+    'url': '/system/menuFood/put',
+    'method': 'post',
+	'data':data
+  })
+}
+// 每日食谱-删除system:menuFood:remove
+export function getMenuDel(data) {
+  return request({
+    'url': '/system/menuFood/delete/'+data,
+    'method': 'get',
+  })
+}
+// 每日食谱记录-列表system:foodRecord:list
+export function getMenuRecordList(data) {
+  return request({
+    'url': '/system/foodRecord/list',
+    'method': 'get',
+	'data':data
+  })
+}
+
+
+
+
+
+
+
+
 // 新的end

+ 37 - 0
pages.json

@@ -236,6 +236,43 @@
 					"navigationStyle": "custom"
 				}
 			},
+			{
+				"path": "pages/yyorder/menu",
+				"style": {
+					"navigationBarTitleText": "本周食谱",
+					"h5":{
+						"titleNView":false
+					}
+				}
+			},
+			{
+				"path": "pages/yyorder/menuadd",
+				"style": {
+					"navigationBarTitleText": "添加食谱",
+					"navigationStyle": "custom"
+				}
+			},
+			{
+				"path": "pages/yyorder/menuput",
+				"style": {
+					"navigationBarTitleText": "修改食谱",
+					"navigationStyle": "custom"
+				}
+			},
+			{
+				"path": "pages/yyorder/menulist",
+				"style": {
+					"navigationBarTitleText": "园区食谱",
+					"navigationStyle": "custom"
+				}
+			},
+			{
+				"path": "pages/yyorder/menuRecord",
+				"style": {
+					"navigationBarTitleText": "食谱记录",
+					"navigationStyle": "custom"
+				}
+			},
 			{
 				"path": "pages/yyorder/meeting",
 				"style": {

+ 6 - 0
pages/common/webview/index.vue

@@ -5,10 +5,12 @@
 </template>
 
 <script>
+import { getToken } from '@/utils/auth'
   export default {
     data() {
       return {
         params: {},
+		url:'',
         webviewStyles: {
           progress: {
             color: "#FF3333"
@@ -23,7 +25,11 @@
       }
     },
     onLoad(event) {
+		var token=getToken();
       this.params = event
+	  var url=event.url+'?token='+token;
+	  console.log(url,1)
+	  this.url=url;
       if (event.title) {
         uni.setNavigationBarTitle({
           title: event.title

+ 29 - 0
pages/index/index.vue

@@ -64,6 +64,18 @@
 							<view class="aimg"><image :src="htabgimg" class="imgg"></image></view>
 							<view class="atit">访客记录</view>
 						</view>
+						<view class="yqcba" @click="getYqMeetFn">
+							<view class="aimg"><image :src="htabiimg" class="imgi"></image></view>
+							<view class="atit">在线会议</view>
+						</view>
+						<view class="yqcba" @click="getYqCookFn" v-if="checkPermi(['system:menuFood:list'])">
+							<view class="aimg"><image :src="htabjimg" class="imgj"></image></view>
+							<view class="atit">园区食谱</view>
+						</view>
+						<view class="yqcba" @click="getYqMenuFn" v-if="checkPermi(['system:foodRecord:list'])">
+							<view class="aimg"><image :src="htabjimg" class="imgj"></image></view>
+							<view class="atit">食谱记录</view>
+						</view>
 						<view class="yqcba">
 							<view class="aimg"><image :src="htabhimg" class="imgh"></image></view>
 							<view class="atit">敬请期待</view>
@@ -202,6 +214,8 @@
 			htabfimg:require("@/static/images/home/htabf.png"),
 			htabgimg:require("@/static/images/home/htabg.png"),
 			htabhimg:require("@/static/images/home/htabh.png"),
+			htabiimg:require("@/static/images/home/htabi.png"),
+			htabjimg:require("@/static/images/home/htabj.png"),
 			hbgaimg:require("@/static/images/home/hbga.png"),
 			hbgbimg:require("@/static/images/home/hbgb.png"),
 			hbgcimg:require("@/static/images/home/hbgc.png"),
@@ -358,6 +372,19 @@
 		getVistotFn(){
 			this.$tab.navigateTo("/work/pages/record/visitor")
 		},
+		//在线会议
+		getYqMeetFn(){
+			var url='https://www.baidu.com'
+			this.$tab.navigateTo("/pages/common/webview/index?url="+url)
+		},
+		//园区食谱
+		getYqCookFn(){
+			this.$tab.navigateTo("/work/pages/yyorder/menulist")
+		},
+		//食谱记录
+		getYqMenuFn(){
+			this.$tab.navigateTo("/work/pages/yyorder/menuRecord")
+		},
 		// 访客管理
 		getLimitFn(){
 			this.$tab.navigateTo("/work/pages/yyorder/limit")
@@ -610,6 +637,8 @@
 				.imgf{width: 56rpx;height: 60rpx;}
 				.imgg{width: 56rpx;height: 62rpx;}
 				.imgh{width: 54rpx;height: 60rpx;}
+				.imgi{width: 50rpx;height: 60rpx;}
+				.imgj{width: 60rpx;height: 48rpx;}
 			}
 			.atit{font-weight: 500;font-size: 22rpx;color: #161616;}
 		}

+ 14 - 0
pages/mine/index.vue

@@ -44,6 +44,13 @@
 				</view> -->
 			</view>
 			<view class="mbgbox">
+				<view class="flexc mine_list" @click="getYqMeetFn">
+					<view class="limg">
+						<image :src="listimgj" class="imge"></image>
+					</view>
+					<view class="tit flex1">在线会议</view>
+					<image :src="rimg" class="rimg"></image>
+				</view>
 				<view class="flexc mine_list" @click="handleToMyhy" v-if="checkPermi(['system:order:list'])">
 					<view class="limg">
 						<image :src="listimgd" class="imga"></image>
@@ -125,6 +132,7 @@
 				listimgg: require('@/static/images/mine/mineg.png'),
 				listimgh: require('@/static/images/mine/mineh.png'),
 				listimgi: require('@/static/images/mine/minei.png'),
+				listimgj: require('@/static/images/mine/minej.png'),
 
 				head:require('@/static/images/mine/head.png'),
 				// wrimg:require("@/static/images/mine/wrimg.png"),
@@ -206,6 +214,11 @@
 			handleToAddYy(){
 				this.$tab.navigateTo("/pages/order/come")
 			},
+			//在线会议
+			getYqMeetFn(){
+				var url='https://www.baidu.com'
+				this.$tab.navigateTo("/pages/common/webview/index?url="+url)
+			},
 			//我的会议
 			handleToMyhy(){
 				this.$tab.navigateTo("/work/pages/yyorder/meetlist")
@@ -366,6 +379,7 @@ page{background-color: #ffffff;}
 					.imgb{width: 22rpx;height: 30rpx;}
 					.imgc{width: 28rpx;height: 30rpx;}
 					.imgd{width: 32rpx;height: 26rpx;}
+					.imge{width: 30rpx;height: 28rpx;}
 				}
 				.tit{font-weight: bold;font-size: 26rpx;color: #161616;}
 				.txt{font-weight: 500;font-size: 26rpx;color: #666666;margin-left: 20rpx;flex: 0 0 auto;}

+ 40 - 4
pages/video/index.vue

@@ -23,7 +23,20 @@
 				<!-- #endif -->
 				<!-- #ifdef MP-WEIXIN -->
 				<!-- #endif -->
-				
+				<!-- 监控 -->
+				<view class="control">
+					<view class="contop flexcc">
+						<image :src="videoimg"></image>
+						<view>监控切换</view>
+					</view>
+					<view class="flex1 overa conbox">
+						<view class="contit over" :class="indexCode==ite.indexCode?'act':''" v-for="(ite,idx) in adrlist" :key="ite.indexCode" @click="getCodeFn(ite)">
+						{{ite.name}}
+						<image :src="videobg" v-if="indexCode==ite.indexCode" class="videobg"></image>
+						</view>
+					</view>
+					
+				</view>
 				<!-- <image :src="mjimg"></image>
 				<view class="vidfot flexc">
 					<view class="flex1 vtit">2024/06/21 星期五 15:59:12</view>
@@ -116,6 +129,8 @@
 			closeimg:require("@/static/images/order/close.png"),
 			resetimg:require('@/static/images/order/reset.png'),
 			wresetimg:require('@/static/images/order/wreset.png'),
+			videoimg:require('@/static/images/order/video.png'),
+			videobg:require('@/static/images/order/videobg.png'),
 			backgroundColor: "transparent",
 			list:[
 				//{entranceGuardName:'后门抓拍一体机1',controlsTime:'2024-08-22 11:21:44',type:'1',pictureUrl:"/profile/upload/2024/08/22/cardr_20240822145636A001.png,/profile/upload/2024/08/22/a_20240822151219A002.png"},
@@ -129,7 +144,8 @@
 			},
 			adridx:0,
 			address:'',
-			adrlist:[],//
+			adrlist:[{name:"后门抓拍一体…",indexCode:"1"},{name:"IPCamera34",indexCode:"2"},{name:"ZXY-工地走廊",indexCode:"3"},],//
+			indexCode:'',
 			fixedflag:false,
 			videourl:'',
 			nvaHeight:44,
@@ -340,6 +356,12 @@
 			// 获取直播视频
 			this.getCameraVideo()
 		},
+		getCodeFn(ite){
+			this.address=ite.name;
+			this.indexCode=ite.indexCode;
+			// 获取直播视频
+			this.getCameraVideo()
+		},
 		getCameraVideo(){
 			// 设备
 			getCameraVideo(this.indexCode).then(res=>{
@@ -482,8 +504,8 @@ page{background: #ffffff;}
 }
 .navbg{width: 100%;height: 692rpx;}	
 .vidbox{overflow: hidden;
-	border-radius: 14rpx;box-sizing: border-box;width:100%;position: relative;
-	video{width: 100%;height: 450rpx;}
+	border-radius: 14rpx;box-sizing: border-box;width:100%;position: relative;display: flex;align-items: center;overflow: auto;flex-wrap: nowrap;
+	video{width: 100%;height: 450rpx;flex: 1;}
 	.vidfot{padding: 0 20rpx 0 30rpx;
 		height: 76rpx;background: rgba(0, 0, 0, 0.5);position: absolute;left: 0;right: 0;bottom: 0;
 		.vtit{font-weight: 500;font-size: 22rpx;color: #FFFFFF;}
@@ -492,6 +514,20 @@ page{background: #ffffff;}
 			.imgb{width: 30rpx;height: 30rpx;}
 		}
 	}
+	.control{width: 210rpx;flex: 0 0 auto;background: #FFFFFF;border-radius: 14rpx;height: 450rpx;padding: 18rpx 0 4rpx;box-sizing: border-box;display: flex;flex-direction: column;margin-left: 16rpx;
+		.contop{font-weight: bold;font-size:26rpx;color: #161616;margin-bottom: 10rpx;flex: 0 0 auto;
+			image{width: 26rpx;height: 20rpx;margin-right: 12rpx;}
+		}
+		.conbox{
+			mask:linear-gradient(#fff,#fff,#fff,transparent);
+			-webkit-mask: linear-gradient(#fff,#fff,#fff,transparent);
+		}
+		.contit{font-size: 22rpx;height: 48rpx;line-height: 48rpx;text-align: center;
+color: #161616;position: relative;
+		&.act{font-weight: bold;color: #FFFFFF;}
+		}
+		.videobg{position: absolute;left: 0;right: 0;top: 0;bottom: 0;width: 100%;height: 48rpx;z-index: -1;}
+	}
 }
 .openbox{margin-bottom: 36rpx;
 	.btns{width: 320rpx;height: 98rpx;border-radius: 14rpx;display: flex;align-items: center;justify-content: center;

BIN
static/images/home/htabi.png


BIN
static/images/home/htabj.png


BIN
static/images/mine/minej.png


BIN
static/images/order/video.png


BIN
static/images/order/videobg.png


+ 201 - 8
work/components/yuyue/list.vue

@@ -106,6 +106,9 @@
 			<view class="ylist rlist" style="padding-top: 12rpx;" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.conferenceRoomOrderId)">
 				<view class="ytop flexc">
 					<view class="ytit">{{ite.conferenceName}}</view>
+					<view class="delbtn mr20" v-if="checkPermi(['system:order:remove'])" @click.stop="getDelFn(ite.conferenceRoomOrderId)">
+						<image :src="delimg"></image>取消预约
+					</view>
 					<!-- <view class="rights" v-if="ite.visitType==1">
 						<image :src="ybga"></image>
 						<view>已结束</view>
@@ -120,10 +123,9 @@
 						<view class="txt"><text class="tit">会议要求</text><text>{{ite.remark}}</text></view>
 						<view class="flexcj mb8">
 							<view class="txt" style="margin-bottom: 0;"><text class="tit">席卡需求</text><text>{{ite.useXk=='Y'?'需要':'暂不'}}</text></view>
-							<view class="delbtn" v-if="checkPermi(['system:order:remove'])" @click.stop="getDelFn(ite.conferenceRoomOrderId)">
-								<image :src="delimg"></image>取消预约
-							</view>
+							
 						</view>
+						<view class="txt" v-if="ite.xkDetail"><text class="tit">席卡人员</text><text>{{ite.xkDetail}}</text></view>
 					</view>
 				</view>
 			</view>
@@ -147,6 +149,79 @@
 				</view>
 			</view>
 		</block>
+		<!-- 园区食谱 -->
+		<block v-if="type=='menulist'">
+			<view class="menulist" v-for="(ite,idx) in datalist" :key='idx'  
+			:data-idx="idx"
+			@touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'">
+			<view class="mentop" >
+				<!-- <view class="mentopa" v-if="ite.menuFoodDetailBk">
+					<image :src="dayc" class="dayimg"></image>
+					<view class="mentit">{{ite.menuFoodDetailBk}}</view>
+				</view> -->
+				<view class="mentopa" v-if="ite.menuFoodDetailLu">
+					<image :src="daya" class="dayimg"></image>
+					<view class="mentit">{{ite.menuFoodDetailLu}}</view>
+				</view>
+				<view class="mentopa" v-if="ite.menuFoodDetailDi">
+					<image :src="dayb" class="dayimg"></image>
+					<view class="mentit">{{ite.menuFoodDetailDi}}</view>
+				</view>
+			</view>
+			<view class="menbtn flexc">
+				<view class="usetit flexc flex1 act" v-if="ite.isUse=='Y'"><image :src="useimg"></image>当前已启用</view>
+				<view class="usetit flexc flex1" v-else><image :src="nuseimg"></image>当前未启用</view>
+				<block v-if="checkPermi(['system:menuFood:edit'])">
+					<view class="usebtn btna" @click.stop="getPut(ite,'put')"><image :src="putimg"></image>修改</view>
+					<view class="usebtn btnb" v-if="ite.isUse=='Y'" @click.stop="getPut(ite,'use')"><image :src="nusebtn"></image>禁用</view>
+					<view class="usebtn btnc" v-else @click.stop="getPut(ite,'use')"><image :src="usebtn"></image>启用</view>
+				</block>
+			</view>
+			<view class="spdel" v-if="checkPermi(['system:menuFood:remove'])&&ite.right>0" @click.stop="getDelFn(ite.menuFoodId)">删除</view>
+			</view>
+		</block>
+		<block v-if="type=='menulists'">
+			<view class="splist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.orderFoodId)" >
+			<!--  @touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" -->
+				<view>
+					<view class="sptop flexc">
+						<view class="tit flex1">11/04 周一 ~ 11/09 周六</view>
+						<view class="spr" @click.stop="getCookFn(2)">每日食谱</view>
+					</view>
+					<view class="sptxt">本周是2024年11月第一周</view>
+					<view class="spbox flexc " :class="ite.day?'act':''">
+						<view class="ltit">
+							<view>今日</view>
+							<view>食谱</view>
+						</view>
+						<view class="flex1">
+							<view class="rtit"><text>午餐:</text>米饭,酱汁里脊肉,蒜泥生菜,平菇蛋花 汤,土豆焖鸭,胡萝卜肉丝</view>
+							<view class="rtit"><text>晚餐:</text>米饭,酱汁里脊肉,蒜泥生菜,平菇蛋花 汤,土豆焖鸭,胡萝卜肉丝</view>
+						</view>
+						<image :src="fineshimg" class="fineshimg" v-if="!ite.day"></image>
+					</view>
+				</view>
+			</view>
+		</block>
+		<block v-if="type=='recordlist'">
+			<view class="splist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.menuFoodId)"><view>
+					<view class="sptop">
+						<view class="tit">{{ite.menuFoodTime}}</view>
+					</view>
+					<view class="spbox flexc act">
+						<view class="ltit">
+							<view>当日</view>
+							<view>食谱</view>
+						</view>
+						<view class="flex1">
+							<!-- <view class="rtit"><text>早餐:</text>{{ite.menuFoodDetailBk}}</view> -->
+							<view class="rtit"><text>午餐:</text>{{ite.menuFoodDetailLu}}</view>
+							<view class="rtit"><text>晚餐:</text>{{ite.menuFoodDetailDi}}</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</block>
 		<view class="shax" v-if="wtdt">{{wtdt}}</view>
 	</view>
 	<block v-else>
@@ -218,9 +293,33 @@
 			ybga:require("@/static/images/order/staff/ybga.png"), 
 			ysta:require("@/static/images/order/staff/ysta.png"), 
 			ystb:require("@/static/images/order/staff/ystb.png"), 
-			delimg:require("@/work/static/yuy/del.png")
+			delimg:require("@/work/static/yuy/del.png"),
+			fineshimg:require("@/work/static/yuy/finesh.png"),
+			daya:require("@/work/static/yuy/daya.png"),
+			dayb:require("@/work/static/yuy/dayb.png"),
+			dayc:require("@/work/static/yuy/dayb.png"),
+			prea:require("@/work/static/yuy/prea.png"),
+			preb:require("@/work/static/yuy/preb.png"),
+			useimg:require("@/work/static/yuy/use.png"),
+			nuseimg:require("@/work/static/yuy/nuse.png"),
+			usebtn:require("@/work/static/yuy/usebtn.png"),
+			nusebtn:require("@/work/static/yuy/nusebtn.png"),
+			putimg:require("@/work/static/yuy/put.png"),
+			//左滑默认宽度
+			delBtnWidth:66,
+			csListArrl:[],
+			startX:'',
 		}
 	},
+	watch:{
+		datalist:{
+			handler(newVal) {
+				var data=newVal;
+				this.csListArrl=JSON.parse(JSON.stringify(data))
+			},
+			deep: true
+		},
+	},
 	onLoad: function() {
 	},
 	methods:{
@@ -245,7 +344,7 @@
 			var that=this;
 			uni.showModal({
 				title: '确认删除',
-				content: "是否确认删除该预约",
+				content: "是否确认删除该记录",
 				cancelText: '取消',
 				confirmText: '确认',
 				success: function(res) {
@@ -284,6 +383,16 @@
 		getDetail(e){
 			this.$emit('getDetail',e)
 		},
+		getPut(ite,type){
+			var data={
+				ite:ite,
+				type:type
+			}
+			this.$emit('getPut',data)
+		},
+		getCookFn(e){
+			this.$emit('getCookFn',e)
+		},
 		typeFn(data){
 			if(data){
 				var newArr=[]
@@ -296,8 +405,46 @@
 			}else{
 				return ''
 			}
-			
-			
+		},
+		//开始触摸滑动
+		drawStart(e) {
+			// console.log("开始触发");
+			var touch = e.touches[0];
+			this.startX = touch.clientX;
+		},
+		//触摸滑动
+		drawMove(e) {
+			// console.log("滑动");
+			for (var index in this.datalist) {
+				// this.csListArrl[index].right=0
+				this.$set(this.datalist[index],'right',0);
+			}
+			var idx=e.currentTarget.dataset.idx
+			var touch = e.touches[0];
+			var item = this.datalist[idx];
+			var disX = this.startX - touch.clientX;
+			if (disX >= 20) {
+			        if (disX > this.delBtnWidth) {
+				    disX = this.delBtnWidth;
+			        }
+					// this.csListArrl[idx].right=disX
+			        this.$set(this.datalist[idx],'right',disX);
+			} else {
+				// this.csListArrl[idx].right=0
+				this.$set(this.datalist[idx],'right',0);
+			}
+		},
+		//触摸滑动结束
+		drawEnd(e) {
+			// console.log("滑动结束");
+			var idx=e.currentTarget.dataset.idx
+			var item = this.datalist[idx];
+			if (item.right >= this.delBtnWidth / 2) {
+				// this.datalist[idx].right=this.delBtnWidth
+				this.$set(this.datalist[idx],'right',this.delBtnWidth);
+			} else {
+				this.datalist[idx].right=0
+			}
 		},
 	},
 	
@@ -388,7 +535,53 @@ color: #FFFFFF;position: absolute;left: 0;top: 0;right: 0;bottom: 0;text-align:
 	}
 	.delbtn{font-weight: 500;font-size: 22rpx;color: #FF6969;display: flex;align-items: center;flex: 0 0 auto;
 		image{width: 28rpx;height: 26rpx;margin-right: 8rpx;}
+	}	
+}
+// 食谱
+.splist{background: #FFFFFF;padding: 24rpx 28rpx 24rpx;box-sizing: border-box;box-shadow: 0px 0px 6rpx 0px #D3D3D3;border-radius: 14rpx;margin:0 32rpx 18rpx;position: relative;
+	.sptop{margin-bottom: 12rpx;
+		.tit{font-weight: bold;font-size: 28rpx;color: #161616;}
+		.spr{min-width: 120rpx;height: 40rpx;background: #FFEFE8;border-radius: 20rpx;padding: 0 6rpx;flex: 0 0 auto;margin-left: 12rpx;
+			border: 2rpx solid #FE5A0E;font-weight: 500;font-size: 22rpx;color: #FE5A0E;text-align: center;line-height: 40rpx;box-sizing: border-box;
+		}
 	}
+	.sptxt{font-weight: 500;font-size: 18rpx;color: #666666;margin-bottom: 20rpx;}
+	.spbox{position: relative;
+		.ltit{font-weight: bold;font-size: 28rpx;color: #AAAAAA;position: relative;width: 68rpx;margin-right: 40rpx;padding-left: 4rpx;box-sizing: border-box;
+			&::after{content: '';position: absolute;right: -20rpx;top: 0;bottom: 0;background: #DADADA;width: 2rpx;}
+		}
+		.rtit{font-size: 26rpx;color: #AAAAAA;padding: 9rpx 0;
+			text{font-weight: bold;}
+		}
+		&.act{
+			.ltit{color: #0491FD;}
+			.rtit{color: #666666;
+				text{color: #161616;}
+			}
+		}
+		.fineshimg{width: 138rpx;height: 92rpx;position: absolute;left: 50%;top: 50%;margin-left: -69rpx;margin-top: -46rpx;}
+	}
+	
+}
+.menulist{margin:0 32rpx 18rpx;position: relative;background: #FFFFFF;box-sizing: border-box;box-shadow: 0px 0px 6rpx 0px #D3D3D3;border-radius: 14rpx;
+	.mentop{padding:22rpx 20rpx 6rpx 18rpx;
+		.mentopa{margin-bottom: 18rpx;display: flex;align-items: flex-start;}
+		.dayimg{width: 76rpx;height: 34rpx;margin-right: 20rpx;flex: 0 0 auto;margin-top: 4rpx;}
+		.mentit{font-weight: 500;font-size: 26rpx;color: #666666;}
+	}
+	.menbtn{padding: 18rpx 18rpx 14rpx;border-top: 2rpx solid #DADADA;
+		.usetit{font-weight: bold;font-size: 22rpx;color: #AAAAAA;
+			image{width: 26rpx;height: 26rpx;margin-right: 12rpx;flex: 0 0 auto;}
+			&.act{color: #0391FD;}
+		}
+		.usebtn{font-weight: 500;font-size: 22rpx;min-width: 120rpx;height: 40rpx;border-radius: 20px;display: flex;align-items: center;justify-content: center;padding:0 6rpx;box-sizing: border-box;margin-left: 28rpx;flex: 0 0 auto;
+			image{width: 20rpx;height: 20rpx;margin-right: 6rpx;}
+			&.btna{border: 2rpx solid #FE5A0E;background: #FFEFE8;color: #FE5A0E;}
+			&.btnb{border: 2rpx solid #45CB99;background: #D7F5EA;color: #45CB99;}
+			&.btnc{border: 2rpx solid #0391FD;background: #DFF1FF;color: #0391FD;}
+		}
+	}
+	.spdel{width: 132rpx;background: #EA2D2D;font-weight: bold;font-size: 26rpx;color: #FFFFFF;display: flex;align-items: center;justify-content: center;
+	border-radius: 14rpx;position: absolute;right: -118rpx;top: 0;bottom: 0;}
 }
-
 </style>

+ 18 - 3
work/pages/yyorder/eat.vue

@@ -10,7 +10,12 @@
 			<view class="ytbox">
 				<uni-forms ref="form" class="ytforms"  :modelValue="datainfo">
 					<view class="ytsbox">
-						<view class="yttit">预订信息</view>
+						<view class="yttit flexcj">预订信息
+							<view class="cook flexcc" @click="getCookFn">
+								<image :src="cookimg"></image>
+								本周食谱
+							</view>
+						</view>
 						<view class="pt5">
 							<uni-forms-item label="就餐日期" name="orderFoodTime">
 								<picker mode="date" class="pickbox" 
@@ -66,6 +71,7 @@
 		data() {
 			return {
 				hupimg:require("@/static/images/order/hup.png"),
+				cookimg:require("@/work/static/yuy/cook.png"),
 				navbg:require("@/static/images/navbg.png"),
 				backgroundColor: "transparent",
 				nvaHeight: 44,
@@ -167,6 +173,9 @@
 				// 	'0' + s) : s);
 				this.datainfo.orderFoodTime= yearStr
 			},
+			getCookFn(){
+				this.$tab.navigateTo("/work/pages/yyorder/menu")
+			},
 			bindTimeChangea(e){
 				var val=e.detail.value;
 				this.datainfo.orderFoodTime=val
@@ -268,9 +277,9 @@
 .ytbox /deep/ .uni-easyinput__content-input{font-size: 28rpx;}
  .ytbox /deep/ .uni-forms-item__error{margin-top:20rpx;left: auto;right: 0;}
  .disable{background: #EFF0F2;border: none !important;}
- .ytbox{width: 684rpx;margin: 0 auto;padding-top: 24rpx;position: relative;flex: 1;overflow: auto;background-color: #ffffff;padding-bottom: 4rpx;border-radius: 14rpx;}
+ .ytbox{width: 684rpx;margin: 0 auto;padding-top: 10rpx;position: relative;flex: 1;overflow: auto;background-color: #ffffff;padding-bottom: 4rpx;border-radius: 14rpx;}
 .ytforms{
-	.yttit{font-size: 28rpx;font-weight: bold;margin-bottom: 56rpx;
+	.yttit{font-size: 28rpx;font-weight: bold;margin-bottom: 40rpx;
 color: #161616;display: flex;align-items: center;padding: 0rpx 26rpx;box-sizing: border-box;position: relative;
 		&::before{content: '';width: 6rpx;height: 34rpx;background: $com-cd3;border-radius: 4rpx;position: absolute;top: 50%;transform: translateY(-50%);left: 0rpx;}
 	}
@@ -281,6 +290,12 @@ color: #161616;display: flex;align-items: center;padding: 0rpx 26rpx;box-sizing:
 		}
 		
 	}
+	.cook{background: #FFEAC8;
+border-radius: 26rpx;width: 186rpx;height: 52rpx;font-weight: 500;
+font-size: 26rpx;
+color: #FE5A0E;
+		image{margin-right: 6rpx;width: 28rpx;height: 26rpx;}
+	}
 }
 // 按钮
 	.ybtn{width: 100%;height: 90rpx;background: $com-cd3;border-radius: 14rpx;margin: 100rpx auto 0;font-size: 28rpx;font-weight: 500;color: #FFFFFF;

+ 7 - 2
work/pages/yyorder/meetadd.vue

@@ -88,6 +88,11 @@
 									<image :src="nchoseimg" v-else></image>
 									需要准备席卡
 								</view>
+								<view class="textarea" v-if="datainfo.useXk=='Y'">
+									<uni-easyinput :inputBorder="false" type="textarea" autoHeight  v-model="datainfo.xkDetail"
+										placeholder="请输入需要准备席卡人员">
+									</uni-easyinput>
+								</view>
 								<!-- <uni-forms-item label="会议室"  name="appointmentSite">
 									<view class="flex1">
 										<w-select
@@ -431,13 +436,13 @@ color: #161616;display: flex;align-items: center;padding: 0rpx 26rpx;box-sizing:
 		.pickbox{flex: 1;text-align: right;font-weight: 500;font-size: 28rpx;color: #161616;
 			.hupimg{width: 18rpx;height: 14rpx;margin-left: 12rpx;flex: 0 0 auto;}
 		}
-		.chose{display: flex;align-items: center;font-weight: 500;font-size: 28rpx;color: #161616;margin-top: 34rpx;
+		.chose{display: flex;align-items: center;font-weight: 500;font-size: 28rpx;color: #161616;margin: 34rpx 0 24rpx;
 			image{width: 26rpx;height: 24rpx;margin-right: 18rpx;flex: 0 0 auto;}
 		}
 	}
 }
 // 按钮
-	.ybtn{width: 100%;height: 90rpx;background: $com-cd3;border-radius: 14rpx;margin: 100rpx auto 0;font-size: 28rpx;font-weight: 500;color: #FFFFFF;
+	.ybtn{width: 100%;height: 90rpx;background: $com-cd3;border-radius: 14rpx;margin: 76rpx auto 0;font-size: 28rpx;font-weight: 500;color: #FFFFFF;
 		&.btn1{background-color: #9a9c9e;}
 		&.ybga{background-color: #e6efff;color:#0391fd ;}
 	}

+ 189 - 0
work/pages/yyorder/menu.vue

@@ -0,0 +1,189 @@
+<template>
+  <view class="pr">
+	  <image :src="bgimg" class="bgimg"></image>
+	  <view class="cookbox">
+		  <view class="cboxs">
+			  <view class="ctopimg">
+			  		<image :src="ctopimg"></image>  
+			  		<view class="tit">{{startDate}} - {{endDate}}</view>
+			  </view>
+			  <image :src="cbgimg" class="cbgimg"></image>
+			  <view class="cline">
+				  <image :src="cline"></image>
+			  </view>
+			  <view class="clists" v-for="(ite,idx) in list" :key="idx">
+			  	<image :src="cooka" class="cookimg hea" v-if="kaType(ite.menuFoodTime,weeklist)=='1'"></image>
+			  	<image :src="cookb" class="cookimg heb" v-if="kaType(ite.menuFoodTime,weeklist)=='2'"></image>
+			  	<image :src="cookc" class="cookimg hec" v-if="kaType(ite.menuFoodTime,weeklist)=='3'"></image>
+			  	<image :src="cookd" class="cookimg hed" v-if="kaType(ite.menuFoodTime,weeklist)=='4'"></image>
+			  	<image :src="cooke" class="cookimg heb" v-if="kaType(ite.menuFoodTime,weeklist)=='5'"></image>
+			  	<image :src="cookf" class="cookimg heb" v-if="kaType(ite.menuFoodTime,weeklist)=='6'"></image>
+			  	<image :src="cookg" class="cookimg hed" v-if="kaType(ite.menuFoodTime,weeklist)=='7'"></image>
+			  	<view class="clist">
+					<!-- <view class="list">
+						<view class="tit bgb">早餐</view>
+						<view class="txt">{{ite.menuFoodDetailBk||"无"}}</view>
+					</view> -->
+			  		<view class="list">
+			  			<view class="tit bga">午餐</view>
+			  			<view class="txt">{{ite.menuFoodDetailLu||"无"}}</view>
+			  		</view>
+					<view class="list">
+						<view class="tit bgb">晚餐</view>
+						<view class="txt">{{ite.menuFoodDetailDi||"无"}}</view>
+					</view>
+			  	</view>
+			  </view>
+			  <image :src="cfotimg" class="cfotimg"></image> 
+		  </view>
+	  </view>
+  </view>
+</template>
+
+<script>
+import {getMenuRecordList,getMenuList} from "@/api/mine/order.js"
+import {getDictionaryFn} from "@/api/mine/register.js"
+import { selectDictLabel } from '@/utils/common.js';
+  export default {
+	data(){
+		return{
+			bgimg:require("@/work/static/yuy/bg.png"), 
+			cbgimg:require("@/work/static/yuy/cbg.png"), 
+			ctopimg:require("@/work/static/yuy/ctop.png"), 
+			cfotimg:require("@/work/static/yuy/cfot.png"), 
+			cline:require("@/work/static/yuy/cline.png"), 
+			cooka:require("@/work/static/yuy/menua.png"), 
+			cookb:require("@/work/static/yuy/menub.png"), 
+			cookc:require("@/work/static/yuy/menuc.png"), 
+			cookd:require("@/work/static/yuy/menud.png"), 
+			cooke:require("@/work/static/yuy/menue.png"), 
+			cookf:require("@/work/static/yuy/menuf.png"), 
+			cookg:require("@/work/static/yuy/menug.png"), 
+			list:[],
+			startDate:'',
+			endDate:'',
+			weeklist:'',
+		}
+	},
+	onLoad: function() {
+		this.init()
+		this.getWeeksDay()
+	},
+	methods:{
+		kaType(data, list) {
+			return selectDictLabel(list, data);
+		},
+		init(){
+			// 食谱日期
+			getDictionaryFn('week').then(res=>{
+				if(res.code==200){
+					this.weeklist = res.data.map(v => {
+						return {
+							dictLabel: v.dictLabel,
+							dictValue: v.dictValue,
+							
+						}
+					})
+				}
+			})
+		},
+		getWeeksDay(){
+			var date = new Date();
+			var y = date.getFullYear();
+			var m = date.getMonth();
+			var d = date.getDate();
+			var week = date.getDay(); //获取当前星期X(0-6,0代表星期天)
+			var startDate,endDate
+			if(week==0){
+				startDate=new Date(y,m,d-week-6)
+				endDate=new Date(y,m,d-week)
+			}else{
+				startDate=new Date(y,m,d-week+1)
+				endDate=new Date(y,m,d-week+7)
+			}
+			this.startDate=this.formatDate(startDate)
+			this.endDate=this.formatDate(endDate)
+			this.getDataFn()
+			// console.log(this.formatDate(startDate),this.formatDate(endDate))
+		},
+		formatDate(date){
+			const year = date.getFullYear();
+			const month = ('0' + (date.getMonth() + 1)).slice(-2);
+			const day = ('0' + date.getDate()).slice(-2);
+		 
+			return month + '-' + day;
+		},
+		getDataFn() {
+			var params = {
+				pageSize: this.pageSize,
+				pageNum: this.pageNum,
+				isUse:'Y'
+			}
+			getMenuRecordList(params).then(res => {
+				if (res.code == 200) {
+					// if (res.rows.length < this.pageSize) {
+					// 	this.reachflag = false
+					// 	this.wtdt = '到底了~';
+					// } else {
+					// 	var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -
+					// 		1)
+					// 	if (num < res.total) {
+					// 		this.reachflag = true
+					// 		this.wtdt = '上拉加载更多'
+					// 	} else {
+					// 		this.reachflag = false
+					// 		this.wtdt = '到底了~';
+					// 	}
+					// }
+					if (this.pageNum == 1) {
+						this.list = res.rows;
+					} else {
+						this.list = this.list.concat(res.rows)
+					}
+				} else {
+					this.$toast(res.msg)
+				}
+			})
+		
+		},
+	},
+	
+  }
+</script>
+
+<style lang="scss" scoped>
+.bgimg{width: 100%;min-height: 100vh;z-index: -2;position: absolute;left: 0;right: 0;top: 0;bottom: 0;height: auto;}
+.cookbox{padding: 172rpx 36rpx 54rpx 64rpx;box-sizing: border-box;
+	.cboxs{position: relative;width: 100%;min-height: calc(100vh - 226rpx);padding: 152rpx 50rpx 154rpx 66rpx;box-sizing: border-box;
+		.ctopimg{width: 548rpx;height: 296rpx;position: absolute;left: 50%;top: -154rpx;z-index: 1;margin-left: -274rpx;
+			image{width: 100%;height: 100%;}
+			.tit{font-size: 30rpx;color: #FFFFFE;text-stroke: 2rpx #291313;-webkit-text-stroke: 2rpx #291313;font-weight: bold;
+				position: absolute;bottom: 80rpx;font-family: FZZhengHeiS-EB-GB;left: 144rpx;right: 172rpx;text-align: center;line-height: 40rpx;
+			}
+		}
+		.cfotimg{width: 582rpx;height: 264rpx;position: absolute;right: -12rpx;bottom: -42rpx;}
+		.cbgimg{width: 100%;height: 100%;position: absolute;left: 0;right: 0;top: 0;bottom: 0;z-index: -1;}
+		.cline{width: 62rpx;height: auto;position: absolute;top: 252rpx;bottom: 270rpx;left:-24rpx;overflow: hidden;display: flex;align-items: center;
+			//min-height: 370rpx;
+			image{height: 1638rpx;width: 100%;}
+		}
+		// 主体
+		.clists{padding-bottom: 12rpx;
+			.cookimg{width: 532rpx;margin-bottom: 26rpx;
+				&.hea{height: 56rpx;width: 534rpx;}
+				&.heb{height: 60rpx;}
+				&.hec{height: 64rpx;}
+				&.hed{height: 66rpx;width: 534rpx;}
+			}
+			.list{padding-left: 6rpx;display: flex;align-items: flex-start;margin-bottom: 18rpx;
+				.tit{font-size: 26rpx;min-width: 76rpx;padding: 0 8rpx;text-align: center;line-height: 34rpx;box-sizing: border-box;height: 34rpx;border-radius: 16rpx;flex: 0 0 auto;margin-right: 20rpx;color: #161616;
+				&.bga{background: #FFE0AE;}
+				&.bgb{background: #DCF1FF;}
+				}
+				.txt{font-size: 26rpx;font-family: FZKaTong-M19S;color: #382324;}
+			}
+		}
+	}
+}
+
+</style>

+ 214 - 0
work/pages/yyorder/menuRecord.vue

@@ -0,0 +1,214 @@
+<template>
+	<view :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar color="#ffffff" left-icon="left" title="食谱记录" :background-color="backgroundColor"
+				:border="false" statusBar='true' fixed="true" @clickLeft='getBack'>
+			</uni-nav-bar>
+			<view class="searchs flexc" :style="'background:'+backgroundColor">
+				<image :src="licoimg" class="limg"  @click='getResetFn'></image>
+				<picker mode="date" class="pickbox flex1"  @change="bindTimeChangea">
+					<view class="search flexc">
+						<image :src="serimg"></image>
+						<view class="input" :class="recordTime?'':'nact'">{{recordTime||"请选择时间进行搜索"}}</view>
+						<!-- <input  placeholder="请选择时间进行搜索" confirm-type="search" placeholder-style="color:#B9DCF7" v-model="title" @confirm="getConfirm"/> -->
+					</view>
+				</picker>
+			</view>
+			
+		</view>
+		<image :src="navbg" class="navbg"></image>
+		<view class="zxmain">
+			<!-- 列表 -->
+			<y-list type='recordlist' :datalist="list" :wtdt="wtdt"  @getDelFn="getDelFn"></y-list>
+			<!-- <view class="yyfbtn flexcc" v-if="checkPermi(['system:food:add'])" @click="getAddFn">添加食谱</view> -->
+		</view>
+	</view>
+</template>
+
+<script>
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	import yList from "@/work/components/yuyue/list.vue"
+	import {getMenuRecordList} from "@/api/mine/order.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default {
+		components: {yList},
+		data() {
+			return {
+				wupimg:require("@/work/static/record/wup.png"),
+				serimg:require("@/work/static/record/search.png"),
+				licoimg:require("@/work/static/record/lico.png"),
+				navbg:require("@/static/images/navbg.png"),
+				dayimg:require("@/work/static/yuy/day.png"),
+				backgroundColor: "transparent",
+				datainfo:{},
+				nvaHeight: 44,
+				marTop: 0, //距离顶部的距离
+				stubarHeight: 0, //
+				title:'',
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: false,
+				wtdt:'',
+				userId:this.$store.state.user.userId,
+				recordTime:'',
+			}
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#0491FD'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		onUnload() {
+		},
+		onLoad: function() {
+			// this.init()
+			this.getDataFn()
+			uni.getSystemInfo({
+				success: (e) => {
+					this.stubarHeight = Number(e.statusBarHeight);
+					this.nvaHeight = Number(e.statusBarHeight) + 44;
+					this.tabscheight = Number(this.nvaHeight) * 2 + 100;
+				}
+			})
+		},
+		onShow() {},
+		mounted() {
+			// this.getHeightFn()
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			getConfirm(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			bindTimeChangea(e){
+				var val=e.detail.value;
+				this.recordTime=val;
+				this.getConfirm()
+			},
+			getResetFn(){
+				this.recordTime='';
+				this.getConfirm()
+			},
+			getHeightFn() {
+				let query = uni.createSelectorQuery().in(this);
+				//需要给黄色区域设置一个id标识,在这里是demo
+				query.select('.navbox').boundingClientRect(data => {
+					var top = data.top < 0 ? -data.top : data.top;
+					var stubarHeight = Number(this.stubarHeight);
+					this.marTop = stubarHeight > 0 ? 692 - Number(data.height) * 2 : 692 - Number(data.height) *
+						2 + 40 //赋值,待会要用
+					if (top <= this.nvaHeight) {
+						const opacity = top / 100 // 计算透明度值
+						const color = `rgba(4, 145, 253, ${opacity})`
+						this.backgroundColor = color // 更新盒子背景颜色
+					} else {
+						this.backgroundColor = '#00A9F0'
+					}
+				}).exec();
+			},
+			init() {
+				// // 就餐类型
+				// getDictionaryFn('jiucan').then(res=>{
+				// 	if(res.code==200){
+				// 		this.jclxlist = res.data.map(v => {
+				// 			return {
+				// 				dictLabel: v.dictLabel,
+				// 				dictValue: v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
+			},
+			getDelFn(id){
+				var that=this;
+				getFoodDel(id).then(res=>{
+					if(res.code==200){
+						this.$toast('删除成功')
+						setTimeout(function(){
+							that.getConfirm()
+						},1200)
+					}
+				})
+			},
+			getDataFn() {
+				var params = {
+					pageSize: this.pageSize,
+					pageNum: this.pageNum,
+				}
+				if(this.recordTime){
+					params.recordTime=this.recordTime
+				}
+				getMenuRecordList(params).then(res => {
+					if (res.code == 200) {
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -
+								1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = '上拉加载更多'
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						if (this.pageNum == 1) {
+							this.list = res.rows;
+						} else {
+							this.list = this.list.concat(res.rows)
+						}
+					} else {
+						this.$toast(res.msg)
+					}
+				})
+
+			},
+		},
+
+	}
+</script>
+<style>
+/* 	page {
+		background: #ffffff;
+	} */
+</style>
+<style lang="scss" scoped>
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.navbg{width: 100%;height: 692rpx;position: absolute;left: 0;right: 0;top: 0;z-index: -1;}	
+.zxmain{position: relative;padding: 120rpx 0rpx 10rpx;box-sizing: border-box;}
+.searchs{padding: 12rpx 32rpx;
+	.limg{width: 24rpx;height: 24rpx;margin-right: 16rpx;flex:0 0 auto;}
+}
+.search{padding: 0 52rpx;box-sizing: border-box;
+	width: 100%;height: 76rpx;background: rgba(40, 139, 214, 0.5);border-radius: 38rpx;
+	image{width: 24rpx;height: 24rpx;margin-right: 22rpx;flex: 0 0 auto;}
+	.input{flex: 1;font-weight: 500;font-size: 22rpx;color: #FFFFFF;
+		&.nact{color:#B9DCF7;}
+	}
+}
+.daybtn{font-weight: 500;font-size: 26rpx;color: #FFFFFF;flex: 0 0 auto;
+	image{width: 30rpx;height: 30rpx;margin-right: 8rpx;}
+}
+</style>

+ 228 - 0
work/pages/yyorder/menuadd.vue

@@ -0,0 +1,228 @@
+<template>
+	<view :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar color="#ffffff" left-icon="left" title="添加食谱" :background-color="backgroundColor"
+				:border="false" statusBar='true' fixed="true" @clickLeft='getBack'>
+			</uni-nav-bar>
+		</view>
+		<image :src="navbg" class="navbg"></image>
+		<view class="zxmain">
+			<uni-forms ref="form" class="ytforms"  :modelValue="datainfo">
+				<!-- <view class="ytbox">
+					<view class="yttit">预订信息</view>
+					<uni-forms-item label="选择星期" name="orderFoodTime">
+						<view class="flexc flex1">
+							<view class="flex1 " :class="datainfo.orderFoodTime?'co16 fw5 f14':'coa f14'">
+								{{datainfo.orderFoodTime||'请选择'}}</view>
+								<image :src="upimg" class="hupimg"></image>
+						</view>	
+					</uni-forms-item>
+				</view> -->
+				<!-- <view class="ytbox" style="padding: 0rpx 16rpx;">
+					<view class="table">
+						<view class="tatit act">星期一</view>
+						<view class="tatit">星期二</view>
+						<view class="tatit">星期二</view>
+						<view class="tatit">星期二</view>
+						<view class="tatit">星期二</view>
+						<view class="tatit">星期二</view>
+						<view class="tatit">星期二</view>
+					</view>
+				</view> -->
+				<view class="ytbox" style="padding-bottom: 16rpx;" v-for="(ite,idx) in menuFoodList" :key="ite.value">
+					<view class="yttit flexcj">{{ite.menuFoodTime}}
+					<view class="cooktita flexcc">
+						<!-- <view class="label">是否启用:</view> -->
+						<uni-data-checkbox :selectedColor="color" :selectedTextColor="color" v-model="ite.isUse" :localdata="users" />
+					</view>
+						<!-- <view class="delbox flexc"><image :src="delimg"></image>删除食谱</view> -->
+					</view>
+					<view class="cooktit">
+						<view class="label">午餐:</view>
+						<textarea auto-height="true" v-model="ite.menuFoodDetailLu" class="textarea" maxlength='-1' placeholder="请输入或粘贴午餐菜品,用“,”隔开…"></textarea>
+					</view>
+					<view class="cooktit">
+						<view class="label">晚餐:</view>
+						<textarea auto-height="true" v-model="ite.menuFoodDetailDi" class="textarea" maxlength='-1' placeholder="请输入或粘贴晚餐菜品,用“,”隔开…"></textarea>
+					</view>
+				</view>	
+			</uni-forms>
+			<view class="btns">
+				<!-- <view class="btn btna"><image :src="addimg" class="addimg"></image>添加食谱</view> -->
+				<view class="btn btnb" v-if="checkPermi(['system:menuFood:add'])" @click="getSubmit">确认提交</view>
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	import {getMenuAdd} from "@/api/mine/order.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default {
+		components: {},
+		data() {
+			return {
+				navbg:require("@/static/images/navbg.png"),
+				upimg:require("@/work/static/yuy/up.png"),
+				delimg:require("@/work/static/yuy/delw.png"),
+				addimg:require("@/work/static/yuy/add.png"),
+				backgroundColor: "transparent",
+				datainfo:{},
+				nvaHeight: 44,
+				marTop: 0, //距离顶部的距离
+				stubarHeight: 0, //
+				userId:this.$store.state.user.userId,
+				weeklist:[],//食谱日期,
+				menuFoodList:[],//食谱
+				color:'#0391FD',
+				users: [{
+				  text: '启用',
+				  value: "Y"
+				}, {
+				  text: '禁用',
+				  value: "N"
+				}],
+			}
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#0491FD'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		onUnload() {
+			
+		},
+		onLoad: function() {
+			this.init()
+			// this.getDataFn()
+			uni.getSystemInfo({
+				success: (e) => {
+					this.stubarHeight = Number(e.statusBarHeight);
+					this.nvaHeight = Number(e.statusBarHeight) + 44;
+				}
+			})
+		},
+		onShow() {},
+		mounted() {
+			
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			init(){
+				// 食谱日期
+				getDictionaryFn('week').then(res=>{
+					if(res.code==200){
+						// this.weeklist = res.data.map(v => {
+						// 	return {
+						// 		label: v.dictLabel,
+						// 		value: v.dictValue,
+								
+						// 	}
+						// })
+						this.menuFoodList = res.data.map(v => {
+							return {
+								menuFoodTime: v.dictLabel,	
+								menuFoodDetailBk: '',	
+								menuFoodDetailLu: '',	
+								menuFoodDetailDi: '',	
+								isUse: 'Y',	
+							}
+						})
+					}
+				})
+			},
+			getBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getSubmit(){
+				var that=this;
+				var foodlist=JSON.parse(JSON.stringify(this.menuFoodList));
+				var newArr=[];
+				foodlist.forEach(ite=>{
+					if(ite.menuFoodDetailLu||ite.menuFoodDetailDi){
+						newArr.push(ite)
+					}
+				})
+				if(newArr.length<1){
+					this.$toast("请输入食谱")
+					return
+				}
+				var params={
+					menuFoodList:newArr
+				}
+				getMenuAdd(params).then(res=>{
+					if(res.code==200){
+						that.$toast("新增成功")
+						setTimeout(function(){
+							uni.$emit('refreshmenulist')
+							uni.navigateBack({
+								delta:1
+							})
+						},1200)
+					}
+				})
+			},
+		},
+
+	}
+</script>
+<style>
+/* 	page {
+		background: #ffffff;
+	} */
+</style>
+<style lang="scss" scoped>
+.zxmain /deep/ .uni-forms .uni-forms-item{padding: 8rpx 26rpx 8rpx;border: 2rpx solid #0391FD;margin-bottom: 24rpx;border-radius: 12rpx;}
+.zxmain /deep/ .uni-forms-item__label{flex: 0 0 auto;width: 144rpx !important;font-size: 28rpx;font-weight: bold;position: relative;color: #161616;text-align-last: justify;}
+.zxmain /deep/ .uni-forms-item__label text{flex: 1;}
+.zxmain /deep/ .uni-forms-item__label .is-required{position: absolute;right: 0;color: #F10C31;margin-top: 16rpx;}
+// .zxmain /deep/ uni-textarea{flex: 1;width: auto;text-align: right;}
+.zxmain /deep/ .uni-textarea-placeholder{font-size: 28rpx;color: #DDDDDD !important;}
+.zxmain /deep/ .uni-easyinput__placeholder-class{font-size: 28rpx;color: #DDDDDD;}
+.zxmain /deep/ .uni-forms-item__content{display: flex;align-items: center;flex-direction: row;}
+.zxmain /deep/ .uni-easyinput{flex: 1;text-align: right;}
+.zxmain /deep/ .uni-easyinput__content-input{font-size: 28rpx;}
+ .zxmain /deep/ .uni-forms-item__error{margin-top:20rpx;left: auto;right: 0;}
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.navbg{width: 100%;height: 692rpx;position: absolute;left: 0;right: 0;top: 0;z-index: -1;}	
+.zxmain{position: relative;padding: 36rpx 32rpx 28rpx;box-sizing: border-box;}
+.ytforms{
+	.yttit{font-size: 28rpx;font-weight: bold;margin-bottom: 32rpx;line-height: 40rpx;
+color: #161616;display: flex;align-items: center;padding-left:26rpx;box-sizing: border-box;position: relative;
+		&::before{content: '';width: 6rpx;height: 34rpx;background: $com-cd3;border-radius: 4rpx;position: absolute;top: 50%;transform: translateY(-50%);left: 0rpx;}
+	}
+	.ytbox{background-color: #ffffff;padding: 36rpx 28rpx 12rpx;border-radius: 14rpx;box-sizing: border-box;margin-bottom: 18rpx;
+		.hupimg{width: 18rpx;height: 14rpx;margin-left: 12rpx;flex: 0 0 auto;}
+		.delbox{font-weight: 500;font-size: 26rpx;color: #FF6969;line-height: 1;
+			image{width: 26rpx;height: 24rpx;margin-right: 10rpx;}
+		}
+		.cooktit{min-height: 152rpx;background: #FFFFFF;border-radius: 6rpx;border: 2rpx solid #0391FD;padding: 24rpx 26rpx;display: flex;margin-bottom: 24rpx;
+			.label{font-size: 28rpx;font-weight: bold;color: #161616;flex: 0 0 auto;}
+			.textarea{font-size: 28rpx;}
+		}
+	}
+	.table{border-bottom: 2rpx solid #DADADA;display: flex;align-items: center;overflow: auto;
+		.tatit{font-weight: 500;font-size: 26rpx;color: #666666;height: 100rpx;display: flex;align-items: center;justify-content: center;min-width: 92rpx;flex: 0 0 auto;
+			&.act{font-weight: bold;font-size: 30rpx;color: #0391FD;
+			border-bottom: 4rpx solid #0391FD;
+			}
+		}
+	}
+}
+.btns{
+	padding: 42rpx 28rpx 0;
+	.btn{width: 100%;height: 90rpx;border-radius: 14rpx;font-weight: 500;font-size: 28rpx;margin-bottom: 34rpx;display: flex;align-items: center;justify-content: center;box-sizing: border-box;
+		.addimg{width: 14rpx;height: 14rpx;flex: 0 0 auto;margin-right: 14rpx;}
+		&.btna{background: #DFF1FF;border:2rpx solid #0391FD;color: #0391FD;}
+		&.btnb{background: #0391FD;color: #ffffff;}
+	}
+}
+</style>

+ 264 - 0
work/pages/yyorder/menulist.vue

@@ -0,0 +1,264 @@
+<template>
+	<view :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar color="#ffffff" left-icon="left" title="园区食谱" :background-color="backgroundColor"
+				:border="false" statusBar='true' fixed="true" @clickLeft='getBack'>
+			</uni-nav-bar>
+			<view class="table" :style="'background:'+backgroundColor">
+				<view class="tlist" :class="weekidx==ite.dictValue?'act':''" v-for="(ite,idx) in weekList" :key="ite.dictValue" @click="getTable(ite)">{{ite.dictLabel}}</view>
+			</view>
+		</view>
+		<image :src="navbg" class="navbg"></image>
+		<view class="zxmain" style="margin-top: 100rpx;">
+			<!-- 列表 -->
+			<y-list type='menulist' :datalist="list" :wtdt="wtdt" @getDetail='getDetail' @getPut="getPut"  @getDelFn="getDelFn"></y-list>
+			<view class="yyfbtn flexcc">
+				<view class="mfbtn btna" v-if="checkPermi(['system:foodRecord:list'])" @click="getRecordFn">食谱记录</view>
+				<view class="mfbtn btnb" v-if="checkPermi(['system:menuFood:add'])" @click="getAddFn">新增食谱</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	import yList from "@/work/components/yuyue/list.vue"
+	import {getMenuList,getMenuPut,getMenuDel} from "@/api/mine/order.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default {
+		components: {yList},
+		data() {
+			return {
+				wupimg:require("@/work/static/record/wup.png"),
+				serimg:require("@/work/static/record/search.png"),
+				licoimg:require("@/work/static/record/lico.png"),
+				navbg:require("@/static/images/navbg.png"),
+				dayimg:require("@/work/static/yuy/day.png"),
+				backgroundColor: "transparent",
+				datainfo:{},
+				nvaHeight: 44,
+				marTop: 0, //距离顶部的距离
+				stubarHeight: 0, //
+				title:'',
+				jclxlist:[],
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: false,
+				wtdt:'',
+				userId:this.$store.state.user.userId,
+				weekList:[],
+				weekidx:'',
+				weektit:'',
+			}
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#0491FD'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		onUnload() {
+			uni.$off('refreshmenulist')
+		},
+		onLoad: function() {
+			uni.$on('refreshmenulist',(e) => {
+				this.getConfirm()
+			})
+			this.init()
+			uni.getSystemInfo({
+				success: (e) => {
+					this.stubarHeight = Number(e.statusBarHeight);
+					this.nvaHeight = Number(e.statusBarHeight) + 44;
+					this.tabscheight = Number(this.nvaHeight) * 2 + 100;
+				}
+			})
+		},
+		onShow() {},
+		mounted() {
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			getConfirm(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getTable(ite){
+				this.weekidx=ite.dictValue;
+				this.weektit=ite.dictLabel
+				this.getConfirm()
+			},
+			getBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getDetail(id){
+				var obj={
+					id:id,
+					type:'edit'
+				}
+				this.$tab.navigateTo('/work/pages/yyorder/menuadd?data='+encodeURIComponent(JSON.stringify(obj)))
+			},
+			getPut(data){
+				var that=this;
+				var info=JSON.parse(JSON.stringify(data))
+				var ite=info.ite;
+				if(info.type=='use'){
+					var isUse=ite.isUse;
+					var str='启用';
+					var params={
+						menuFoodId:ite.menuFoodId,
+						menuFoodTime:ite.menuFoodTime,
+					}
+					if(isUse=='Y'){
+						params.isUse='N'
+						str="禁用"
+					}else{
+						params.isUse='Y'
+						str="启用"
+					}
+					this.$modal.confirm('确定'+str+'该食谱').then(() => {
+					  getMenuPut(params).then(res=>{
+						  if(res.code==200){
+							  that.$toast(str+'成功')
+							  setTimeout(function(){
+							  	that.getConfirm();
+							  },1200)
+						  }
+					  })
+					})
+				}else{
+					var obj={
+						id:ite.menuFoodId,
+						type:'edit'
+					}
+					this.$tab.navigateTo('/work/pages/yyorder/menuput?data='+encodeURIComponent(JSON.stringify(obj)))
+				}
+			},
+			getAddFn(){
+				this.$tab.navigateTo('/work/pages/yyorder/menuadd')
+			},
+			getRecordFn(){
+				this.$tab.navigateTo('/work/pages/yyorder/menuRecord')
+			},
+			init() {
+				// 星期
+				getDictionaryFn('week').then(res=>{
+					if(res.code==200){
+						this.weekList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+						if(res.data&&res.data.length){
+							this.weekidx=res.data[0].dictValue
+							this.weektit=res.data[0].dictLabel
+							this.getDataFn()
+						}
+					}
+				})
+			},
+			getDelFn(id){
+				var that=this;
+				getMenuDel(id).then(res=>{
+					if(res.code==200){
+						that.$toast('删除成功')
+						setTimeout(function(){
+							that.getConfirm()
+						},1200)
+					}
+				})
+			},
+			getDataFn() {
+				var params = {
+					pageSize: this.pageSize,
+					pageNum: this.pageNum,
+				}
+				// if(!checkRole(['administrators'])){
+				// 	params.orderFoodUserId=this.userId
+				// }
+				if(this.weektit){
+					params.menuFoodTime=this.weektit
+				}
+				getMenuList(params).then(res => {
+					if (res.code == 200) {
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -
+								1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = '上拉加载更多'
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						if (this.pageNum == 1) {
+							this.list = res.rows;
+						} else {
+							this.list = this.list.concat(res.rows)
+						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
+						// console.log(newArr,555)
+						if (this.pageNum == 1) {
+							this.list = newArr;
+						} else {
+							this.list = this.list.concat(newArr)
+						}
+					} else {
+						this.$toast(res.msg)
+					}
+				})
+
+			},
+		},
+
+	}
+</script>
+<style>
+/* 	page {
+		background: #ffffff;
+	} */
+</style>
+<style lang="scss" scoped>
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.navbg{width: 100%;height: 692rpx;position: absolute;left: 0;right: 0;top: 0;z-index: -1;}	
+.zxmain{position: relative;padding: 8rpx 0rpx 100rpx;box-sizing: border-box;}
+.table{
+	display: flex;align-items: center;padding: 0 20rpx;overflow: auto;
+	.tlist{font-weight: 500;font-size: 26rpx;color: #FFFFFF;height: 60rpx;position: relative;line-height: 60rpx;padding: 0 12rpx;flex: 0 0 auto;
+		&.act{font-weight: bold;font-size: 30rpx;
+			&::after{content: '';width: 54rpx;height: 6rpx;background: #FFFFFF;
+border-radius: 4rpx;position: absolute;left: 50%;margin-left: -27rpx;bottom: 0;
+			}
+		}
+	}
+}
+.yyfbtn{background:none;}
+.mfbtn{
+	display: flex;align-items: center;justify-content: center;flex: 1;font-weight: bold;font-size: 28rpx;height: 90rpx;
+	&.btna{background: #FFFFFF;color: #0391FD;}
+	&.btnb{background: #0391FD;color: #FFFFFF;}
+}
+
+</style>

+ 186 - 0
work/pages/yyorder/menuput.vue

@@ -0,0 +1,186 @@
+<template>
+	<view :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar color="#ffffff" left-icon="left" title="修改食谱" :background-color="backgroundColor"
+				:border="false" statusBar='true' fixed="true" @clickLeft='getBack'>
+			</uni-nav-bar>
+		</view>
+		<image :src="navbg" class="navbg"></image>
+		<view class="zxmain">
+			<uni-forms ref="form" class="ytforms"  :modelValue="datainfo">
+				<view class="ytbox" style="padding-bottom: 16rpx;" >
+					<view class="yttit flexcj">
+						{{datainfo.menuFoodTime}}
+					</view>
+					<!-- <view class="cooktit">
+						<view class="label">早餐:</view>
+						<textarea auto-height="true" v-model="datainfo.menuFoodDetailBk" class="textarea" maxlength='-1' placeholder="请输入或粘贴午餐菜品,用“,”隔开…"></textarea>
+					</view> -->
+					<view class="cooktit">
+						<view class="label">午餐:</view>
+						<textarea auto-height="true" v-model="datainfo.menuFoodDetailLu" class="textarea" maxlength='-1' placeholder="请输入或粘贴午餐菜品,用“,”隔开…"></textarea>
+					</view>
+					<view class="cooktit">
+						<view class="label">晚餐:</view>
+						<textarea auto-height="true" v-model="datainfo.menuFoodDetailDi" class="textarea" maxlength='-1' placeholder="请输入或粘贴晚餐菜品,用“,”隔开…"></textarea>
+					</view>
+					<view class="cooktita flexc mb10">
+						<view class="label" style="flex: 1;">是否启用:</view>
+						<switch :checked="datainfo.isUse=='Y'" @change="getChange"/>
+						<!-- <uni-data-checkbox :selectedColor="color" :selectedTextColor="color" v-model="datainfo.isUse" :localdata="users" /> -->
+					</view>
+				</view>	
+			</uni-forms>
+			<view class="btns">
+				<view class="btn btnb" v-if="checkPermi(['system:menuFood:edit'])" @click="getSubmit">确认提交</view>
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	import {getMenuAdd,getMenuDetail,getMenuPut} from "@/api/mine/order.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default {
+		components: {},
+		data() {
+			return {
+				navbg:require("@/static/images/navbg.png"),
+				upimg:require("@/work/static/yuy/up.png"),
+				delimg:require("@/work/static/yuy/delw.png"),
+				addimg:require("@/work/static/yuy/add.png"),
+				backgroundColor: "transparent",
+				datainfo:{},
+				nvaHeight: 44,
+				marTop: 0, //距离顶部的距离
+				stubarHeight: 0, //
+				userId:this.$store.state.user.userId,
+				patype:'edit',
+				id:'',
+				color:'#0391FD',
+				users: [{
+				  text: '启用',
+				  value: "Y"
+				}, {
+				  text: '禁用',
+				  value: "N"
+				}],
+			}
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#0491FD'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		onUnload() {
+			
+		},
+		onLoad: function(e) {
+			if(e.data){
+				var data=JSON.parse(decodeURIComponent(e.data))
+				this.patype=data.type;
+				this.id=data.id;
+				this.getMenuDetail()
+			}
+			uni.getSystemInfo({
+				success: (e) => {
+					this.stubarHeight = Number(e.statusBarHeight);
+					this.nvaHeight = Number(e.statusBarHeight) + 44;
+				}
+			})
+		},
+		onShow() {},
+		mounted() {
+			
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			getMenuDetail(){
+				getMenuDetail(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data
+					}
+				})
+			},
+			getChange(e){
+				var val=e.detail.value;
+				if(val==false){
+					this.datainfo.isUse='N'
+				}else{
+					this.datainfo.isUse='Y'
+				}
+			},
+			getBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getSubmit(){
+				var that=this;
+				var params=JSON.parse(JSON.stringify(this.datainfo));
+				getMenuPut(params).then(res=>{
+					if(res.code==200){
+						that.$toast("修改成功")
+						setTimeout(function(){
+							uni.$emit('refreshmenulist')
+							uni.navigateBack({
+								delta:1
+							})
+						},1200)
+					}
+				})
+				
+			},
+		},
+
+	}
+</script>
+<style>
+/* 	page {
+		background: #ffffff;
+	} */
+</style>
+<style lang="scss" scoped>
+.zxmain /deep/	.uni-switch-input.uni-switch-input-checked{background-color: #0391FD !important;}
+.zxmain /deep/ uni-switch::before{display: none;}
+.zxmain /deep/ .uni-forms .uni-forms-item{padding: 8rpx 26rpx 8rpx;border: 2rpx solid #0391FD;margin-bottom: 24rpx;border-radius: 12rpx;}
+.zxmain /deep/ .uni-forms-item__label{flex: 0 0 auto;width: 144rpx !important;font-size: 28rpx;font-weight: bold;position: relative;color: #161616;text-align-last: justify;}
+.zxmain /deep/ .uni-forms-item__label text{flex: 1;}
+.zxmain /deep/ .uni-forms-item__label .is-required{position: absolute;right: 0;color: #F10C31;margin-top: 16rpx;}
+// .zxmain /deep/ uni-textarea{flex: 1;width: auto;text-align: right;}
+.zxmain /deep/ .uni-textarea-placeholder{font-size: 28rpx;color: #DDDDDD !important;}
+.zxmain /deep/ .uni-easyinput__placeholder-class{font-size: 28rpx;color: #DDDDDD;}
+.zxmain /deep/ .uni-forms-item__content{display: flex;align-items: center;flex-direction: row;}
+.zxmain /deep/ .uni-easyinput{flex: 1;text-align: right;}
+.zxmain /deep/ .uni-easyinput__content-input{font-size: 28rpx;}
+ .zxmain /deep/ .uni-forms-item__error{margin-top:20rpx;left: auto;right: 0;}
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.navbg{width: 100%;height: 692rpx;position: absolute;left: 0;right: 0;top: 0;z-index: -1;}	
+.zxmain{position: relative;padding: 36rpx 32rpx 28rpx;box-sizing: border-box;}
+.ytforms{
+	.yttit{font-size: 28rpx;font-weight: bold;margin-bottom: 32rpx;line-height: 40rpx;
+color: #161616;display: flex;align-items: center;padding: 0rpx 26rpx;box-sizing: border-box;position: relative;
+		&::before{content: '';width: 6rpx;height: 34rpx;background: $com-cd3;border-radius: 4rpx;position: absolute;top: 50%;transform: translateY(-50%);left: 0rpx;}
+	}
+	.ytbox{background-color: #ffffff;padding: 36rpx 28rpx 12rpx;border-radius: 14rpx;box-sizing: border-box;margin-bottom: 18rpx;
+		.cooktit{min-height: 152rpx;background: #FFFFFF;border-radius: 6rpx;border: 2rpx solid #0391FD;padding: 24rpx 26rpx;display: flex;margin-bottom: 24rpx;
+			.textarea{font-size: 28rpx;}
+		}
+		.label{font-size: 28rpx;font-weight: bold;color: #161616;flex: 0 0 auto;}
+	}
+}
+.btns{
+	padding: 42rpx 28rpx 0;
+	.btn{width: 100%;height: 90rpx;border-radius: 14rpx;font-weight: 500;font-size: 28rpx;margin-bottom: 34rpx;display: flex;align-items: center;justify-content: center;box-sizing: border-box;
+		.addimg{width: 14rpx;height: 14rpx;flex: 0 0 auto;margin-right: 14rpx;}
+		&.btna{background: #DFF1FF;border:2rpx solid #0391FD;color: #0391FD;}
+		&.btnb{background: #0391FD;color: #ffffff;}
+	}
+}
+</style>

BIN
work/static/yuy/add.png


BIN
work/static/yuy/bg.png


BIN
work/static/yuy/cbg.png


BIN
work/static/yuy/cfot.png


BIN
work/static/yuy/cline.png


BIN
work/static/yuy/cook.png


BIN
work/static/yuy/ctop.png


BIN
work/static/yuy/daya.png


BIN
work/static/yuy/dayb.png


BIN
work/static/yuy/delw.png


BIN
work/static/yuy/finesh.png


BIN
work/static/yuy/menua.png


BIN
work/static/yuy/menub.png


BIN
work/static/yuy/menuc.png


BIN
work/static/yuy/menud.png


BIN
work/static/yuy/menue.png


BIN
work/static/yuy/menuf.png


BIN
work/static/yuy/menug.png


BIN
work/static/yuy/nuse.png


BIN
work/static/yuy/nusebtn.png


BIN
work/static/yuy/prea.png


BIN
work/static/yuy/preb.png


BIN
work/static/yuy/put.png


BIN
work/static/yuy/up.png


BIN
work/static/yuy/use.png


BIN
work/static/yuy/usebtn.png