wangmengwei 7 сар өмнө
parent
commit
a77302875d
32 өөрчлөгдсөн 3244 нэмэгдсэн , 60 устгасан
  1. 1 1
      ruoyi-ui/src/api/system/dict/type.js
  2. 44 0
      ruoyi-ui/src/api/system/foodRecord.js
  3. 44 0
      ruoyi-ui/src/api/system/in.js
  4. 44 0
      ruoyi-ui/src/api/system/menuFood.js
  5. 44 0
      ruoyi-ui/src/api/tongj/config.js
  6. BIN
      ruoyi-ui/src/assets/images/icon_yqht_ssjk_lb_normal.png
  7. BIN
      ruoyi-ui/src/assets/images/icon_yqht_xzsp_bzsp.png
  8. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_btbg.png
  9. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_cpbjb_bg.png
  10. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_cpbjb_xqbg.png
  11. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_dbbg.png
  12. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_ymbg.png
  13. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z1.png
  14. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z2.png
  15. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z3.png
  16. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z4.png
  17. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z5.png
  18. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z6.png
  19. BIN
      ruoyi-ui/src/assets/images/pic_bzsp_z7.png
  20. 14 1
      ruoyi-ui/src/main.js
  21. 1 1
      ruoyi-ui/src/settings.js
  22. 2 2
      ruoyi-ui/src/views/index.vue
  23. 1084 0
      ruoyi-ui/src/views/tongj/configss/index.vue
  24. 175 8
      ruoyi-ui/src/views/tongj/food/index.vue
  25. 509 0
      ruoyi-ui/src/views/tongj/foodRecord/index.vue
  26. 181 12
      ruoyi-ui/src/views/tongj/foodme/index.vue
  27. 421 0
      ruoyi-ui/src/views/tongj/in/index.vue
  28. 598 0
      ruoyi-ui/src/views/tongj/menuFood/index.vue
  29. 15 3
      ruoyi-ui/src/views/tongj/order/index.vue
  30. 16 4
      ruoyi-ui/src/views/tongj/orderme/index.vue
  31. 11 7
      ruoyi-ui/src/views/tongj/record/index.vue
  32. 40 21
      ruoyi-ui/src/views/tongj/shebe/index.vue

+ 1 - 1
ruoyi-ui/src/api/system/dict/type.js

@@ -46,7 +46,7 @@ export function delType(dictId) {
 // 刷新字典缓存
 export function refreshCache() {
   return request({
-    url: '/system/dict/type/refreshCache/delete',
+    url: '/system/dict/type/refreshCache',
     method: 'get'
   })
 }

+ 44 - 0
ruoyi-ui/src/api/system/foodRecord.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询每日食谱记录列表
+export function listFoodRecord(query) {
+  return request({
+    url: '/system/foodRecord/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询每日食谱记录详细
+export function getFoodRecord(menuFoodRecordId) {
+  return request({
+    url: '/system/foodRecord/' + menuFoodRecordId,
+    method: 'get'
+  })
+}
+
+// 新增每日食谱记录
+export function addFoodRecord(data) {
+  return request({
+    url: '/system/foodRecord',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改每日食谱记录
+export function updateFoodRecord(data) {
+  return request({
+    url: '/system/foodRecord/put',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除每日食谱记录
+export function delFoodRecord(menuFoodRecordId) {
+  return request({
+    url: '/system/foodRecord/delete/' + menuFoodRecordId,
+    method: 'get'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/system/in.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询会议室签到列表
+export function listIn(query) {
+  return request({
+    url: '/sign/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询会议室签到详细
+export function getIn(signInId) {
+  return request({
+    url: '/sign/' + signInId,
+    method: 'get'
+  })
+}
+
+// 新增会议室签到
+export function addIn(data) {
+  return request({
+    url: '/sign',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改会议室签到
+export function updateIn(data) {
+  return request({
+    url: '/sign/put',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除会议室签到
+export function delIn(signInId) {
+  return request({
+    url: '/sign/delete/' + signInId,
+    method: 'get'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/system/menuFood.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询每日食谱列表
+export function listMenuFood(query) {
+  return request({
+    url: '/system/menuFood/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询每日食谱详细
+export function getMenuFood(menuFoodId) {
+  return request({
+    url: '/system/menuFood/' + menuFoodId,
+    method: 'get'
+  })
+}
+
+// 新增每日食谱
+export function addMenuFood(data) {
+  return request({
+    url: '/system/menuFood',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改每日食谱
+export function updateMenuFood(data) {
+  return request({
+    url: '/system/menuFood/put',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除每日食谱
+export function delMenuFood(menuFoodId) {
+  return request({
+    url: '/system/menuFood/delete/' + menuFoodId,
+    method: 'get'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/tongj/config.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询考勤规则配置列表
+export function listConfig(query) {
+  return request({
+    url: '/kaoqin/config/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询考勤规则配置详细
+export function getConfig(kaoqinId) {
+  return request({
+    url: '/kaoqin/config/' + kaoqinId,
+    method: 'get'
+  })
+}
+
+// 新增考勤规则配置
+export function addConfig(data) {
+  return request({
+    url: '/kaoqin/config',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改考勤规则配置
+export function updateConfig(data) {
+  return request({
+    url: '/kaoqin/config/put',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除考勤规则配置
+export function delConfig(kaoqinId) {
+  return request({
+    url: '/kaoqin/config/delete/' + kaoqinId,
+    method: 'get'
+  })
+}

BIN
ruoyi-ui/src/assets/images/icon_yqht_ssjk_lb_normal.png


BIN
ruoyi-ui/src/assets/images/icon_yqht_xzsp_bzsp.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_btbg.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_cpbjb_bg.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_cpbjb_xqbg.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_dbbg.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_ymbg.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z1.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z2.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z3.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z4.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z5.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z6.png


BIN
ruoyi-ui/src/assets/images/pic_bzsp_z7.png


+ 14 - 1
ruoyi-ui/src/main.js

@@ -4,6 +4,8 @@ import Cookies from 'js-cookie'
 import VueUeditorWrap from 'vue-ueditor-wrap'
 import VueJsonp from 'vue-jsonp'
 import Print from 'vue-print-nb'
+import VueAMap from 'vue-amap';
+import BaiduMap from 'vue-baidu-map'
 
 import Element from 'element-ui'
 import './assets/styles/element-variables.scss'
@@ -88,9 +90,20 @@ Vue.use(plugins)
 Vue.use(VueMeta)
 Vue.use(Print)
 Vue.use(VideoPlayer)
+Vue.use(VueAMap);
+Vue.use(BaiduMap, {
+ // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
+ ak: 'Bjardsym8W1tLv0PmOAVfCosOLIiFdKX'
+})
 
-DictData.install()
 
+VueAMap.initAMapApiLoader({
+  key: 'your amap key',
+  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
+  // 默认高德 sdk 版本为 1.4.4
+  v: '1.4.4'
+});
+DictData.install()
 /**
  * If you don't want to use mock-server
  * you want to use MockJs for mock api

+ 1 - 1
ruoyi-ui/src/settings.js

@@ -1,7 +1,7 @@
 module.exports = {
 	// urls: `https://zxyyq.qs163.cn`,
   // http://47.99.82.249:5010
-	urls:`http://192.168.101.245:8065`,
+	urls:`http://192.168.101.168:8065`,
   // http://192.168.101.168:8065
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light

+ 2 - 2
ruoyi-ui/src/views/index.vue

@@ -313,7 +313,7 @@
 				        preload="auto"
 				        muted
 				        autoplay
-				  	  width="95%"
+				  	   width="95%"
 				  	  height="550px"
 				        type="rtmp/flv"
 				      >
@@ -604,7 +604,7 @@ export default {
 	  getListsheb() {
 	    this.loading = true;
 	    // this.queryParams
-		let nghet={ pageNo: 1,pageSize: 10,name:this.queryParamsy.name}
+		let nghet={ pageNo: 1,pageSize: 500,name:this.queryParamsy.name}
 	    camera(nghet).then(response => {
 	      this.postListf = response.data.data.list;
 	  	if(response.data.data != null){

+ 1084 - 0
ruoyi-ui/src/views/tongj/configss/index.vue

@@ -0,0 +1,1084 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" class="nghfs">
+		<p class="lqw" style="font-weight: 700;font-size: 15px;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px;"> 搜索条件</p>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="是否拍照" prop="isPicture">
+            <el-select
+              v-model="queryParams.isPicture"
+              placeholder="拍照打卡"
+              clearable
+            >
+              <el-option
+                v-for="dict in dict.type.sys_yes_no"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <!-- <el-col :span="8">
+          <el-form-item label="上午上班" prop="kaTimeAmIn">
+            <el-time-picker
+                v-model="queryParams.kaTimeAmIn"
+                value-format=" HH:mm:ss"
+                format=" HH:mm:ss"
+                @change = "jksed"
+                 style="width: 280px;"
+                placeholder="请选择上午上班">
+              </el-time-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="上午下班" prop="kaTimeAmOut">
+            <el-time-picker
+                v-model="queryParams.kaTimeAmOut"
+                value-format=" HH:mm:ss"
+                format=" HH:mm:ss"
+                 style="width: 280px;"
+                placeholder="请选择上午下班">
+              </el-time-picker>
+            
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="下午上班" prop="kaTimePmIn">
+            <el-time-picker
+                v-model="queryParams.kaTimePmIn"
+                value-format=" HH:mm:ss"
+                format=" HH:mm:ss"
+                 style="width: 280px;"
+                placeholder="请选择下午上班">
+              </el-time-picker>
+            
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="下午下班" prop="kaTimePmOut">
+            <el-time-picker
+                v-model="queryParams.kaTimePmOut"
+                value-format=" HH:mm:ss"
+                format=" HH:mm:ss"
+                 style="width: 280px;"
+                placeholder="请选择下午下班">
+              </el-time-picker>
+            
+          </el-form-item>
+        </el-col> -->
+        <el-col :span="8">
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    
+	<div class="ntgs" >
+	   <div style="display: flex;align-items: center; margin-bottom: 10px;">
+	     <p class="lqw" style="font-weight: 700;font-size: 15px; margin: 0; margin-bottom: 0;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px; margin-left: 10px;"> 打卡配置</p>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['kaoqin:config:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['kaoqin:config:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['kaoqin:config:remove']"
+        >删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['kaoqin:config:export']"
+        >导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+	</div>
+
+    <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange" :max-height="tableMaxHeight">
+      <el-table-column type="selection" width="55" align="center" />
+     <!-- <el-table-column label="配置id" align="center" prop="kaoqinId" />
+      <el-table-column label="部门id" align="center" prop="deptId" /> -->
+      <!-- <el-table-column label="部门名称" align="center" prop="deptName" /> -->
+      <el-table-column label="打卡地点" align="center" prop="locations" />
+      <!-- <el-table-column label="打卡地点经度" align="center" prop="kaLog" />
+      <el-table-column label="打卡地点维度" align="center" prop="kaLat" /> -->
+      <!-- <el-table-column label="打卡次数(一天)" align="center" prop="kaNum" width="180"/> -->
+      <el-table-column label="打卡距离(半径米)" align="center" prop="distance" width="180"/>
+       <!-- 1:上午上班 2:上午下班 3:下午上班 4:下午下班 -->
+      <!-- <el-table-column label="打卡分类" align="center" prop="kaSort" /> -->
+      <el-table-column label="上班" align="center" prop="startWorkTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ scope.row.startWorkTime }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="下班" align="center" prop="endWorkTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ scope.row.endWorkTime }}</span>
+        </template>
+      </el-table-column>
+	  <el-table-column label="是否拍照" align="center" prop="isPicture" width="100">
+	    <template slot-scope="scope">
+	      <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isPicture"/>
+	    </template>
+	  </el-table-column>
+      <!-- <el-table-column label="下午上班" align="center" prop="kaTimePmIn" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.kaTimePmIn}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="下午下班" align="center" prop="kaTimePmOut" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.kaTimePmOut }}</span>
+        </template>
+      </el-table-column> -->
+
+      <!-- <el-table-column label="备注" align="center" prop="remark" /> -->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['kaoqin:config:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['kaoqin:config:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+	</div>
+
+    <!-- 添加或修改考勤规则配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <!-- <el-form-item label="部门id" prop="deptId">
+          <el-input v-model="form.deptId" placeholder="请输入部门id" />
+        </el-form-item> -->
+        <el-row>
+          <el-col :span="24" >
+            <el-form-item label="打卡地点" prop="locations" class="oiue">
+              <!-- @ready="handler" -->
+              <baidu-map  :center="mapCenter" :zoom="zoom" @click ="getLocationPoint"  class="iuey" :scroll-wheel-zoom="true" :autoViewport="true">
+                       <bm-view class="bm-view"></bm-view>
+                         <bm-control :offset="{width: '10px', height: '10px'}">
+                  <!-- <bm-auto-complete v-model="form.address" :sugStyle="{zIndex: 99}"> -->
+                    <!-- <el-input placeholder="请输入地名关键字" v-model="form.address" @blur = "boiu" @focus= "faie"></el-input>  -->
+
+                  <!-- <search-field placeholder="请输入地名关键字"></search-field>  -->
+                  <!-- 这里指代一个自定义搜索框组件 -->
+                  <!-- </bm-auto-complete> -->
+                   <bm-marker v-if="nhe" :position="{lng:form.lon, lat: form.lat}"></bm-marker>
+                   <el-autocomplete
+                    v-model="form.locations"
+                    :fetch-suggestions="querySearch"
+                    placeholder="请输入打卡地点"
+                    @change="dessde"
+                    style="width: 100%"
+                    :trigger-on-focus="false"
+                    @select="handleSelect"
+                  />
+                </bm-control>
+                <!-- :pageCapacity = "20" nhesf-->
+                <!-- <bm-local-search :keyword="form.address" :auto-viewport="true" class="pui" @searchcomplete = "oieueo" v-show="okuyt" @confirm= "confirmf" :location="location" ></bm-local-search>  :panel ="false"-->
+                <bm-local-search  :keyword="form.locations" :auto-viewport="true" :pageCapacity = "20" :location="location" :forceLocal="false"  @searchcomplete ="oieueo"  @markersset = "confirmf" :panel ="false" ></bm-local-search>
+              </baidu-map>
+            </el-form-item>
+
+          </el-col>
+          <el-col :span="24">
+            <!-- <el-col :span="8">
+            <el-form-item label="打卡次数" prop="kaNum">
+              <el-select
+                v-model="form.kaNum"
+                placeholder="打卡次数"
+                clearable
+                @change="jues"
+              >
+                <el-option
+                  v-for="dict in cinume"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            </el-col> -->
+            <el-col :span="6">
+              <el-form-item label="拍照打卡" prop="isPicture">
+                <el-select
+                  v-model="form.isPicture"
+                  placeholder="拍照打卡"
+                  clearable
+				  
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_yes_no"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="打卡距离" prop="distance">
+                <el-input v-model="form.distance" placeholder="请输入打卡距离(半径,单位米)" />
+              </el-form-item>
+            </el-col>
+			<el-col :span="6">
+			  <el-form-item label="上班" prop="startWorkTime">
+			    <el-time-picker
+				style="width: 160px;"
+			        v-model="form.startWorkTime"
+			        value-format="HH:mm:ss"
+			        format="HH:mm:ss"
+			        placeholder="请选择上午上班">
+			      </el-time-picker>
+			    
+			  </el-form-item>
+			</el-col>
+			<el-col :span="6">
+			  <el-form-item label="下班" prop="endWorkTime">
+			    <el-time-picker
+				style="width: 140px;"
+			        v-model="form.endWorkTime"
+			        value-format="HH:mm:ss"
+			        format="HH:mm:ss"
+			        placeholder="请选择下午下班">
+			      </el-time-picker>
+			  </el-form-item>
+			</el-col>
+          </el-col>
+		  
+		
+
+
+
+
+          <!-- <el-col :span="8">
+            <el-form-item label="打卡分类" prop="kaSort">
+              <el-select
+                v-model="form.kaSort"
+                placeholder="打卡分类"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_normal_disable"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :span="12">
+            <el-form-item label="上午上班" prop="startWorkTime">
+              <el-time-picker
+                  v-model="form.startWorkTime"
+                  value-format="HH:mm:ss"
+                  format="HH:mm:ss"
+                  placeholder="请选择上午上班">
+                </el-time-picker>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :span="12" v-show="time">
+            <el-form-item label="上午下班" :prop="time == true?'kaTimeAmOut' : ''" >
+              <el-time-picker
+                  v-model="form.kaTimeAmOut"
+                  value-format="HH:mm:ss"
+                  format="HH:mm:ss"
+                  placeholder="请选择上午下班">
+                </el-time-picker>
+              <!-- <el-date-picker clearable
+                v-model="form.kaTimeAmOut"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                format="yyyy-MM-dd HH:mm:ss"
+                placeholder="请选择上午下班">
+              </el-date-picker> -->
+            </el-form-item>
+          </el-col>
+          <el-col :span="8" v-show="time">
+            <el-form-item label="下午上班" :prop="time == true?'kaTimePmIn' : ''">
+              <el-time-picker
+                  v-model="form.kaTimePmIn"
+                  value-format="HH:mm:ss"
+                  format="HH:mm:ss"
+                  placeholder="请选择下午上班">
+                </el-time-picker>
+              <!-- <el-date-picker clearable
+                v-model="form.kaTimePmIn"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                format="yyyy-MM-dd HH:mm:ss"
+                placeholder="请选择下午上班">
+              </el-date-picker> -->
+            </el-form-item>
+          </el-col>
+		  <!-- 8 -->
+         <!-- <el-col :span="8">
+            <el-form-item label="下午下班" prop="endWorkTime">
+              <el-time-picker
+                  v-model="form.endWorkTime"
+                  value-format="HH:mm:ss"
+                  format="HH:mm:ss"
+                  placeholder="请选择下午下班">
+                </el-time-picker>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :span="8" v-if="njki">
+            <el-form-item label="部门名称" prop="deptId">
+              <treeselect v-model="form.deptId" @select="selectDepart" :options="deptOptions" :show-count="true" placeholder="请选择部门名称" />
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :span=" 8">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+
+        <!-- <el-form-item label="打卡地点经度" prop="kaLog">
+          <el-input v-model="form.kaLog" placeholder="请输入打卡地点经度" />
+        </el-form-item>
+        <el-form-item label="打卡地点维度" prop="kaLat">
+          <el-input v-model="form.kaLat" placeholder="请输入打卡地点维度" />
+        </el-form-item> -->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import { listConfig, getConfig, delConfig, addConfig, updateConfig } from "@/api/tongj/config";
+import { listSchedule, getSchedule, delSchedule, addSchedule, updateSchedule } from "@/api/system/schedule";
+import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus } from "@/api/system/user";
+import store from '@/store'
+import { treeselect } from "@/api/system/dept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+const defaultSettings = require("@/settings.js");
+export default {
+  name: "Schedule",
+  dicts: ['sys_normal_disable','sys_yes_no'],
+  components: { Treeselect },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      defaultSettings,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      mapCenter: {
+        lng:116.587611,
+        lat:30.636756
+      },
+      mapLocation: {
+        address: undefined,
+        coordinate: undefined
+      },
+      zoom:11,
+      okuyt:true,
+      nameadd:[],
+      kdourg:[{'value':'抱歉,没有搜索到位置请重新输入'}],
+      location:'',
+       cb:undefined,
+      // 考勤规则配置表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      nhesf:0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        deptId: null,
+        locations: null,
+        lon: null,
+        lat: null,
+        kaNum: null,
+        distance: null,
+        kaSort: null,
+        startWorkTime: null,
+        kaTimeAmOut: null,
+        kaTimePmIn: null,
+        endWorkTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        isPicture:[
+          { required: true, message: "不能为空", trigger: "blur" }
+        ],
+        locations: [
+          { required: true, message: "打卡地点名称不能为空", trigger: "blur" }
+        ],
+        // deptId: [
+        //   { required: true, message: "不能为空", trigger: "blur" }
+        // ],
+        // kaNum: [
+        //   { required: true, message: "打卡次数(一天几次打卡)不能为空", trigger: "blur" }
+        // ],
+        distance: [
+          { required: true, message: "打卡距离(半径)不能为空", trigger: "blur" }
+        ],
+        // kaSort: [
+        //   { required: true, message: "打卡分类 1:上午上班 2:上午下班 3:下午上班 4:下午下班不能为空", trigger: "blur" }
+        // ],
+        startWorkTime: [
+          { required: true, message: "打卡时间 -上午上班不能为空", trigger: "blur" }
+        ],
+        // kaTimeAmOut: [
+        //   { required: true, message: "打卡时间 -上午下班不能为空", trigger: "blur" }
+        // ],
+        // kaTimePmIn: [
+        //   { required: true, message: "打卡时间 -下午上班不能为空", trigger: "blur" }
+        // ],
+        endWorkTime: [
+          { required: true, message: "打卡时间 -下午下班不能为空", trigger: "blur" }
+        ],
+      },
+      cinume:[{'value' : 2,'label':'一天两次'},{'value' : 4,'label':'一天四次'}],
+      time:false,
+      // 部门树选项
+      deptOptions: undefined,
+      opende:false,
+      tableMaxHeight:'200',
+      njki:false,
+      nhe:false,
+      center:{
+        lng:'',
+        lat:''
+      },
+      hfes:false,
+      jde:[]
+    };
+  },
+  created() {
+    // this.queryParams.deptId = store.getters.deptid
+    this.getList();
+    // this.getTreeselect()
+    console.log(store)
+    window.onresize = () => {
+          this.changeTableMaxHeight()
+        }
+        this.changeTableMaxHeight()
+  },
+  methods: {
+
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+
+    /** 查询考勤规则配置列表 */
+    getList() {
+      this.loading = true;
+      listSchedule(this.queryParams).then(response => {
+        this.configList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        kaoqinId: null,
+        deptId: null,
+        locations: null,
+        lon: null,
+        lat: null,
+        kaNum: null,
+        distance: null,
+        kaSort: null,
+        startWorkTime: null,
+        kaTimeAmOut: null,
+        kaTimePmIn: null,
+        endWorkTime: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null,
+		isPicture:'Y'
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.kaoqinId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+	
+	 ba_gd(bd_lat,bd_lon){
+		 let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
+	     let  x = Number(bd_lon- 0.0065) 
+	     let y = Number( bd_lat- 0.006)
+	     let z = Number(Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi))
+	     let theta = Number(Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi))
+	     bd_lon  = Number(z * Math.cos(theta))
+	     bd_lat  = Number(z * Math.sin(theta))
+		 this.form.lat = bd_lat
+		 this.form.lon = bd_lon
+	},
+	
+	// 高德转百度
+	ga_bd(gd_lon,gd_lat){
+		let x_pi = 3.14159265358979324 * 3000.0 / 180.0;;
+	     let x = lng;
+	        let y = lat;
+	        let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
+	        let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
+	        let lngs = z * Math.cos(theta) + 0.0065;
+	        let lats = z * Math.sin(theta) + 0.006;
+		 this.form.lat = lats
+		 this.form.lon = lngs
+	     console.log(lngs);
+	     console.log(lats);
+		 this.open = true;
+	},
+	
+
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.nhe = false
+      this.title = "添加考勤规则配置";
+      this.njki = true
+      this.nhesf = 20
+      this.mapCenter.lng = 116.587611
+      this.mapCenter.lat = 30.636756
+      // this.handler()
+      // this.form.deptId = store.getters.deptid
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      this.nhe = true
+      const kaoqinId = row.dutyId || this.ids
+      this.njki = false
+      getSchedule(kaoqinId).then(response => {
+        this.form = response.data;
+		if(this.form.lat != null){
+			let x_pi = 3.14159265358979324 * 3000.0 / 180.0;;
+			 let x = this.form.lon;
+			    let y = this.form.lat;
+			    let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
+			    let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
+			    let lngs = z * Math.cos(theta) + 0.0065;
+			    let lats = z * Math.sin(theta) + 0.006;
+			 this.form.lat = lats
+			 this.form.lon = lngs
+			 console.log(lngs);
+			 console.log(lats);
+			 this.open = true;
+			// this.ga_bd(this.form.lat,this.form.lon)
+		}
+		
+        // this.center.lng = this.form.lng
+        // this.center.lat = this.form.lat
+        this.nameadd = []
+        this.hfes = true
+        // this.mapCenter = this.form.kaAddress
+        this.nhe = true
+		this.open = true;
+		
+        // this.makerCenter(this.form.kaAddress)
+        
+        this.title = "修改考勤规则配置";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+		  this.ba_gd(this.form.lat,this.form.lon)
+          if (this.form.dutyId != null) {
+            updateSchedule(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchedule(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const kaoqinIds = row.dutyId || this.ids;
+      this.$modal.confirm('是否确认删除考勤规则配置编号为"' + kaoqinIds + '"的数据项?').then(function() {
+        return delSchedule(kaoqinIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('kaoqin/config/export', {
+        ...this.queryParams
+      }, `config_${new Date().getTime()}.xlsx`)
+    },
+    // 、、地图
+    getLocationPoint(e){
+     console.log(e,76);
+     this.center.lng = e.point.lng
+     this.center.lat = e.point.lat
+     this.form.lat = e.point.lat
+     this.form.lon = e.point.lng
+     // this.mapCenter.lng = this.form.lng
+     // this.mapCenter.lat = this.form.lat
+     this.nhe = true
+     var point = new BMap.Point(e.point.lng, e.point.lat);
+                       var gc = new BMap.Geocoder();
+                       let _this = this;
+                       gc.getLocation(point, function (rs) {
+                           var addComp = rs.addressComponents;
+                           console.log(rs.addressComponents,3);//地址信息
+                           console.log(rs)
+        })
+    },
+    searchcomplete(e){
+      console.log(e);
+    },
+    querySearch(queryString,cb) {
+      // console.log(e);
+      // this.keyword = e
+      // results, cb
+      // var that = this
+      // var myGeo = new this.BMap.Geocoder()
+      // console.log(queryString, cb);
+
+      // myGeo.getPoint(queryString, function(point) {
+      //   console.log(point);
+      //   // var point = '安庆市'
+
+      //   if (point) {
+      //     that.mapLocation.coordinate = point
+      //     that.makerCenter(point)
+      //   } else {
+      //     that.mapLocation.coordinate = null
+      //   }
+      // }, this.locationCity)
+      // console.log(this.locationCity);
+
+      // var options = {
+      //   onSearchComplete: function(results) {
+      //     console.log(local.getStatus());
+
+      //     if (local.getStatus() === 0) {
+      //       // 判断状态是否正确
+      //       var s = []
+      //       console.log(results.getCurrentNumPois());
+
+      //       for (var i = 0; i < results.getCurrentNumPois(); i++) {
+      //         var x = results.getPoi(i)
+      //         console.log(x);
+
+      //         var item = { value: x.address + x.title, point: x.point }
+      //         s.push(item)
+      //         // console.log(s);
+
+      //         cb(s)
+      //       }
+      //       // console.log(s);
+
+      //     } else {
+      //       cb()
+      //     }
+      //   }
+      // // this.oieueo(results)
+      console.log(queryString);
+      if(this.hfes == true){
+       this.center.lng = this.form.lng
+       this.center.lat = this.form.lat
+      }
+      var item = []
+      var x = ''
+      //  this.nameadd = queryString.Ir
+      // queryString.value = ''
+       for(var i = 0 ; i <  this.nameadd.length; i++){
+         console.log(queryString[i]);
+        // var item = { value: this.nameadd[i].address + this.nameadd[i].title, point: this.nameadd[i].point }
+        // if(queryString[i].address == undefined){
+        //     queryString[i].address = ''
+        // }
+        //  x= this.nameadd[i].address + this.nameadd[i].title
+        // item.push(x)
+       this.nameadd[i].value = this.nameadd[i].address + this.nameadd[i].title
+       console.log(this.nameadd[i].value);
+
+      //  this.nameadd.push( item)
+         }
+        //  this.nameadd = item
+         console.log(this.nameadd);
+        //  this.cb = cb
+        // if(this.njki == true){
+           cb(this.nameadd)
+           if(this.nameadd.length != 0){
+             // console.log(local.getStatus());
+
+           }else{
+             cb(this.kdourg)
+           }
+        // }
+
+
+
+      console.log(this.nameadd);
+
+      // }
+      // console.log(options );
+    // var local = new this.BMap.LocalSearch('安庆市', options)
+
+    // console.log(queryString );
+      // local.search(queryString)
+    },
+    handleSelect(item) {
+      var { point } = item
+      this.mapLocation.coordinate = point
+      this.form.lat = point.lat
+      this.form.lon = point.lng
+      console.log(this.form.lat,this.form.lon);
+      // this.makerCenter(point)
+    },
+    // handler({ BMap, map }) {
+    //   // console.log(2)
+    //   // this.center.lng = this.form.lng
+    //   // this.center.lat = this.form.lat
+    //   this.map = map
+    //   // console.log(this.map,map,999999);
+    //   // console.log(this.map)
+
+    //   // if (this.map) {
+    //     // this.map.clearOverlays()
+    //     // this.map.addOverlay(new this.BMap.Marker(point))
+    //     this.mapCenter.lng = '30.636756'
+    //     this.mapCenter.lat = '116.587611'
+    //     // this.mapCenter = '安庆市'
+    //     // this.mapZoom = 15
+    //   // }
+    // },
+    oieueo(results,cb){
+     //  console.log(results,cb);
+    // console.log(results.Hr,3);
+    console.log(this.form,87);
+     // if(this.form.address == ''){
+     //   this.nameadd = []
+     // }else{
+     //  this.nameadd = results.Ir
+     // }
+    // var allOverlay = this.map.getOverlays();
+    // console.log(allOverlay,897)
+    // this.map.removeOverlay(allOverlay[allOverlay.length-1]);
+
+     if(this.njki == false){
+       this.jde = []
+       this.nhesf = 0
+       this.nameadd = this.jde.push(results)
+       this.center.lng = this.form.lon
+       this.center.lat = this.form.lat
+       this.mapCenter.lng = this.form.lon - 0
+       this.mapCenter.lat = this.form.lat - 0
+       console.log(this.mapCenter,897)
+       this.querySearch(this.nameadd,this.cb)
+       // this.mapCenter = this.form.kaAddress
+       // return
+
+       // this.querySearch(this.nameadd)
+     }else{
+       this.mapCenter.lng= 116.587611
+       this.mapCenter.lat = 30.633773
+       this.querySearch(this.nameadd,this.cb)
+     }
+
+      console.log(this.nameadd);
+
+     //  var cb= cb
+
+     // }
+
+
+     //  results,cb
+
+     //  this.nameadd.
+     //  var local = new this.BMap.LocalSearch(this.map, options)
+     //   local.search(queryString)
+
+     },
+     dessde(e){
+       console.log(e,890)
+       this.njki = true
+       this.nhesf = 20
+     },
+     //选中数据
+     confirmf(e){
+       console.log(143);
+       console.log(e.length,this.nameadd);
+
+       if(this.njki == false){
+         return
+       }
+       this.nameadd = e
+       console.log(e.length,this.nameadd);
+     },
+     jues(e){
+        console.log(e);
+        if(e==4){
+          this.time = true
+        }else{
+          this.time = false
+          this.form.kaTimeAmOut = null
+          this.form.kaTimePmIn = null
+        }
+     },
+     jksed(){
+       console.log(this.queryParams.startWorkTime)
+     },
+     selectDepart(val){
+       console.log(val)
+       this.form.deptName =val.label
+     },
+     // 获取屏幕高度
+     showFilterForm () {
+           this.filterActive = !this.filterActive
+           this.changeTableMaxHeight()
+         },
+
+         changeTableMaxHeight () {
+           let height = document.body.offsetHeight // 网页可视区域高度
+           // if (this.filterActive) {
+           //   this.tableMaxHeight = height - 320
+           // } else {
+             this.tableMaxHeight = height - 250
+           // }
+           console.log(height)
+         }
+  }
+};
+</script>
+<style rel="stylesheet/scss" lang="scss">
+  .BMap_cpyCtrl {
+     display: none;
+   }
+  .anchorBL {
+     display: none;
+}
+.xioaq-from{
+  text-align: right
+
+}
+.xioaq_formit{
+  margin-bottom: 10px
+}
+.input-with-select{
+  width: 50%;
+  float: right;
+  margin-bottom: 20px
+}
+.el-cascader{
+  width: 100%;
+}
+.bm-view {
+  width: 100%;
+  height: 300px;
+}
+.oiue{
+  height: 300px;
+}
+.pui{
+  height: 100px;
+  position: absolute;
+  top: 40px;
+  left: 0;
+  z-index: 99;
+  // overflow: hidden;
+}
+.anchorTL{
+  width: 100%;
+}
+.app-container{
+  // padding: 0 !important;
+}
+.BMap_mask{
+  // background-color: #fff !important;
+}
+</style>
+<style lang="scss">
+	.nhgrls{
+		.el-dialog__body{
+			padding: 0;
+		}
+	}
+  .hyr{
+    span{
+      text-decoration:underline;
+    }
+  }
+</style>
+<style scoped lang="scss">
+  .iuer{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    .ite{
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      p{
+        margin: 0;
+        font-size: 15px;
+        font-family: PingFang SC;
+        font-weight: 500;
+        color: #AAAAAA;
+        padding: 4px 12px;
+        background: #F7F8FA;
+        border-radius: 4px;
+        margin-right: 20px;
+      }
+      .actt{
+        background: #E6EBFF;
+        border: 1px solid #5974E0;
+        border-radius: 4px;
+        color: #5974E0;
+      }
+
+    }
+  }
+  .lqw{
+    padding: 0 10px;
+    margin: 0;
+    margin-bottom: 20px;
+  }
+.nhgel{
+  height: 170px;
+  background-color: #313b61;
+  width: 100%;
+  position: absolute;
+  top:0;
+  left:0;
+  z-index: 0;
+}
+	.app-container{
+		background-color: #f3f4f6;
+		padding-top: 10px;
+	   
+	}
+	.ntgs{
+	position: relative;
+		background-color: #fff;
+		padding: 5px;
+		// border-radius: 5px;
+		padding-top: 10px;
+	     padding: 10px 20px;
+		 padding-left: 10px;
+		.pagination-container{
+			height: 50px;
+		}
+	}
+	.nghfs{
+	position: relative;
+		background-color: #fff;
+		padding-top: 18px !important;
+		padding: 5px;
+		// border-radius: 5px;
+		// margin-bottom: 20px;
+	}
+	.ksf{
+		img{
+			width:100%;
+			height: 100%;
+		}
+	}
+
+</style>

+ 175 - 8
ruoyi-ui/src/views/tongj/food/index.vue

@@ -126,9 +126,10 @@
 	</div>
 
     <!-- 添加或修改订餐预约对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body class="nhgrlsw">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
 		  <el-row>
+			 
 			  <el-col :span="12">
 				<el-form-item label="就餐人员名称" prop="orderFoodUser">
 				    <el-input disabled v-model="form.orderFoodUser" placeholder="请输入就餐人员名称" />
@@ -169,16 +170,77 @@
 		  			  </el-col>
 		  </el-row>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
+      <div slot="footer" class="dialog-footer" style="display: flex;justify-content: space-between;align-items: center;">
+		  <div style="margin-left: 10px;display: flex;align-items: center;">
+			  <img style="width: 15px;height: 15px;" src="../../../assets/images/icon_yqht_xzsp_bzsp.png" alt="" >
+			 <p style="margin: 0; text-align: right;color: #FE5A0E;cursor: pointer;margin-bottom: 0;margin-left: 10px;" @click="ongis">每日食谱</p>  
+		  </div>
+        <div>
+			<el-button type="primary" @click="submitForm">确 定</el-button>
+			<el-button @click="cancel">取 消</el-button>
+		</div>
       </div>
     </el-dialog>
+	 <el-dialog title="每周食谱" :visible.sync="openm" width="780px" append-to-body>
+		 <div>
+		 	  						 <div class="yaunbei" style="position: relative;">
+		 	  							 <div class="yaunbei_one" style="position: relative; z-index: 22;">
+		 	  								 <p style="font-size: 29px;color: #FFFFFE;position: absolute;top: 143px;left: 183px;">{{weekst}}</p>
+		 	  							 </div>
+		 	  							 <div class="yaunbei_two" style="position: relative;margin-top: -140px; ">
+		 	  								<div v-for="(item,index) in  menuFoodList" :key="index" style="margin-top: 30px;">
+		 	  									<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z1.png" alt="" v-if="item.menuFoodTime == '星期一'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z2.png" alt="" v-if="item.menuFoodTime == '星期二'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z3.png" alt="" v-if="item.menuFoodTime == '星期三'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z4.png" alt="" v-if="item.menuFoodTime == '星期四'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z5.png" alt="" v-if="item.menuFoodTime == '星期五'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z6.png" alt="" v-if="item.menuFoodTime == '星期六'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z7.png" alt="" v-if="item.menuFoodTime == '星期日'">
+		 	  								   <div style="display: flex;
+		 									   align-items: flex-start;padding: 0 12px; margin-top: 25px;">
+		 										   <span style="background: #FFE0AE;
+		                                    border-radius: 16px;font-weight: 400;
+		 											font-size: 25px;color: #161616;
+		 											width: 24%;text-align: center;padding: 3px 0;">午餐</span>
+		 										   <p style="margin: 0; margin-left: 20px; 
+		 										   font-weight: 400;font-size: 25px;color: #382324;">{{item.menuFoodDetailLu == null?'暂无数据' : item.menuFoodDetailLu}}</p>
+		 									   </div>
+		 									   <div style="display: flex;
+		 									   align-items: flex-start;padding: 0 12px; margin-top: 25px;">
+		 									   		<span style="background: #DCF1FF;
+		 									        border-radius: 16px;font-weight: 400;
+		 									   		font-size: 25px;color: #161616;
+		 									   		width: 24%;text-align: center;padding: 3px 0;">晚餐</span>
+		 									   		<p style="margin: 0; margin-left: 20px; 
+		 									   		font-weight: 400;font-size: 25px;color: #382324;">{{item.menuFoodDetailDi == null?'暂无数据' : item.menuFoodDetailDi}}</p>
+		 									   </div>
+		 									</div>
+											<div style="position: absolute; bottom: -60px; right: 0;">
+												<img style="width: 580px;height: 265px;" src="../../../assets/images/pic_bzsp_dbbg.png" alt="">
+											</div>
+											<img src="../../../assets/images/pic_bzsp_cpbjb_xqbg.png" alt="" style="position: absolute; top: 300px;left: -20px;height: 72%;">
+		 	  							 </div>
+										 
+		 	  						 </div>
+									 <!-- <div slot="footer" class="dialog-footer">
+									   <el-button @click="cancel">取 消</el-button>
+									 </div> -->
+		 	  						 
+		 	  					 </div>
+	</el-dialog>
+	
   </div>
 </template>
 
 <script>
 import { listFood, getFood, delFood, addFood, updateFood } from "@/api/system/food";
+import {
+		listMenuFood,
+		getMenuFood,
+		delMenuFood,
+		addMenuFood,
+		updateMenuFood
+	} from "@/api/system/menuFood";
 
 export default {
   name: "Food",
@@ -203,6 +265,8 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+	  openm:false,
+	  menuFoodList:[],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -219,12 +283,21 @@ export default {
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+	  week:[],
+	  weekst:''
     };
   },
   created() {
-	  
+	  let data=[]
+	        for(let i=0;i <= 6;i++){
+	              data.push(this.getWeek(i))
+	        }
+	this.week=data;
+	this.weekst = this.week[0] + '-' +this.week[this.week.length-1]
+	console.log(this.weekst)
     this.getList();
+	this.getListm()
   },
   methods: {
     /** 查询订餐预约列表 */
@@ -236,11 +309,84 @@ export default {
         this.loading = false;
       });
     },
+	getListm() {
+		this.loading = true;
+		let nsgs={'pageNum': 1,'pageSize': 7,'isUse':'Y'}
+		listMenuFood(nsgs).then(response => {
+			// this.menuFoodList = response.rows;
+			let ilseli =['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
+			let ilselif =['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
+			let njgw = []
+				response.rows.filter(rou=>{
+					rou.menuFoodTime = rou.menuFoodTime.replace(/\s*/g,'');
+					for(var i=0;i< ilseli.length;i++ ){
+						if(rou.menuFoodTime == ilseli[i]){
+							ilseli.splice(i,1)
+						}
+					}
+				})
+				if(response.rows.length < 7){
+				for(var h=0;h< ilseli.length;h++ ){
+					let nhg={'menuFoodTime':ilseli[h],'menuFoodDetailDi':'暂无数据','menuFoodDetailLu':'暂无数据'}
+				    response.rows.push(nhg)
+				}
+				 response.rows.filter(roug=>{
+					 if(roug.menuFoodTime == '星期一'){
+						ilselif[0] = roug
+					 }
+					 if(roug.menuFoodTime == '星期二'){
+					 	ilselif[1] =roug
+					 }
+					 if(roug.menuFoodTime == '星期三'){
+					 	ilselif[2] = roug
+					 }
+					 if(roug.menuFoodTime == '星期四'){
+					 	ilselif[3] = roug
+					 }
+					 if(roug.menuFoodTime == '星期五'){
+					 	ilselif[4] = roug 
+					 }
+					 if(roug.menuFoodTime == '星期六'){
+					 	ilselif[5] = roug
+					 }
+					 if(roug.menuFoodTime == '星期日'){
+					 	ilselif[6] = roug
+					 }
+					 
+				 })
+				 this.menuFoodList = ilselif
+			}
+			this.total = response.total;
+			this.loading = false;
+		});
+	},
+	 getWeek (day) {
+	          var today = new Date();
+	          var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
+	          today.setTime(targetday_milliseconds);
+	          var tYear = today.getFullYear();
+	          var tMonth = today.getMonth();
+	          var tDate = today.getDate();
+	          tMonth = this.doHandleMonth(tMonth + 1);
+	          tDate =  this.doHandleMonth(tDate);
+	          return tMonth+"/"+tDate;
+	      },
+	      doHandleMonth(month){
+	         var m = month;
+	         if(month.toString().length == 1){
+	            m = "0" + month;
+	         }
+	         return m;
+	      },
+	
     // 取消按钮
     cancel() {
       this.open = false;
       this.reset();
     },
+	ongis(){
+		this.openm = true
+	},
     // 表单重置
     reset() {
       this.form = {
@@ -334,9 +480,9 @@ export default {
 };
 </script>
 <style lang="scss">
-	.nhgrls{
+	.nhgrlsw{
 		.el-dialog__body{
-			padding: 0;
+			padding-top: 10px;
 		}
 	}
   .hyr{
@@ -419,6 +565,27 @@ export default {
 			height: 100%;
 		}
 	}
+	.yaunbei{
+		background: url('../../../assets/images/pic_bzsp_ymbg.png') no-repeat;
+		background-size: 100% 100%;
+		padding-bottom: 90px;
+	}
+	.yaunbei_one{
+		height: 290px;
+		width: 550px;
+		background: url('../../../assets/images/pic_bzsp_btbg.png') no-repeat;
+		background-size: 549px 290px;
+		margin-left: 50%;
+		transform: translateX(-50%);
+	}
+	.yaunbei_two{
+		width: 650px;
+		padding: 150px 65px 180px 65px;
+		background: url('../../../assets/images/pic_bzsp_cpbjb_bg.png') no-repeat;
+		background-size: 649px 100%;
+		margin-left: 50%;
+		transform: translateX(-50%);
+	}
 
 </style>
 

+ 509 - 0
ruoyi-ui/src/views/tongj/foodRecord/index.vue

@@ -0,0 +1,509 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="140px" class="nghfs">
+        <p class="lqw" style="font-weight: 700;font-size: 15px;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px;"> 搜索条件</p>
+      <el-form-item label="食谱日期 周一" prop="menuFoodTime">
+        <el-select v-model="queryParams.menuFoodTime" placeholder="请选择食谱日期 周一" clearable>
+          <el-option
+            v-for="dict in dict.type.week"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="记录时间" prop="recordTime">
+        <el-date-picker clearable
+          v-model="queryParams.recordTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择记录时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <div class="ntgs" >
+    <div style="display: flex;align-items: center; margin-bottom: 10px;">
+      <p class="lqw" style="font-weight: 700;font-size: 15px; margin: 0; margin-bottom: 0;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px;"> 食谱记录</p>
+    <el-row :gutter="10" class="mb8">
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:foodRecord:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:foodRecord:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:foodRecord:remove']"
+        >删除</el-button>
+      </el-col> -->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:foodRecord:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+	</div>
+	
+	<div>
+					 <div>
+						 <el-row :gutter="20" v-if="foodRecordList.length !=0">
+							 <el-col :span="8" v-for="(item,index) in foodRecordList" :key="index" style="margin-bottom: 20px;">
+								 <div class="foord">
+									<div class="foorso" style="height: 60px;">
+										<p ><span style="margin-right: 10px;"></span><dict-tag :options="dict.type.week" :value="item.menuFoodTime" /></p>
+										<p>{{item.recordTime == null?'暂无数据' : item.recordTime}}</p>
+									</div> 
+									<div style="border-bottom: 1px solid #DADADA;padding-top: 15px;padding-bottom: 15px;" class="foorset">
+										<div>
+											<span>午餐:</span><p>{{item.menuFoodDetailLu == null?'暂无数据' : item.menuFoodDetailLu}}</p>
+										</div>
+										<div>
+											<span style="color: #28C529;">晚餐:</span><p>{{item.menuFoodDetailDi == null?'暂无数据' : item.menuFoodDetailDi}}</p>
+										</div>
+									</div>
+									<div style="display: flex;align-items: center;height: 40px;">
+										<p @click="handleDelete(item)"
+								v-hasPermi="['system:foodRecord:remove']" style="flex:1;line-height: 40px; text-align: center; border-right: 1px solid #DADADA;color: #FF6969;font-weight: bold;font-size: 14px;">删除</p>
+										<!-- <p  @click="handleUpdate(item)"
+								v-hasPermi="['system:menuFood:edit']" style="flex:1;line-height: 40px;text-align: center;color: #5F8BF4;font-weight: bold;font-size: 14px;">修改</p> -->
+									</div>
+								 </div>
+							 </el-col>
+						 </el-row>
+						 <div v-if="foodRecordList.length ==0">
+						 						 <el-empty description="暂无数据"></el-empty>
+						 </div>
+					 </div>
+	</div>
+
+    <!-- <el-table v-loading="loading" :data="foodRecordList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="食谱日期" align="center" prop="menuFoodTime">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.week" :value="scope.row.menuFoodTime"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="食谱早餐详情" align="center" prop="menuFoodDetailBk" />
+      <el-table-column label="食谱中餐详情" align="center" prop="menuFoodDetailLu" />
+      <el-table-column label="食谱晚餐详情" align="center" prop="menuFoodDetailDi" />
+      <el-table-column label="记录时间" align="center" prop="recordTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.recordTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:foodRecord:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:foodRecord:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table> -->
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+	</div>
+
+    <!-- 添加或修改每日食谱记录对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="食谱日期 周一" prop="menuFoodTime">
+          <el-select v-model="form.menuFoodTime" placeholder="请选择食谱日期 周一">
+            <el-option
+              v-for="dict in dict.type.week"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="食谱早餐详情" prop="menuFoodDetailBk">
+          <el-input v-model="form.menuFoodDetailBk" placeholder="请输入食谱早餐详情" />
+        </el-form-item>
+        <el-form-item label="食谱中餐详情" prop="menuFoodDetailLu">
+          <el-input v-model="form.menuFoodDetailLu" placeholder="请输入食谱中餐详情" />
+        </el-form-item>
+        <el-form-item label="食谱午餐详情" prop="menuFoodDetailDi">
+          <el-input v-model="form.menuFoodDetailDi" placeholder="请输入食谱午餐详情" />
+        </el-form-item>
+        <el-form-item label="食堂名称" prop="canteenName">
+          <el-input v-model="form.canteenName" placeholder="请输入食堂名称" />
+        </el-form-item>
+        <el-form-item label="食堂id" prop="canteenId">
+          <el-input v-model="form.canteenId" placeholder="请输入食堂id" />
+        </el-form-item>
+        <el-form-item label="记录时间" prop="recordTime">
+          <el-date-picker clearable
+            v-model="form.recordTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择记录时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建部门" prop="createDept">
+          <el-input v-model="form.createDept" placeholder="请输入创建部门" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listFoodRecord, getFoodRecord, delFoodRecord, addFoodRecord, updateFoodRecord } from "@/api/system/foodRecord";
+
+export default {
+  name: "FoodRecord",
+  dicts: ['week'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 每日食谱记录表格数据
+      foodRecordList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        menuFoodTime: null,
+        menuFoodDetailBk: null,
+        menuFoodDetailLu: null,
+        menuFoodDetailDi: null,
+        recordTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询每日食谱记录列表 */
+    getList() {
+      this.loading = true;
+      listFoodRecord(this.queryParams).then(response => {
+        this.foodRecordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        menuFoodRecordId: null,
+        menuFoodTime: null,
+        menuFoodType: null,
+        menuFoodDetailBk: null,
+        menuFoodDetailLu: null,
+        menuFoodDetailDi: null,
+        canteenName: null,
+        canteenId: null,
+        recordTime: null,
+        createDept: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.menuFoodRecordId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加每日食谱记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const menuFoodRecordId = row.menuFoodRecordId || this.ids
+      getFoodRecord(menuFoodRecordId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改每日食谱记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.menuFoodRecordId != null) {
+            updateFoodRecord(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFoodRecord(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const menuFoodRecordIds = row.menuFoodRecordId || this.ids;
+      this.$modal.confirm('是否确认删除数据项?').then(function() {
+        return delFoodRecord(menuFoodRecordIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/foodRecord/export', {
+        ...this.queryParams
+      }, `foodRecord_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style lang="scss">
+	.nhgrls {
+		.el-dialog__body {
+			padding: 0;
+		}
+	}
+
+	.hyr {
+		span {
+			text-decoration: underline;
+		}
+	}
+</style>
+<style scoped lang="scss">
+	.ingq {
+		p {
+			margin: 0;
+		}
+	}
+
+	.iuer {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		.ite {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			p {
+				margin: 0;
+				font-size: 15px;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #AAAAAA;
+				padding: 4px 12px;
+				background: #F7F8FA;
+				border-radius: 4px;
+				margin-right: 20px;
+			}
+
+			.actt {
+				background: #E6EBFF;
+				border: 1px solid #5974E0;
+				border-radius: 4px;
+				color: #5974E0;
+			}
+
+		}
+	}
+
+	.lqw {
+		padding: 0 10px;
+		margin: 0;
+		margin-bottom: 20px;
+	}
+
+	.nhgel {
+		height: 170px;
+		background-color: #313b61;
+		width: 100%;
+		position: absolute;
+		top: 0;
+		left: 0;
+		z-index: 0;
+	}
+
+	.app-container {
+		background-color: #f3f4f6;
+		padding-top: 10px;
+
+	}
+
+	.ntgs {
+		position: relative;
+		background-color: #fff;
+		padding: 5px;
+		// border-radius: 5px;
+		padding-top: 10px;
+		padding: 10px 20px;
+		padding-left: 10px;
+
+		.pagination-container {
+			height: 50px;
+		}
+	}
+
+	.nghfs {
+		position: relative;
+		background-color: #fff;
+		padding-top: 18px !important;
+		padding: 5px;
+		// border-radius: 5px;
+		// margin-bottom: 20px;
+	}
+
+	.ksf {
+		img {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.foord{
+		background: #FFFFFF;
+		box-shadow: 0px 0px 10px 0px #CDCDCD;
+		border-radius: 4px;
+		.foorso{
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			border-bottom: 1px solid #DADADA;
+			padding: 0 10px;
+			
+			p{
+				display: flex;
+				font-weight: 800;
+				font-size: 16px;
+				color: #161616;
+				align-items: center;
+				span{
+					width: 8px;
+					height: 8px;
+					background: #4775EA;
+					border-radius: 50%;
+				}
+			}
+		}
+		.foorset{
+			div{
+				display: flex;
+				align-items: flex-start;
+				justify-content: flex-start;
+				padding: 0 10px;
+				span{
+					width: 22%;
+					font-weight: bold;
+					font-size: 14px;
+					color: #FE5A0E;
+				}
+				p{
+					flex:1;
+					margin-top: 0;
+					font-weight: bold;
+					font-size: 14px;
+					color: #606266;
+				}
+			}
+		}
+	}
+</style>

+ 181 - 12
ruoyi-ui/src/views/tongj/foodme/index.vue

@@ -25,7 +25,7 @@
 	              </el-select>
 	            </el-form-item>
 	          </el-col>
-	          <el-col :span="4"  style="margin-top: 3px;">
+	          <el-col :span="4" style="margin-top: 3px;">
 	            <el-button type="primary" style="background-color: #5974E0; border-color: #5974E0;" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 	           <el-button style="background-color: #fff; border-color: #3464EB; color: #3464EB;" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 	          </el-col>
@@ -126,13 +126,14 @@
 	</div>
 
     <!-- 添加或修改订餐预约对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body class="nhgrlsw">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
 		  <el-row>
+			 
 			  <el-col :span="12">
-			  				<el-form-item label="就餐人员名称" prop="orderFoodUser">
-			  				    <el-input disabled v-model="form.orderFoodUser" placeholder="请输入就餐人员名称" />
-			  				</el-form-item>  
+				<el-form-item label="就餐人员名称" prop="orderFoodUser">
+				    <el-input disabled v-model="form.orderFoodUser" placeholder="请输入就餐人员名称" />
+				</el-form-item>  
 			  </el-col>
 			  <el-col :span="12">
 			  	<el-form-item label="就餐人员部门" prop="orderFoodDept">
@@ -142,6 +143,7 @@
 		  			  <el-col :span="12">
 		  				 <el-form-item label="就餐时间" prop="orderFoodTime">
 		  				   <el-date-picker clearable
+						   style="width: 100%;"
 		  				     v-model="form.orderFoodTime"
 		  				     type="date"
 		  				     value-format="yyyy-MM-dd"
@@ -151,7 +153,7 @@
 		  			  </el-col>
 		  			  <el-col :span="12">
 		  			  	<el-form-item label="就餐类型" prop="orderFoodType">
-		  			  	  <el-select v-model="form.orderFoodType" placeholder="请选择就餐类型 1:午餐 2:晚餐">
+		  			  	  <el-select  style="width: 100%;" v-model="form.orderFoodType" placeholder="请选择就餐类型 1:午餐 2:晚餐">
 		  			  	    <el-option
 		  			  	      v-for="dict in dict.type.jiucan"
 		  			  	      :key="dict.value"
@@ -168,16 +170,77 @@
 		  			  </el-col>
 		  </el-row>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
+      <div slot="footer" class="dialog-footer" style="display: flex;justify-content: space-between;align-items: center;">
+		  <div style="margin-left: 10px;display: flex;align-items: center;">
+			  <img style="width: 15px;height: 15px;" src="../../../assets/images/icon_yqht_xzsp_bzsp.png" alt="" >
+			 <p style="margin: 0; text-align: right;color: #FE5A0E;cursor: pointer;margin-bottom: 0;margin-left: 10px;" @click="ongis">每日食谱</p>  
+		  </div>
+        <div>
+			<el-button type="primary" @click="submitForm">确 定</el-button>
+			<el-button @click="cancel">取 消</el-button>
+		</div>
       </div>
     </el-dialog>
+	 <el-dialog title="每周食谱" :visible.sync="openm" width="780px" append-to-body>
+		 <div>
+		 	  						 <div class="yaunbei" style="position: relative;">
+		 	  							 <div class="yaunbei_one" style="position: relative; z-index: 22;">
+		 	  								 <p style="font-size: 29px;color: #FFFFFE;position: absolute;top: 143px;left: 183px;">{{weekst}}</p>
+		 	  							 </div>
+		 	  							 <div class="yaunbei_two" style="position: relative;margin-top: -140px; ">
+		 	  								<div v-for="(item,index) in  menuFoodList" :key="index" style="margin-top: 30px;">
+		 	  									<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z1.png" alt="" v-if="item.menuFoodTime == '星期一'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z2.png" alt="" v-if="item.menuFoodTime == '星期二'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z3.png" alt="" v-if="item.menuFoodTime == '星期三'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z4.png" alt="" v-if="item.menuFoodTime == '星期四'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z5.png" alt="" v-if="item.menuFoodTime == '星期五'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z6.png" alt="" v-if="item.menuFoodTime == '星期六'">
+												<img style="width: 100%;height: 56px;" src="../../../assets/images/pic_bzsp_z7.png" alt="" v-if="item.menuFoodTime == '星期日'">
+		 	  								   <div style="display: flex;
+		 									   align-items: flex-start;padding: 0 12px; margin-top: 25px;">
+		 										   <span style="background: #FFE0AE;
+		                                    border-radius: 16px;font-weight: 400;
+		 											font-size: 25px;color: #161616;
+		 											width: 24%;text-align: center;padding: 3px 0;">午餐</span>
+		 										   <p style="margin: 0; margin-left: 20px; 
+		 										   font-weight: 400;font-size: 25px;color: #382324;">{{item.menuFoodDetailLu == null?'暂无数据' : item.menuFoodDetailLu}}</p>
+		 									   </div>
+		 									   <div style="display: flex;
+		 									   align-items: flex-start;padding: 0 12px; margin-top: 25px;">
+		 									   		<span style="background: #DCF1FF;
+		 									        border-radius: 16px;font-weight: 400;
+		 									   		font-size: 25px;color: #161616;
+		 									   		width: 24%;text-align: center;padding: 3px 0;">晚餐</span>
+		 									   		<p style="margin: 0; margin-left: 20px; 
+		 									   		font-weight: 400;font-size: 25px;color: #382324;">{{item.menuFoodDetailDi == null?'暂无数据' : item.menuFoodDetailDi}}</p>
+		 									   </div>
+		 									</div>
+											<div style="position: absolute; bottom: -60px; right: 0;">
+												<img style="width: 580px;height: 265px;" src="../../../assets/images/pic_bzsp_dbbg.png" alt="">
+											</div>
+											<img src="../../../assets/images/pic_bzsp_cpbjb_xqbg.png" alt="" style="position: absolute; top: 300px;left: -20px;height: 72%;">
+		 	  							 </div>
+										 
+		 	  						 </div>
+									 <!-- <div slot="footer" class="dialog-footer">
+									   <el-button @click="cancel">取 消</el-button>
+									 </div> -->
+		 	  						 
+		 	  					 </div>
+	</el-dialog>
+	
   </div>
 </template>
 
 <script>
 import { listFood, getFood, delFood, addFood, updateFood } from "@/api/system/food";
+import {
+		listMenuFood,
+		getMenuFood,
+		delMenuFood,
+		addMenuFood,
+		updateMenuFood
+	} from "@/api/system/menuFood";
 
 export default {
   name: "Food",
@@ -202,6 +265,8 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+	  openm:false,
+	  menuFoodList:[],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -218,11 +283,21 @@ export default {
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+	  week:[],
+	  weekst:''
     };
   },
   created() {
+	  let data=[]
+	        for(let i=0;i <= 6;i++){
+	              data.push(this.getWeek(i))
+	        }
+	this.week=data;
+	this.weekst = this.week[0] + '-' +this.week[this.week.length-1]
+	console.log(this.weekst)
     this.getList();
+	this.getListm()
   },
   methods: {
     /** 查询订餐预约列表 */
@@ -235,11 +310,84 @@ export default {
         this.loading = false;
       });
     },
+	getListm() {
+		this.loading = true;
+		let nsgs={'pageNum': 1,'pageSize': 7,'isUse':'Y'}
+		listMenuFood(nsgs).then(response => {
+			// this.menuFoodList = response.rows;
+			let ilseli =['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
+			let ilselif =['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
+			let njgw = []
+				response.rows.filter(rou=>{
+					rou.menuFoodTime = rou.menuFoodTime.replace(/\s*/g,'');
+					for(var i=0;i< ilseli.length;i++ ){
+						if(rou.menuFoodTime == ilseli[i]){
+							ilseli.splice(i,1)
+						}
+					}
+				})
+				if(response.rows.length < 7){
+				for(var h=0;h< ilseli.length;h++ ){
+					let nhg={'menuFoodTime':ilseli[h],'menuFoodDetailDi':'暂无数据','menuFoodDetailLu':'暂无数据'}
+				    response.rows.push(nhg)
+				}
+				 response.rows.filter(roug=>{
+					 if(roug.menuFoodTime == '星期一'){
+						ilselif[0] = roug
+					 }
+					 if(roug.menuFoodTime == '星期二'){
+					 	ilselif[1] =roug
+					 }
+					 if(roug.menuFoodTime == '星期三'){
+					 	ilselif[2] = roug
+					 }
+					 if(roug.menuFoodTime == '星期四'){
+					 	ilselif[3] = roug
+					 }
+					 if(roug.menuFoodTime == '星期五'){
+					 	ilselif[4] = roug 
+					 }
+					 if(roug.menuFoodTime == '星期六'){
+					 	ilselif[5] = roug
+					 }
+					 if(roug.menuFoodTime == '星期日'){
+					 	ilselif[6] = roug
+					 }
+					 
+				 })
+				 this.menuFoodList = ilselif
+			}
+			this.total = response.total;
+			this.loading = false;
+		});
+	},
+	 getWeek (day) {
+	          var today = new Date();
+	          var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
+	          today.setTime(targetday_milliseconds);
+	          var tYear = today.getFullYear();
+	          var tMonth = today.getMonth();
+	          var tDate = today.getDate();
+	          tMonth = this.doHandleMonth(tMonth + 1);
+	          tDate =  this.doHandleMonth(tDate);
+	          return tMonth+"/"+tDate;
+	      },
+	      doHandleMonth(month){
+	         var m = month;
+	         if(month.toString().length == 1){
+	            m = "0" + month;
+	         }
+	         return m;
+	      },
+	
     // 取消按钮
     cancel() {
       this.open = false;
       this.reset();
     },
+	ongis(){
+		this.openm = true
+	},
     // 表单重置
     reset() {
       this.form = {
@@ -333,9 +481,9 @@ export default {
 };
 </script>
 <style lang="scss">
-	.nhgrls{
+	.nhgrlsw{
 		.el-dialog__body{
-			padding: 0;
+			padding-top: 10px;
 		}
 	}
   .hyr{
@@ -418,6 +566,27 @@ export default {
 			height: 100%;
 		}
 	}
+	.yaunbei{
+		background: url('../../../assets/images/pic_bzsp_ymbg.png') no-repeat;
+		background-size: 100% 100%;
+		padding-bottom: 90px;
+	}
+	.yaunbei_one{
+		height: 290px;
+		width: 550px;
+		background: url('../../../assets/images/pic_bzsp_btbg.png') no-repeat;
+		background-size: 549px 290px;
+		margin-left: 50%;
+		transform: translateX(-50%);
+	}
+	.yaunbei_two{
+		width: 650px;
+		padding: 150px 65px 180px 65px;
+		background: url('../../../assets/images/pic_bzsp_cpbjb_bg.png') no-repeat;
+		background-size: 649px 100%;
+		margin-left: 50%;
+		transform: translateX(-50%);
+	}
 
 </style>
 

+ 421 - 0
ruoyi-ui/src/views/tongj/in/index.vue

@@ -0,0 +1,421 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="140px" class="nghfs">
+        <p class="lqw" style="font-weight: 700;font-size: 15px;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px;"> 搜索条件</p>
+      
+	  <el-row>
+	    <!-- <el-col :span="24"> -->
+	      <el-col :span="8">
+	       <el-form-item label="用户名称" prop="nickName">
+	         <el-input
+	           v-model="queryParams.nickName"
+	           placeholder="请输入用户名称"
+	           clearable
+	           @keyup.enter.native="handleQuery"
+	         />
+	       </el-form-item>
+	      </el-col>
+	      <el-col :span="8">
+	        <el-form-item label="签到时间" prop="signTime">
+	          <el-date-picker clearable
+	            v-model="queryParams.signTime"
+	            type="date"
+	            value-format="yyyy-MM-dd"
+	            placeholder="请选择签到时间">
+	          </el-date-picker>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="4"  style="margin-top: 3px;">
+	        <el-button type="primary" style="background-color: #5974E0; border-color: #5974E0;" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+	       <el-button style="background-color: #fff; border-color: #3464EB; color: #3464EB;" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+	      </el-col>
+	  </el-row>
+    </el-form>
+    <div class="ntgs" >
+    <div style="display: flex;align-items: center; margin-bottom: 10px;">
+      <p class="lqw" style="font-weight: 700;font-size: 15px; margin: 0; margin-bottom: 0;"> <img src="../../../assets/images/icon_yq_htgl_btzs.png" alt="" style="width:10px;height: 10px;margin-right: 10px;"> 会议签到</p>
+    <el-row :gutter="10" class="mb8">
+     <!-- <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:in:add']"
+        >新增</el-button>
+      </el-col> -->
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:in:edit']"
+        >修改</el-button>
+      </el-col> -->
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:in:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:in:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+	</div>
+
+    <el-table v-loading="loading" :data="inList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+	  <el-table-column label="会议室" align="center" prop="conferenceRoomName" />
+      <el-table-column label="会议室预约名称" align="center" prop="conferenceRoomName" />
+	  <el-table-column label="用户头像" align="center" prop="avatar" >
+	    <template slot-scope="scope">
+	     <image-preview :src="scope.row.avatar" :width="50" :height="50"/>
+	    </template>
+	  </el-table-column>
+      <el-table-column label="用户名称" align="center" prop="nickName" />
+      <el-table-column label="签到时间" align="center" prop="signTime" width="180">
+        <template slot-scope="scope">
+          <span>{{scope.row.signTime}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:in:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:in:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+	</div>
+
+    <!-- 添加或修改会议室签到对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="会议室预约ID" prop="conferenceRoomOrderId">
+          <el-input v-model="form.conferenceRoomOrderId" placeholder="请输入会议室预约ID" />
+        </el-form-item>
+        <el-form-item label="会议室ID" prop="conferenceRoomId">
+          <el-input v-model="form.conferenceRoomId" placeholder="请输入会议室ID" />
+        </el-form-item>
+        <el-form-item label="用户id" prop="userId">
+          <el-input v-model="form.userId" placeholder="请输入用户id" />
+        </el-form-item>
+        <el-form-item label="用户头像地址" prop="avatar">
+          <el-input v-model="form.avatar" placeholder="请输入用户头像地址" />
+        </el-form-item>
+        <el-form-item label="用户名称" prop="nickName">
+          <el-input v-model="form.nickName" placeholder="请输入用户名称" />
+        </el-form-item>
+        <el-form-item label="签到时间" prop="signTime">
+          <el-date-picker clearable
+            v-model="form.signTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择签到时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建部门" prop="createDept">
+          <el-input v-model="form.createDept" placeholder="请输入创建部门" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listIn, getIn, delIn, addIn, updateIn } from "@/api/system/in";
+
+export default {
+  name: "In",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 会议室签到表格数据
+      inList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        conferenceRoomOrderId: null,
+        conferenceRoomId: null,
+        userId: null,
+        avatar: null,
+        nickName: null,
+        signTime: null,
+        createDept: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        conferenceRoomOrderId: [
+          { required: true, message: "会议室预约ID不能为空", trigger: "blur" }
+        ],
+        conferenceRoomId: [
+          { required: true, message: "会议室ID不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询会议室签到列表 */
+    getList() {
+      this.loading = true;
+      listIn(this.queryParams).then(response => {
+        this.inList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        signInId: null,
+        conferenceRoomOrderId: null,
+        conferenceRoomId: null,
+        userId: null,
+        avatar: null,
+        nickName: null,
+        signTime: null,
+        createDept: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.signInId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加会议室签到";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const signInId = row.signInId || this.ids
+      getIn(signInId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改会议室签到";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.signInId != null) {
+            updateIn(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addIn(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const signInIds = row.signInId || this.ids;
+      this.$modal.confirm('是否确认删除会议室签到编号为"' + signInIds + '"的数据项?').then(function() {
+        return delIn(signInIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/in/export', {
+        ...this.queryParams
+      }, `in_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style lang="scss">
+	.nhgrls{
+		.el-dialog__body{
+			padding: 0;
+		}
+	}
+  .hyr{
+    span{
+      text-decoration:underline;
+    }
+  }
+</style>
+<style scoped lang="scss">
+	.ingq{
+		p{
+			margin: 0;
+		}
+	}
+	
+  .iuer{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    .ite{
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      p{
+        margin: 0;
+        font-size: 15px;
+        font-family: PingFang SC;
+        font-weight: 500;
+        color: #AAAAAA;
+        padding: 4px 12px;
+        background: #F7F8FA;
+        border-radius: 4px;
+        margin-right: 20px;
+      }
+      .actt{
+        background: #E6EBFF;
+        border: 1px solid #5974E0;
+        border-radius: 4px;
+        color: #5974E0;
+      }
+
+    }
+  }
+  .lqw{
+    padding: 0 10px;
+    margin: 0;
+    margin-bottom: 20px;
+  }
+.nhgel{
+  height: 170px;
+  background-color: #313b61;
+  width: 100%;
+  position: absolute;
+  top:0;
+  left:0;
+  z-index: 0;
+}
+	.app-container{
+		background-color: #f3f4f6;
+		padding-top: 10px;
+	   
+	}
+	.ntgs{
+	position: relative;
+		background-color: #fff;
+		padding: 5px;
+		// border-radius: 5px;
+		padding-top: 10px;
+	     padding: 10px 20px;
+		 padding-left: 10px;
+		.pagination-container{
+			height: 50px;
+		}
+	}
+	.nghfs{
+	position: relative;
+		background-color: #fff;
+		padding-top: 18px !important;
+		padding: 5px;
+		// border-radius: 5px;
+		// margin-bottom: 20px;
+	}
+	.ksf{
+		img{
+			width:100%;
+			height: 100%;
+		}
+	}
+
+</style>

+ 598 - 0
ruoyi-ui/src/views/tongj/menuFood/index.vue

@@ -0,0 +1,598 @@
+<template>
+	<div class="app-container">
+		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+			label-width="140px" class="nghfs">
+			<p class="lqw" style="font-weight: 700;font-size: 15px;"> <img
+					src="../../../assets/images/icon_yq_htgl_btzs.png" alt=""
+					style="width:10px;height: 10px;margin-right: 10px;"> 搜索条件</p>
+			<el-row>
+				<el-col :span="8">
+					<el-form-item label="食谱日期" prop="menuFoodTime">
+						<el-select v-model="queryParams.menuFoodTime" placeholder="请选择食谱日期 周一" clearable>
+							<el-option v-for="dict in dict.type.week" :key="dict.value" :label="dict.label"
+								:value="dict.value" />
+						</el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="是否启用" prop="isUse">
+						<el-input v-model="queryParams.isUse" placeholder="请输入是否启用" clearable
+							@keyup.enter.native="handleQuery" />
+					</el-form-item>
+				</el-col>
+				<el-col :span="6">
+					<el-form-item>
+						<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+						<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<div class="ntgs">
+			<div style="display: flex;align-items: center; margin-bottom: 10px;">
+				<p class="lqw" style="font-weight: 700;font-size: 15px; margin: 0; margin-bottom: 0;"> <img
+						src="../../../assets/images/icon_yq_htgl_btzs.png" alt=""
+						style="width:10px;height: 10px;margin-right: 10px;"> 食谱配置</p>
+				<el-row :gutter="10" class="mb8">
+					<el-col :span="1.5">
+						<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+							v-hasPermi="['system:menuFood:add']">新增</el-button>
+					</el-col>
+					
+					<el-col :span="1.5">
+						<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+							v-hasPermi="['system:menuFood:export']">导出</el-button>
+					</el-col>
+					<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+				</el-row>
+			</div>
+             
+			 <div>
+				 <div>
+					 <el-row :gutter="20" v-if="menuFoodList.length !=0">
+						 <el-col :span="8" v-for="(item,index) in menuFoodList" :key="index" style="margin-bottom: 20px;">
+							 <div class="foord">
+								<div class="foorso" style="height: 60px;">
+									<p ><span style="margin-right: 10px;"></span><dict-tag :options="dict.type.week" :value="item.menuFoodTime" /></p>
+									<el-switch
+									  v-model="item.isUse"
+									  active-value="Y"
+									  inactive-value="N"
+									  @change="handleStatusChange(item)"
+									></el-switch>
+								</div> 
+								<div style="border-bottom: 1px solid #DADADA;padding-top: 15px;padding-bottom: 15px;" class="foorset">
+									<div>
+										<span>午餐:</span><p>{{item.menuFoodDetailLu == null?'暂无数据' : item.menuFoodDetailLu}}</p>
+									</div>
+									<div>
+										<span style="color: #28C529;">晚餐:</span><p>{{item.menuFoodDetailDi == null?'暂无数据' : item.menuFoodDetailDi}}</p>
+									</div>
+								</div>
+								<div style="display: flex;align-items: center;height: 40px;">
+									<p @click="handleDelete(item)"
+							v-hasPermi="['system:menuFood:remove']" style="flex:1;line-height: 40px; text-align: center; border-right: 1px solid #DADADA;color: #FF6969;font-weight: bold;font-size: 14px;">删除</p>
+									<p  @click="handleUpdate(item)"
+							v-hasPermi="['system:menuFood:edit']" style="flex:1;line-height: 40px;text-align: center;color: #5F8BF4;font-weight: bold;font-size: 14px;">修改</p>
+								</div>
+							 </div>
+						 </el-col>
+					 </el-row>
+					 <div v-if="menuFoodList.length ==0">
+						 <el-empty description="暂无数据"></el-empty>
+					 </div>
+				 </div>
+			 </div>
+			<!-- <el-table v-loading="loading" :data="menuFoodList" @selection-change="handleSelectionChange">
+				<el-table-column type="selection" width="55" align="center" />
+				<el-table-column label="食谱日期" align="center" prop="menuFoodTime">
+					<template slot-scope="scope">
+						<dict-tag :options="dict.type.week" :value="scope.row.menuFoodTime" />
+					</template>
+				</el-table-column>
+				<el-table-column label="食谱早餐详情" align="center" prop="menuFoodDetailBk" />
+				<el-table-column label="食谱中餐详情" align="center" prop="menuFoodDetailLu" />
+				<el-table-column label="食谱晚餐详情" align="center" prop="menuFoodDetailDi" />
+				<el-table-column label="是否启用" align="center"  >
+				  <template slot-scope="scope">
+				    <el-switch
+				      v-model="scope.row.isUse"
+				      active-value="Y"
+				      inactive-value="N"
+				      @change="handleStatusChange(scope.row)"
+				    ></el-switch>
+				  </template>
+				</el-table-column>
+				<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+					<template slot-scope="scope">
+						<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+							v-hasPermi="['system:menuFood:edit']">修改</el-button>
+						<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+							v-hasPermi="['system:menuFood:remove']">删除</el-button>
+					</template>
+				</el-table-column>
+			</el-table> -->
+
+			<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum"
+				:limit.sync="queryParams.pageSize" @pagination="getList" />
+		</div>
+
+		<!-- 添加或修改每日食谱对话框 -->
+		<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
+			<el-form ref="form" :model="form" :rules="rules" label-width="110px">
+				<el-row>
+					<!-- <el-col :span="24">
+						<el-form-item multiple  label="食谱日期" prop="menuFoodTime">
+							<el-select v-model="form.menuFoodTime" placeholder="请选择食谱日期 周一">
+								<el-option v-for="dict in dict.type.week" :key="dict.value" :label="dict.label"
+									:value="dict.value"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col> -->
+					<el-col :span="24" v-for="(item,index) in  forlise" :key="index" v-if="ishoexx">
+						<div style="margin-bottom: 15px; font-weight: bold;font-size: 16px;color: #0391FD;display: flex;align-items: center;">
+							<span style="width: 8px;height: 8px;background: #0391FD;border-radius: 50%;margin-right: 10px;"></span> {{item.menuFoodTime}}</div>
+						<el-col :span="12">
+							<el-form-item label="午餐食谱" >
+								<el-input type="textarea"  v-model="item.menuFoodDetailLu" placeholder="请输入是午餐食谱,用“,”隔开…" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="12">
+							<el-form-item label="晚餐食谱" >
+								<el-input type="textarea"  v-model="item.menuFoodDetailDi" placeholder="请输入是晚餐食谱,用“,”隔开…" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="24">
+							<el-form-item label="是否启用" >
+								<el-radio-group v-model="item.isUse">
+								  <el-radio
+								    v-for="dict in dict.type.sys_yes_no"
+								    :key="dict.value"
+								    :label="dict.value"
+								  >{{dict.label}}</el-radio>
+								</el-radio-group>
+								
+							</el-form-item>
+						</el-col>
+					</el-col>
+					<el-col :span="24"  v-if="!ishoexx">
+						<div style="margin-bottom: 15px; font-weight: bold;font-size: 16px;color: #0391FD;display: flex;align-items: center;">
+							<span style="width: 8px;height: 8px;background: #0391FD;border-radius: 50%;margin-right: 10px;"></span> {{form.menuFoodTime}}</div>
+						<el-col :span="24">
+							<el-form-item label="午餐食谱" >
+								<el-input type="textarea"  v-model="form.menuFoodDetailLu" placeholder="请输入是午餐食谱,用“,”隔开…" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="24">
+							<el-form-item label="晚餐食谱" >
+								<el-input type="textarea"  v-model="form.menuFoodDetailDi" placeholder="请输入是晚餐食谱,用“,”隔开…" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="24">
+							<el-form-item label="是否启用" >
+								<el-radio-group v-model="form.isUse">
+								  <el-radio
+								    v-for="dict in dict.type.sys_yes_no"
+								    :key="dict.value"
+								    :label="dict.value"
+								  >{{dict.label}}</el-radio>
+								</el-radio-group>
+								
+							</el-form-item>
+						</el-col>
+					</el-col>
+					
+					
+				</el-row>
+
+				<!-- <el-form-item label="备注" prop="remark">
+					<el-input v-model="form.remark" placeholder="请输入备注" />
+				</el-form-item> -->
+			</el-form>
+			<div slot="footer" class="dialog-footer">
+				<el-button type="primary" @click="submitForm">确 定</el-button>
+				<el-button @click="cancel">取 消</el-button>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	import {
+		listMenuFood,
+		getMenuFood,
+		delMenuFood,
+		addMenuFood,
+		updateMenuFood
+	} from "@/api/system/menuFood";
+
+	export default {
+		name: "MenuFood",
+		dicts: ['week','sys_yes_no'],
+		data() {
+			return {
+				// 遮罩层
+				loading: true,
+				// 选中数组
+				ids: [],
+				// 非单个禁用
+				single: true,
+				// 非多个禁用
+				multiple: true,
+				// 显示搜索条件
+				showSearch: true,
+				// 总条数
+				total: 0,
+				// 每日食谱表格数据
+				menuFoodList: [],
+				// 弹出层标题
+				title: "",
+				// 是否显示弹出层
+				open: false,
+				// 查询参数
+				queryParams: {
+					pageNum: 1,
+					pageSize: 9,
+					menuFoodTime: null,
+					menuFoodDetailBk: null,
+					menuFoodDetailLu: null,
+					menuFoodDetailDi: null,
+					canteenName: null,
+					isUse: null,
+				},
+				// 表单参数
+				form: {},
+				// 表单校验
+				rules: {},
+				forlise:[],
+				lsgsi:[],
+				ishoexx:false
+				
+			};
+		},
+		created() {
+			this.forlise = []
+			for(var i=0 ; i < 7; i++){
+				let nhe={menuFoodDetailLu:null,week:i+1,menuFoodDetailDi:null,isUse:'Y',menuFoodTime:null}
+				if(i == 1){
+						nhe.menuFoodTime ='星期一'
+					}else if(i == 2){
+						nhe.menuFoodTime ='星期二'
+					}else if(i == 3){
+						nhe.menuFoodTime ='星期三'
+					}else if(i == 4){
+						nhe.menuFoodTime ='星期四'
+					}else if(i == 5){
+						nhe.menuFoodTime ='星期五'
+					}else if(i == 6){
+						nhe.menuFoodTime ='星期六'
+					}else if(i == 6){
+						nhe.menuFoodTime ='星期日'
+					}
+				this.forlise.push(nhe)
+			}
+			this.getList();
+		},
+		methods: {
+			/** 查询每日食谱列表 */
+			getList() {
+				this.loading = true;
+				listMenuFood(this.queryParams).then(response => {
+					this.menuFoodList = response.rows;
+					this.total = response.total;
+					this.loading = false;
+				});
+			},
+			// 取消按钮
+			cancel() {
+				this.open = false;
+				this.reset();
+			},
+			// 表单重置
+			reset() {
+				this.form = {
+					menuFoodId: null,
+					menuFoodTime: null,
+					menuFoodType: null,
+					menuFoodDetailBk: null,
+					menuFoodDetailLu: null,
+					menuFoodDetailDi: null,
+					canteenName: null,
+					canteenId: null,
+					isUse: null,
+					createDept: null,
+					createBy: null,
+					createTime: null,
+					updateBy: null,
+					updateTime: null,
+					remark: null
+				};
+				this.resetForm("form");
+			},
+			/** 搜索按钮操作 */
+			handleQuery() {
+				this.queryParams.pageNum = 1;
+				this.getList();
+			},
+			/** 重置按钮操作 */
+			resetQuery() {
+				this.resetForm("queryForm");
+				this.handleQuery();
+			},
+			// 多选框选中数据
+			handleSelectionChange(selection) {
+				this.ids = selection.map(item => item.menuFoodId)
+				this.single = selection.length !== 1
+				this.multiple = !selection.length
+			},
+			/** 新增按钮操作 */
+			handleAdd() {
+				this.reset();
+				this.open = true;
+				this.forlise = []
+				for(var i=0 ; i < 7; i++){
+					let nhe={menuFoodDetailLu:null,week:i+1,menuFoodDetailDi:null,isUse:'Y',menuFoodTime:null}
+					if(i == 0){
+							nhe.menuFoodTime ='星期一'
+						}else if(i == 1){
+							nhe.menuFoodTime ='星期二'
+						}else if(i == 2){
+							nhe.menuFoodTime ='星期三'
+						}else if(i == 3){
+							nhe.menuFoodTime ='星期四'
+						}else if(i == 4){
+							nhe.menuFoodTime ='星期五'
+						}else if(i == 5){
+							nhe.menuFoodTime ='星期六'
+						}else if(i == 6){
+							nhe.menuFoodTime ='星期日'
+						}
+					this.forlise.push(nhe)
+				}
+				console.log(this.forlise)
+				this.ishoexx = true
+				this.title = "添加每日食谱";
+			},
+			// 用户状态修改
+			handleStatusChange(row) {
+			  let text = row.isUse == "Y" ? "启用" : "停用";
+			  this.$modal.confirm('确认要"' + text + '""' + row.menuFoodTime + '"食谱吗?').then(function() {
+			    return updateMenuFood(row);
+			  }).then(() => {
+			    this.$modal.msgSuccess(text + "成功");
+			  }).catch(function() {
+			    row.isUse = row.isUse === "Y" ? "N" : "Y";
+			  });
+			},
+			/** 修改按钮操作 */
+			handleUpdate(row) {
+				this.reset();
+				const menuFoodId = row.menuFoodId || this.ids
+				getMenuFood(menuFoodId).then(response => {
+					this.form = response.data;
+					this.ishoexx = false
+					this.open = true;
+					this.title = "修改每日食谱";
+				});
+			},
+			/** 提交按钮 */
+			submitForm() {
+				this.$refs["form"].validate(valid => {
+					if (valid) {
+						if (this.form.menuFoodId != null) {
+							if(this.form.menuFoodDetailLu == null || this.form.menuFoodDetailLu ==''){
+								if(this.form.menuFoodDetailDi == null || this.form.menuFoodDetailDi ==''){
+									this.$message.error('请添加信息');
+									return
+								}
+							}
+							console.log(this.form)
+							// return
+							updateMenuFood(this.form).then(response => {
+								this.$modal.msgSuccess("修改成功");
+								this.open = false;
+								this.getList();
+							});
+						} else {
+							this.lsgsi = []
+							this.lsgsi = this.forlise
+							let ns=[]
+							let nsgli = []
+							console.log(this.forlise)
+							for(var i=0; i< this.lsgsi.length; i++){
+								if(this.lsgsi[i].menuFoodDetailLu != null && this.lsgsi[i].menuFoodDetailLu != ''){
+									nsgli.push(this.lsgsi[i])
+									console.log(this.lsgsi[i],2)
+								}else{
+									if(this.lsgsi[i].menuFoodDetailDi != null && this.lsgsi[i].menuFoodDetailDi != ''){
+										nsgli.push(this.lsgsi[i])
+										console.log(this.lsgsi[i],3)
+									}
+								}
+								
+							}
+							if(nsgli.length == 0){
+								this.$message.error('请添加信息');
+								return
+							}
+							let nsgs= {'menuFoodList':nsgli}
+							addMenuFood(nsgs).then(response => {
+								this.$modal.msgSuccess("新增成功");
+								this.open = false;
+								this.getList();
+							});
+						}
+					}
+				});
+			},
+			/** 删除按钮操作 */
+			handleDelete(row) {
+				const menuFoodIds = row.menuFoodId || this.ids;
+				this.$modal.confirm('是否确认删除数据项?').then(function() {
+					return delMenuFood(menuFoodIds);
+				}).then(() => {
+					this.getList();
+					this.$modal.msgSuccess("删除成功");
+				}).catch(() => {});
+			},
+			/** 导出按钮操作 */
+			handleExport() {
+				this.download('system/menuFood/export', {
+					...this.queryParams
+				}, `menuFood_${new Date().getTime()}.xlsx`)
+			}
+		}
+	};
+</script>
+<style lang="scss">
+	.nhgrls {
+		.el-dialog__body {
+			padding: 0;
+		}
+	}
+
+	.hyr {
+		span {
+			text-decoration: underline;
+		}
+	}
+</style>
+<style scoped lang="scss">
+	.ingq {
+		p {
+			margin: 0;
+		}
+	}
+
+	.iuer {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		.ite {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			p {
+				margin: 0;
+				font-size: 15px;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #AAAAAA;
+				padding: 4px 12px;
+				background: #F7F8FA;
+				border-radius: 4px;
+				margin-right: 20px;
+			}
+
+			.actt {
+				background: #E6EBFF;
+				border: 1px solid #5974E0;
+				border-radius: 4px;
+				color: #5974E0;
+			}
+
+		}
+	}
+
+	.lqw {
+		padding: 0 10px;
+		margin: 0;
+		margin-bottom: 20px;
+	}
+
+	.nhgel {
+		height: 170px;
+		background-color: #313b61;
+		width: 100%;
+		position: absolute;
+		top: 0;
+		left: 0;
+		z-index: 0;
+	}
+
+	.app-container {
+		background-color: #f3f4f6;
+		padding-top: 10px;
+
+	}
+
+	.ntgs {
+		position: relative;
+		background-color: #fff;
+		padding: 5px;
+		// border-radius: 5px;
+		padding-top: 10px;
+		padding: 10px 20px;
+		padding-left: 10px;
+
+		.pagination-container {
+			height: 50px;
+		}
+	}
+
+	.nghfs {
+		position: relative;
+		background-color: #fff;
+		padding-top: 18px !important;
+		padding: 5px;
+		// border-radius: 5px;
+		// margin-bottom: 20px;
+	}
+
+	.ksf {
+		img {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.foord{
+		background: #FFFFFF;
+		box-shadow: 0px 0px 10px 0px #CDCDCD;
+		border-radius: 4px;
+		.foorso{
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			border-bottom: 1px solid #DADADA;
+			padding: 0 10px;
+			
+			p{
+				display: flex;
+				font-weight: 800;
+				font-size: 16px;
+				color: #161616;
+				align-items: center;
+				span{
+					width: 8px;
+					height: 8px;
+					background: #4775EA;
+					border-radius: 50%;
+				}
+			}
+		}
+		.foorset{
+			div{
+				display: flex;
+				align-items: flex-start;
+				justify-content: flex-start;
+				padding: 0 10px;
+				span{
+					width: 22%;
+					font-weight: bold;
+					font-size: 14px;
+					color: #FE5A0E;
+				}
+				p{
+					flex:1;
+					margin-top: 0;
+					font-weight: bold;
+					font-size: 14px;
+					color: #606266;
+				}
+			}
+		}
+	}
+</style>

+ 15 - 3
ruoyi-ui/src/views/tongj/order/index.vue

@@ -186,7 +186,7 @@
 				  </div>
 				  <div style="background: #F0F8FE;border-radius: 10px; padding: 10px; margin-top: 20px;">
 					  <p style="font-weight: bold;font-size: 14px;color: #161616;"> <img src="../../../assets/images/icon_htgl_hyyy_3y.png" alt="" style="width: 16px;height: 16px; margin-right: 10px;">已预约时间段,以下时间段不可预约。</p>
-					  <div style="display: flex; flex-wrap: wrap;" v-if="lisget != null || lisget.length != 0 ">
+					  <div style="display: flex; flex-wrap: wrap;" v-if="lisget != null && lisget.length != 0 " >
 						  <div style="width: 50%; display: flex;align-items: center;"  v-for="(item,index) in lisget" :key="index">
 						  						  <p style="width: 6px;height: 6px;background: #FFB132;border-radius: 3px;margin-right: 10px;"></p>
 						  						  <p style="font-weight: bold;font-size: 14px;color: #161616;">{{item.startTime}}  </p>
@@ -269,6 +269,12 @@
 		  			  	  <el-input v-model="form.remark" placeholder="请输入会议说明" />
 		  			  	</el-form-item>			  
 		  			  </el-col>
+					  <el-col :span="24">
+					  	<el-form-item label="席卡详情" prop="xkDetail">
+					  	  <el-input v-model="form.xkDetail" placeholder="请输入席卡详情" />
+					  	</el-form-item>			  
+					  </el-col>
+					  
 		  </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -373,8 +379,10 @@ export default {
 		this.issid = this.orderListg[0].conferenceRoomId  
 		if(this.orderListg[0].conferenceRoomOrderList == null){
 			this.orderListg[0].conferenceRoomOrderList = []	  
+			this.lisget = []
+		}else{
+			this.lisget = this.orderListg[0].conferenceRoomOrderList 
 		}
-		this.lisget = this.orderListg[0].conferenceRoomOrderList 
 		this.conferenceRoomName = this.orderListg[0].conferenceRoomName
 		this.conferenceRoomAddress = this.orderListg[0].conferenceRoomAddress
 	  }
@@ -427,7 +435,8 @@ export default {
         updateBy: null,
         updateTime: null,
         remark: null,
-		useXk:'Y'
+		useXk:'Y',
+		xkDetail:null
       };
       this.resetForm("form");
     },
@@ -443,6 +452,9 @@ export default {
     },
 	iskbw(val){
 		this.issid = val.conferenceRoomId
+		if(val.conferenceRoomOrderList == null){
+			val.conferenceRoomOrderList = []	  
+		}
 		this.lisget = val.conferenceRoomOrderList
 		this.conferenceRoomName = val.conferenceRoomName
 		this.conferenceRoomAddress = val.conferenceRoomAddress

+ 16 - 4
ruoyi-ui/src/views/tongj/orderme/index.vue

@@ -186,7 +186,7 @@
 				  </div>
 				  <div style="background: #F0F8FE;border-radius: 10px; padding: 10px; margin-top: 20px;">
 					  <p style="font-weight: bold;font-size: 14px;color: #161616;"> <img src="../../../assets/images/icon_htgl_hyyy_3y.png" alt="" style="width: 16px;height: 16px; margin-right: 10px;">已预约时间段,以下时间段不可预约。</p>
-					  <div style="display: flex; flex-wrap: wrap;" v-if="lisget != null || lisget.length != 0 ">
+					  <div style="display: flex; flex-wrap: wrap;" v-if="lisget != null && lisget.length != 0 " >
 						  <div style="width: 50%; display: flex;align-items: center;"  v-for="(item,index) in lisget" :key="index">
 						  						  <p style="width: 6px;height: 6px;background: #FFB132;border-radius: 3px;margin-right: 10px;"></p>
 						  						  <p style="font-weight: bold;font-size: 14px;color: #161616;">{{item.startTime}}  </p>
@@ -269,6 +269,12 @@
 		  			  	  <el-input v-model="form.remark" placeholder="请输入会议说明" />
 		  			  	</el-form-item>			  
 		  			  </el-col>
+					  <el-col :span="24">
+					  	<el-form-item label="席卡详情" prop="xkDetail">
+					  	  <el-input v-model="form.xkDetail" placeholder="请输入席卡详情" />
+					  	</el-form-item>			  
+					  </el-col>
+					  
 		  </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -309,7 +315,7 @@ export default {
       // 查询参数
       queryParams: {
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 7,
         orderUser: null,
         orderUserId: null,
         conferenceRoomId: null,
@@ -374,8 +380,10 @@ export default {
 		this.issid = this.orderListg[0].conferenceRoomId  
 		if(this.orderListg[0].conferenceRoomOrderList == null){
 			this.orderListg[0].conferenceRoomOrderList = []	  
+			this.lisget = []
+		}else{
+			this.lisget = this.orderListg[0].conferenceRoomOrderList 
 		}
-		this.lisget = this.orderListg[0].conferenceRoomOrderList 
 		this.conferenceRoomName = this.orderListg[0].conferenceRoomName
 		this.conferenceRoomAddress = this.orderListg[0].conferenceRoomAddress
 	  }
@@ -428,7 +436,8 @@ export default {
         updateBy: null,
         updateTime: null,
         remark: null,
-		useXk:'Y'
+		useXk:'Y',
+		xkDetail:null
       };
       this.resetForm("form");
     },
@@ -444,6 +453,9 @@ export default {
     },
 	iskbw(val){
 		this.issid = val.conferenceRoomId
+		if(val.conferenceRoomOrderList == null){
+			val.conferenceRoomOrderList = []	  
+		}
 		this.lisget = val.conferenceRoomOrderList
 		this.conferenceRoomName = val.conferenceRoomName
 		this.conferenceRoomAddress = val.conferenceRoomAddress

+ 11 - 7
ruoyi-ui/src/views/tongj/record/index.vue

@@ -135,14 +135,18 @@
       <el-table-column type="selection" width="55" align="center" />
       <!-- <el-table-column label="打卡记录id" align="center" prop="clockId" />
       <el-table-column label="人员ID" align="center" prop="userId" /> -->
-      <el-table-column label="所属部门名称" align="center" prop="deptName" />
+      <!-- <el-table-column label="所属部门名称" align="center" prop="deptName" /> -->
       <el-table-column label="人员姓名" align="center" prop="userName" />
       <el-table-column label="手机号码" align="center" prop="phonenumber" />
-      <el-table-column label="人员身份证号" align="center" prop="idCard" />
-      <el-table-column label="打卡记录日期" align="center" prop="recordTime" />
-      <el-table-column label="上班打卡时间" align="center" prop="workingTime" />
-      <el-table-column label="下班打卡时间" align="center" prop="dutyTime" />
-      <el-table-column label="是否打卡" align="center" prop="type" />
+      <!-- <el-table-column label="人员身份证号" align="center" prop="idCard" /> -->
+	  <el-table-column label="周几" align="center" prop="week">
+	    <template slot-scope="scope">
+	      <dict-tag :options="dict.type.week" :value="scope.row.week"/>
+	    </template>
+	  </el-table-column>
+      <el-table-column label="打卡记录时间" align="center" prop="recordDt" />
+     <!-- <el-table-column label="上班打卡时间" align="center" prop="workingTime" />
+      <el-table-column label="下班打卡时间" align="center" prop="dutyTime" /> -->
 	  <el-table-column label="是否打卡" align="center" prop="type">
 	    <template slot-scope="scope">
 	      <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.type"/>
@@ -221,7 +225,7 @@ import { listRecord, getRecord, delRecord, addRecord, updateRecord } from "@/api
 
 export default {
   name: "Record",
-  dicts: ['sys_yes_no'],
+  dicts: ['sys_yes_no','week'],
   data() {
     return {
       // 遮罩层

+ 40 - 21
ruoyi-ui/src/views/tongj/shebe/index.vue

@@ -65,7 +65,29 @@
 	<div>
 		<el-row>
 			<el-col :span="24">
-				<div class='shotw' style="margin-bottom: 30px; text-align: center;">
+				<div class='shotw isjses' style="margin-bottom: 30px; ">
+					<el-col :span='4'>
+						<el-tabs v-model="editableTabsValue" :tab-position="tabPosition" style="height: 500px;">
+						    <el-tab-pane v-for="(item,index) in postList" :key="index">
+							<span slot="label"  @click="isfgw(item)" class="ingwfaq"><img src="../../../assets/images/icon_yqht_ssjk_lb_normal.png" alt="" style="width: 14px;height: 16px;"> {{item.name}}</span>
+							</el-tab-pane>
+						  </el-tabs>
+					</el-col>
+					<el-col :span='20' style="padding-left: 30px;">
+						<video
+						      class="videosmall"
+						      ref="videosmallone"
+						      preload="auto"
+						      muted
+						      autoplay
+							  width="95%"
+							  
+						      type="rtmp/flv"
+						    >
+						      <source src="" />
+						    </video>
+					</el-col>
+					    
 						 <!-- <div class="nghwgq" v-if="!isshiwa">
 							  <img src="../../../assets/images/jiaz.png" alt="" style="width: 90px;height: 86px;">
 							  <div>加载中,请稍后</div>
@@ -78,38 +100,22 @@
 						          width="100%"
 						          height="300px"
 						        /> -->
-								<video
-								      class="videosmall"
-								      ref="videosmallone"
-								      preload="auto"
-								      muted
-								      autoplay
-									  width="95%"
-									  
-								      type="rtmp/flv"
-								    >
-								      <source src="" />
-								    </video>
+								
 								
 						  <!-- <p class='p'>南大门出入口</p> -->
 				</div> 
 			</el-col>
-			<el-col :span="24">
+			<!-- <el-col :span="24">
 				<div class="ihgswq wrapper"  ref="wrapper" style=" overflow: hidden;">
 						  <div class="fijge content nhgwesvq" ref="content" style="width:1610px;">
-							  <!-- <el-row :gutter="20"> -->
-								  <!-- <el-col  :span="8"> -->
 									<div class='shotw '   v-for="(item,index) in postList" :key="index" @click="isfgw(item)" >
 											  <img src="../../../assets/images/fengm.png" alt=""> 
 												<img src="../../../assets/images/icon_spjk_play.png" alt="" class="iges"> 
 											  <p style="font-size: 14px;">{{item.name}}</p>
 									</div>  
-								  <!-- </el-col> -->
-							  <!-- </el-row> -->
-						  		   
 						  </div> 
 				</div>
-			</el-col>
+			</el-col> -->
 		</el-row>
 	   
 	   
@@ -246,6 +252,7 @@ export default {
 	  opent:false,
 	  bg:null,
     titles:'',
+	editableTabsValue:'5',
     opens:false,
 	  imageUrl:'@/assets/logo/logo.png',
 	  printObj: {
@@ -265,6 +272,7 @@ export default {
       single: true,
 	  checkedScoreDataDetails: [],
 	  scoreDataDetailsList:[],
+	  tabPosition:'left',
       // 非多个禁用
       multiple: true,
       // 显示搜索条件
@@ -866,6 +874,14 @@ export default {
 </script>
 
 <style lang="scss">
+	.isjses{
+		.el-tabs--left .el-tabs__nav-wrap.is-left::after{
+			width:6px;
+		}
+		.el-tabs--left .el-tabs__active-bar.is-left,{
+			width:6px;
+		}
+	}
 	.ingaqe{
 		.el-input--medium{
 			width:100%;
@@ -1080,5 +1096,8 @@ export default {
 			height: 100%;
 		}
 	}
-
+   .ingwfaq{
+	   font-weight: bold;
+	   font-size: 16px;
+   }
 </style>