Browse Source

疫情防疫

张值绫 3 years ago
parent
commit
502fe99be4

BIN
src/assets/images/zaoquan/yiqing/列表.png


BIN
src/assets/images/zaoquan/yiqing/头图.png


BIN
src/assets/images/zaoquan/yiqing/定位.png


BIN
src/assets/images/zaoquan/yiqing/定位小.png


BIN
src/assets/images/zaoquan/yiqing/日期.png


BIN
src/assets/images/zaoquan/yiqing/核酸.png


BIN
src/assets/images/zaoquan/yiqing/椭圆.png


BIN
src/assets/images/zaoquan/yiqing/测温.png


BIN
src/assets/images/zaoquan/yiqing/疫苗.png


+ 28 - 0
src/plugins/map.js

@@ -0,0 +1,28 @@
+/**
+ * 高德地图定位
+ * @type {{}}
+ */
+ export const location =  {
+    initMap(id){
+      let mapObj = new AMap.Map(id, {})
+      let geolocation;
+      mapObj.plugin(['AMap.Geolocation'], function () {
+          geolocation = new AMap.Geolocation({
+          enableHighAccuracy: true, //  是否使用高精度定位,默认:true
+          timeout: 10000, //  超过10秒后停止定位,默认:无穷大
+          maximumAge: 0, // 定位结果缓存0毫秒,默认:0
+          convert: true, // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
+          showButton: true, //  显示定位按钮,默认:true
+          buttonPosition: 'LB',  // 定位按钮停靠位置,默认:'LB',左下角
+          buttonOffset: new AMap.Pixel(10, 20), //  定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
+          showMarker: true, //  定位成功后在定位到的位置显示点标记,默认:true
+          showCircle: true, //  定位成功后用圆圈表示定位精度范围,默认:true
+          panToLocation: true,  //  定位成功后将定位到的位置作为地图中心点,默认:true
+          zoomToAccuracy: true  //  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
+        })
+        mapObj.addControl(geolocation)
+        geolocation.getCurrentPosition()
+      })
+      return geolocation;
+    }
+  }

+ 33 - 0
src/plugins/url-encapsulation.js

@@ -0,0 +1,33 @@
+export const getAllUrlParams=(url)=> {
+    var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
+    var obj = {};
+    if (queryString) {
+      queryString = queryString.split('#')[0];
+      var arr = queryString.split('&');
+      for (var i = 0; i < arr.length; i++) {
+        var a = arr[i].split('=');
+        var paramNum = undefined;
+        var paramName = a[0].replace(/\[\d*\]/, function (v) {
+          paramNum = v.slice(1, -1);
+          return '';
+        });
+        // 设置参数值(如果为空则设置为true)
+        var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
+        // paramName = paramName.toLowerCase();
+        // paramValue = paramValue.toLowerCase();
+        if (obj[paramName]) {
+          if (typeof obj[paramName] === 'string') {
+            obj[paramName] = [obj[paramName]];
+          }
+          if (typeof paramNum === 'undefined') {
+            obj[paramName].push(paramValue);
+          } else {
+            obj[paramName][paramNum] = paramValue;
+          }
+        } else {
+          obj[paramName] = paramValue;
+        }
+      }
+    }
+    return obj;
+  }

+ 19 - 1
src/router/index.js

@@ -94,10 +94,28 @@ const routes = [
       title:'智慧拼图'
     }
   },
+  //枣泉疫情防控
+  {
+    path:"/zaoquan/yiqing/yiqing",
+    name:"yiqing",
+    component:()=>import('../views/zaoquan/yiqing/yiqing.vue'),
+    meta:{
+      title:"疫情防控"
+    }
+  },
+  //枣泉疫情防控-体温填报
+  {
+    path:"/zaoquan/yiqing/yiqing-tiwen",
+    name:"yiqing-tiwen",
+    component:()=>import('../views/zaoquan/yiqing/yiqing-tiwen.vue'),
+    meta:{
+      title:"体温填报"
+    }
+  },
   //路由重定向
   {
     path:'/',
-    redirect:{"name":"puzzles"}
+    redirect:{"name":"yiqing"}
   }
 ]
 

File diff suppressed because it is too large
+ 4 - 2
src/views/ningdongyunying/puzzle/puzzles.vue


+ 231 - 0
src/views/zaoquan/yiqing/yiqing-tiwen.vue

@@ -0,0 +1,231 @@
+<template>
+  <div>
+    <van-nav-bar title="体温填报" left-text="返回" left-arrow>
+      <template #right>
+        <van-icon name="records" size="18" />
+      </template>
+    </van-nav-bar>
+    <div class="contents">
+      <form>
+        <!-- <div class="contents_one">
+          <img src="../../../assets/images/zaoquan/yiqing/定位.png" alt="" />
+          <p>宁夏自治区灵武市枣泉煤矿东大门</p>
+          <input type="button" value="重新定位" />
+        </div> -->
+        <div class="contents_two">
+          <van-cell-group>
+            <van-cell title="姓名" :value="name" />
+            <van-cell title="部门" :value="department" />
+          </van-cell-group>
+        </div>
+        <div class="contents_three">
+          <label for="tiwen">体温</label>
+          <input
+            type="text"
+            name="tiwen"
+            placeholder="请输入35.0~42.0"
+            dir="rtl"
+            size="14"
+          />
+        </div>
+        <div class="contents_four">
+          <label for="yimiao">是否接种疫苗</label>
+          <div>
+            <input
+              type="radio"
+              name="yimiao"
+              value="是"
+              checked
+              @click="reasons2"
+            />是
+            <input type="radio" name="yimiao" value="否" @click="reasons" />否
+          </div>
+        </div>
+        <div class="contents_four">
+          <label for="hesuan">是否做过核酸检测</label>
+          <div>
+            <input type="radio" name="hesuan" value="是" />是
+            <input type="radio" name="hesuan" value="否" checked />否
+          </div>
+        </div>
+      </form>
+    </div>
+    <div class="contents" v-show="reason">
+      <p class="contents_five">未接种疫苗原因</p>
+      
+      <textarea class="contents_five">
+        我暂时也不知道 我暂时也不知道 我暂时也不知道 我暂时也不知道
+        我暂时也不知道
+      </textarea>
+    </div>
+    <div class="buttons">
+      <button @click="Submits">提交</button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { location } from "../../../plugins/map.js";
+export default {
+  data() {
+    return {
+      name: "职工姓名",
+      department: "部门名称",
+      reason: true,
+    };
+  },
+  methods: {
+    /**获取地图定位*/
+    getLocation() {
+      let _that = this;
+      let geolocation = location.initMap("map-container"); //定位
+      AMap.event.addListener(geolocation, "complete", (result) => {
+        _that.lat = result.position.lat;
+        _that.lng = result.position.lng;
+        _that.province = result.addressComponent.province;
+        _that.city = result.addressComponent.city;
+        _that.district = result.addressComponent.district;
+      });
+    },
+    reasons() {
+      // this.reason=true
+    },
+    reasons2() {
+      // this.reason=false
+    },
+    Submits(){
+        console.log(this.name);
+    }
+  },
+  mounted() {
+    document.body.style.backgroundColor = "#39f"; //背景色
+    // this.getLocation();
+  },
+};
+</script>
+
+<style scoped>
+>>> .van-nav-bar {
+  background: #39f;
+}
+>>> .van-nav-bar__title {
+  color: #fff;
+}
+>>> .van-nav-bar .van-icon {
+  color: #fff;
+}
+>>> .van-nav-bar__text {
+  color: #fff;
+}
+[class*="van-hairline"]:after {
+  border: none;
+}
+.contents1 {
+  width: 95%;
+  margin: 0 auto 10px;
+  background: #fff;
+  border-radius: 10px;
+  border: 1px solid transparent;
+  text-align: center;
+}
+.contents {
+  width: 95%;
+  margin: 0 auto 10px;
+  background: #fff;
+  border-radius: 10px;
+  border: 1px solid transparent;
+}
+.contents_one {
+  width: 95%;
+  margin: 5px auto;
+  padding-bottom: 10px;
+  display: flex;
+  justify-content: left;
+  border-bottom: 1px solid #f0f0f0;
+}
+.contents_one > img {
+  width: 40px;
+  height: 40px;
+}
+.contents_one > p {
+  width: 194px;
+  font-size: 14px;
+  margin-left: 15px;
+  color: #00a1e9;
+}
+.contents_one > input {
+  border: none;
+  width: 77px;
+  background: #39f;
+  color: #fff;
+  border-radius: 10px;
+  height: 27px;
+  font-size: 14px;
+  margin-top: 6px;
+  margin-left: 13px;
+}
+.contents_two {
+  width: 95%;
+  margin: 0 auto;
+  border-bottom: 1px solid #f0f0f0;
+}
+.van-cell {
+  padding: 10px 5px;
+}
+.van-cell__value {
+  color: black;
+}
+.contents_three {
+  width: 95%;
+  margin: 0 auto;
+  border-bottom: 1px solid #f0f0f0;
+  display: flex;
+  justify-content: space-between;
+  padding: 10px 5px;
+}
+.contents_three > label {
+  font-size: 14px;
+  margin-left: 4px;
+}
+.contents_three > input {
+  border: none;
+}
+input::-webkit-input-placeholder {
+  color: #969799;
+  font-size: 14px;
+  text-align: right;
+}
+.contents_four {
+  width: 95%;
+  margin: 0 auto;
+  border-bottom: 1px solid #f0f0f0;
+  display: flex;
+  justify-content: space-between;
+  padding: 10px 5px;
+}
+.contents_four > label {
+  font-size: 14px;
+  margin-left: 4px;
+}
+.contents_five {
+  width: 95%;
+  margin: 0 auto;
+  font-size: 14px;
+  margin-left: 4px;
+  border-bottom: 1px solid #f0f0f0;
+  padding: 10px 5px;
+  border: none;
+}
+.buttons {
+  text-align: center;
+  margin: 25px auto;
+}
+.buttons > button {
+  width: 80%;
+  height: 40px;
+  border: none;
+  background: #fff;
+  color: #39f;
+  border-radius: 10px;
+}
+</style>

+ 162 - 0
src/views/zaoquan/yiqing/yiqing.vue

@@ -0,0 +1,162 @@
+<template>
+  <div>
+    <div v-if="shows">
+      <van-nav-bar title="疫情防控" left-arrow left-text="返回" @click-left="onClickLeft" />
+    </div>
+    <div class="headers">
+      <img src="../../../assets/images/zaoquan/yiqing/头图.png" alt="" />
+    </div>
+    <!-- 测温 -->
+    <div class="contents">
+      <div class="contents_img">
+        <img src="../../../assets/images/zaoquan/yiqing/测温.png" alt="" />
+      </div>
+      <div class="contents_text">
+        <p class="contents_text_p1">体温填报</p>
+        <p class="contents_text_p2" v-if="colors == 0">今日体温未填写</p>
+        <p class="contents_text_p3" v-else>今日体温已填写</p>
+      </div>
+      <div class="contents_button" @click="cewen">
+        <img src="../../../assets/images/zaoquan/yiqing/椭圆.png" alt="" />
+        <p>马上填写</p>
+      </div>
+    </div>
+    <!-- 疫苗接种 -->
+    <div class="contents">
+      <div class="contents_img">
+        <img src="../../../assets/images/zaoquan/yiqing/疫苗.png" alt="" />
+      </div>
+      <div class="contents_text1">
+        <p class="contents_text1_p1">疫苗接种统计</p>
+      </div>
+      <div class="contents_button" @click="yimiao">
+        <img src="../../../assets/images/zaoquan/yiqing/椭圆.png" alt="" />
+        <p>前往查看</p>
+      </div>
+    </div>
+    <!-- 核算检测 -->
+    <div class="contents">
+      <div class="contents_img">
+        <img src="../../../assets/images/zaoquan/yiqing/核酸.png" alt="" />
+      </div>
+      <div class="contents_text1">
+        <p class="contents_text1_p1">核酸检测统计</p>
+      </div>
+      <div class="contents_button" @click="hesuan">
+        <img src="../../../assets/images/zaoquan/yiqing/椭圆.png" alt="" />
+        <p>前往查看</p>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import {} from "../../../assets/images/zaoquan/yiqing/头图.png";
+export default {
+  data() {
+    return {
+      shows: true,
+      colors: 0,
+    };
+  },
+  methods: {
+      cewen(){
+        //   console.log("123");
+        this.$router.push("/zaoquan/yiqing/yiqing-tiwen")
+      },
+      yimiao(){
+          console.log("234");
+      },
+      hesuan(){
+          console.log("345");
+      }
+  },
+  mounted() {
+    document.body.style.backgroundColor = "#f4f7f7"; //背景色
+  },
+};
+</script>
+
+<style scoped>
+>>> .van-nav-bar {
+  background: #39f;
+}
+>>> .van-nav-bar__title {
+  color: #fff;
+}
+>>> .van-nav-bar .van-icon {
+  color: #fff;
+}
+>>> .van-nav-bar__text {
+  color: #fff;
+}
+[class*="van-hairline"]:after {
+  border: none;
+}
+.headers {
+  width: 100%;
+}
+.headers > img {
+  width: 100%;
+}
+.contents {
+  width: 90%;
+  height: 110px;
+  margin: 30px auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 3px 3px 0px #e4e7e7;
+  display: flex;
+  justify-content: left;
+}
+.contents_img {
+  width: 67px;
+  margin-left: 15px;
+  margin-top: 22px;
+}
+.contents_img > img {
+  width: 100%;
+}
+.contents_button {
+  width: 80px;
+  text-align: center;
+  margin-top: 39px;
+  margin-left: 20px;
+}
+.contents_button > img {
+  width: 100%;
+}
+.contents_button > p {
+  color: #fff;
+  margin-top: -30px;
+  font-size: 13px;
+}
+.contents_text {
+  width: 120px;
+  margin-top: 29px;
+  margin-left: 18px;
+}
+.contents_text_p1 {
+  font-size: 18px;
+}
+.contents_text_p2 {
+  font-size: 14px;
+  color: red;
+  margin-top: 5px;
+  font-weight: 600;
+}
+.contents_text_p3 {
+  font-size: 14px;
+  color: #59d07c;
+  margin-top: 5px;
+  font-weight: 600;
+}
+.contents_text1 {
+  width: 120px;
+  margin-top: 41px;
+  margin-left: 18px;
+}
+.contents_text1_p1 {
+  font-size: 18px;
+}
+</style>