wt 4 mēneši atpakaļ
vecāks
revīzija
ed9622f487
6 mainītis faili ar 88 papildinājumiem un 86 dzēšanām
  1. 2 2
      .env.development
  2. 2 3
      .env.production
  3. 3 3
      src/api/index.js
  4. 48 50
      src/views/fillIn.vue
  5. 25 20
      src/views/validate.vue
  6. 8 8
      vite.config.js

+ 2 - 2
.env.development

@@ -5,5 +5,5 @@ VITE_APP_TITLE = "太仓访客预约系统"
 VITE_APP_ENV = 'development'
 # # 管理系统/开发环境
 # VITE_APP_BASE_API = 'http://218.4.219.62:8083/'
-# # #websocket请求地址
-VITE_APP_WEBSOCKET_API = 'ws://172.16.120.49:9891/websocket/'
+VITE_APP_BASE_API = 'http://192.168.11.68/dev'
+# # #websocket请求地址

+ 2 - 3
.env.production

@@ -5,9 +5,8 @@ VITE_APP_TITLE = "太仓访客预约系统"
 VITE_APP_ENV = 'production'
 
 # 管理系统/生产环境
- VITE_APP_BASE_API = 'https://gateWay.usky.cn/prod-api'
+ VITE_APP_BASE_API = 'http://192.168.11.68/prod'
 # 是否在打包时开启压缩,支持 gzip 和 brotli
 VITE_BUILD_COMPRESS = gzip
 
-#websocket请求地址
-VITE_APP_WEBSOCKET_API = 'ws://gateway.usky.cn/wss'
+#websocket请求地址

+ 3 - 3
src/api/index.js

@@ -31,7 +31,7 @@ import request from "@/utils/request";
 // 新增访客(思倍云)
 export function addVisitor(data) {
     return request({
-        url: "visitor/record",
+        url: "/record",
         method: "post",
         data
     });
@@ -40,7 +40,7 @@ export function addVisitor(data) {
 // 查询访客(思倍云)
 export function getVisitor(data) {
     return request({
-        url: "visitor/query",
+        url: "/query",
         method: "post",
         data
     });
@@ -48,7 +48,7 @@ export function getVisitor(data) {
 // 访客签到(思倍云)
 export function signinoutVisitor(data) {
     return request({
-        url: "visitor/signinout",
+        url: "/signinout",
         method: "post",
         data
     });

+ 48 - 50
src/views/fillIn.vue

@@ -79,6 +79,7 @@
               <el-input
                 placeholder="请输入访客名称"
                 v-model="form.visitorPersonList[0].peopleName"
+                disabled
               ></el-input>
             </el-form-item>
           </el-col>
@@ -102,6 +103,7 @@
                   :key="item.value"
                   :label="item.label"
                   :value="item.value"
+                  disabled
                 />
               </el-select>
             </el-form-item>
@@ -171,22 +173,22 @@ const departData = ref(); //组织列表
 const phoneArray = ref([]); //人员电话号码合集
 const data = reactive({
   form: {
-    targetPeoplePhone:"13476084271",//被访人手机号
-    targetPeopleName:"阮升",//被访人姓名 .
-    visitorReasonCode:"business_talks",//来访事由编码 .
-    visitorReasonInfo:"business_talks",//来访事由 .
-    visitorNumber:"3",//来访人数 .
+    targetPeoplePhone:"",//被访人手机号 13476084271
+    targetPeopleName:"",//被访人姓名 .
+    visitorReasonCode:"",//来访事由编码 .
+    visitorReasonInfo:"",//来访事由 .
+    visitorNumber:"",//来访人数 .
     startTime:"", //开始时间 .
     endTime:"", //结束时间 .
     visitorPersonList:[
       {
-        peopleName:"王涛",//访客姓名 .
-        peoplePhone:"13127578837",//访客手机号 .
+        peopleName:"",//访客姓名 .
+        peoplePhone:"",//访客手机号 .
         sex:"",//访客性别 .
-        cardId:"341282199204020157",//证件号 .
+        cardId:"",//证件号 .
         cardType:"2",//证件类型 .
-        plates:"2",//车牌号 .
-        callerCorpName:"永天",//来访单位 .
+        plates:"",//车牌号 .
+        callerCorpName:"",//来访单位 .
         signInOutState:"non",//签到/离状态 .
       } //访客信息列表 .
     ]
@@ -209,8 +211,7 @@ const data = reactive({
   ],
   sex:[
     {label:"女",value:"woman"},
-    {label:"男",value:"man"},
-    {label:"未知",value:"unknown"},
+    {label:"男",value:"man"}
   ],
   rules: {
     targetPeopleName: [
@@ -273,18 +274,20 @@ const { form, rules, dateRange, visitorReasonCodeList, visitorReasonInfoList, se
 
 /** 身份证数据读取 */
 function getData() {
-  // timer.value = setInterval(() => {
-  //   axios
-  //     .get(
-  //       "http://127.0.0.1:24010/ZKIDROnline/ScanReadIdCardInfo?OP-DEV=1&CMD-URL=4&REPEAT=1&READTYPE=1&TIMEOUT=4"
-  //     )
-  //     .then((response) => {
-  //       form.value.visitorName = response.data.Certificate.Name;
-  //       form.value.sex = response.data.Certificate.Sex=='女'?'1':'2';
-  //       form.value.identityCardNo = response.data.Certificate.IDNumber;
-  //     })
-  //     .catch((error) => {});
-  // }, 3000);
+  timer.value = setInterval(() => {
+    axios
+      .get(
+        "http://127.0.0.1:24010/ZKIDROnline/ScanReadIdCardInfo?OP-DEV=1&CMD-URL=4&REPEAT=1&READTYPE=1&TIMEOUT=4"
+      )
+      .then((response) => {
+        if(response?.data?.Certificate){
+          form.value.visitorName = response.data.Certificate.Name;
+          form.value.sex = response.data.Certificate.Sex=='女'?'1':'2';
+          form.value.identityCardNo = response.data.Certificate.IDNumber;
+        }
+      })
+      .catch((error) => {});
+  }, 5000);
 }
 
 /** 新增访客表单提交 */
@@ -298,7 +301,7 @@ function submitForm() {
     form.value.startTime = dateRange.value[0].replace("T", " ");
     form.value.endTime = dateRange.value[1].replace("T", " ");
   }
-
+  form.value.visitorReasonCode = form.value.visitorReasonInfo
   //模拟身份证数据读取
   // form.value.visitorName = "袁明明";
   // form.value.sex = form.value.sex ='1';
@@ -307,33 +310,28 @@ function submitForm() {
 
   proxy.$refs["formRef"].validate((valid) => {
     if (valid) {
-      // form.value.sex = Number(form.value.sex);
-      // form.value.accompanyNum = Number(form.value.accompanyNum);
-      // console.log(form.value)
-      // axios
-      // .post(
-      //   "http://218.4.219.62:8083/visitor/record",form.value
-      // ).then((response) => {})
+      form.value.sex = Number(form.value.sex);
+      form.value.accompanyNum = Number(form.value.accompanyNum);
       loading.value = false;
       let a = JSON.stringify(form.value)
-      // addVisitor(a).then((requset) => {
-      //   loading.value = true;
-      //   if (requset.code == 200) {
-      //     ElMessage({
-      //       message: "访客预约申请成功,请稍后查看微信小程序推送信息",
-      //       type: "success",
-      //     });
-      //     setTimeout(function () {
-      //       formRef.value.resetFields(); //重置from校验
-      //       dateRange.value = [];
-      //       router.push({ path: "/" });
-      //     }, 2000);
-      //   } else {
-      //     ElMessage.error(requset.msg);
-      //   }
-      // }).catch((error) => {
-      //   loading.value = true;
-      // })
+      addVisitor(a).then((requset) => {
+        loading.value = true;
+        if (requset.code == 200) {
+          ElMessage({
+            message: "访客预约申请成功,请进入微信小程序查看预约审核状态及通行二维码",
+            type: "success",
+          });
+          setTimeout(function () {
+            formRef.value.resetFields(); //重置from校验
+            dateRange.value = [];
+            router.push({ path: "/" });
+          }, 2000);
+        } else {
+          ElMessage.error(requset.msg);
+        }
+      }).catch((error) => {
+        loading.value = true;
+      })
     }
   });
 }

+ 25 - 20
src/views/validate.vue

@@ -12,7 +12,8 @@
         <p v-if="!cardId">请将身份证置于读卡器上,自动获取身份证号码</p>
         <image style="width: 130px; height: 130px" src="@/assets/images/idcard.png"  v-if="!cardId" />
         <div class="VisitorsRecord" >
-          <p v-if="visitorsRecord == '查询数据为空' && visitorsRecordState"> 暂无访客记录 </p>
+          <!-- <p v-if="visitorsRecord == '查询数据为空' && visitorsRecordState"> 今日暂无预约记录 </p> -->
+          <p v-if="visitorsRecord == '查询数据为空' && visitorsRecordState && cardId || JSON.stringify(visitorsRecord) == '[]' && visitorsRecordState && cardId"> 今日暂无预约记录 </p>
           <div class="list" v-if="visitorsRecord != '查询数据为空' && visitorsRecord.length>0 && cardId ">
             <div class="item" v-for="(item,index) in visitorsRecord" :key="index" @click="handle('select',item)" :class="item.visitorPersonList[0].recordId == active ? 'active' : ''">
               <div>
@@ -27,11 +28,11 @@
               <div>
                 <span class="p1">被访人手机号:</span><span class="p2">{{item?.targetPeoplePhone}}</span>
               </div>
-              <div>
+              <!-- <div>
                 <span class="p1">来访事由:</span><span class="p2">{{item?.visitorReasonInfo}}</span>
-              </div>
+              </div> -->
               <div>
-                <span class="p1">来访时间:</span><span class="p2">{{item?.startTime?.slice(5,20)}} ~ {{item?.endTime?.slice(5,20)}}</span>
+                <span class="p1">来访时间:</span><span class="p2">{{item?.startTime?.slice(10,20)}} ~ {{item?.endTime?.slice(10,20)}}</span>
               </div>
             </div>
           </div>
@@ -66,27 +67,31 @@ const router = useRouter();
  * 公众号引导状态切换
  */
  function getData() {
-  // timer.value = setInterval(() => {
-  //   axios
-  //     .get("http://127.0.0.1:24010/ZKIDROnline/ScanReadIdCardInfo?OP-DEV=1&CMD-URL=4&REPEAT=1&READTYPE=1&TIMEOUT=4")
-  //     .then((response) => {
-  //       cardId.value = response.data.Certificate.IDNumber;
-
-  //       // cardId.value=response.data.Certificate
-  //     })
-  //     .catch((error) => {});
-  // }, 1000);
+  timer.value = setInterval(() => {
+    axios
+      .get("http://127.0.0.1:24010/ZKIDROnline/ScanReadIdCardInfo?OP-DEV=1&CMD-URL=4&REPEAT=1&READTYPE=1&TIMEOUT=4")
+      .then((response) => {
+        if(response?.data?.Certificate){
+          cardId.value = response.data.Certificate.IDNumber;
+          cardId.value=response.data.Certificate
+        }
+      })
+      .catch((error) => {});
+  }, 1000);
 }
 function handle(type,item) {
   if(type === 'get'){ //获取访客记录
-    getVisitor(JSON.stringify({cardId:cardId.value})).then((response) => {
+    getVisitor(JSON.stringify({cardId:cardId.value,startTime:`${dayjs().format("YYYY-MM-DD")} 00:00:00`,endTime:`${dayjs().format("YYYY-MM-DD")} 23:59:59`})).then((response) => {
       visitorsRecordState.value = true
       active.value = null
       if(typeof(response.data) == 'object'){
         visitorsRecord.value = []
         for(let i=0;i<response.data.length;i++){
           if(response.data[i]?.startTime?.slice(0,10) == time.slice(0,10)){
-            visitorsRecord.value.push(response.data[i])
+            console.log(new Date(response.data[i]?.endTime).getTime() > new Date(dayjs().format("YYYY-MM-DD HH:mm:ss")).getTime(),new Date(response.data[i]?.endTime).getTime(),new Date(dayjs().format("YYYY-MM-DD HH:mm:ss")).getTime())
+            if(new Date(response.data[i]?.endTime).getTime() > new Date(dayjs().format("YYYY-MM-DD HH:mm:ss")).getTime()){ //排除当天过期预约
+              visitorsRecord.value.unshift(response.data[i])
+            }
           }
         }
         if(visitorsRecord.value.length == 1){
@@ -104,7 +109,6 @@ function handle(type,item) {
   }
   if(type ==='signIn'){
     signinoutVisitor({recordId:active.value,signInOutState:"in"}).then((response) => {
-      console.log(response)
       if(response.code == 200){
         ElMessage({
           message: "线下签到成功,请留意'共进科技大厦'小程序推送的通行二维码",
@@ -118,7 +122,7 @@ function handle(type,item) {
   }
 }
 onMounted(() => {
-  // getData();
+  getData();
 });
 
 onUnmounted(() => {
@@ -181,11 +185,11 @@ onUnmounted(() => {
     width:100%;
     overflow-x: scroll;
     overflow-y: hidden;
-    background: rgba(255,255,255,.2);
+    // background: rgba(255,255,255,.2);
     border-radius: 5px;
     padding:0px 0 10px;
     .item{
-      width:23.7%;
+      width:18%;
       padding:10px 0;
       display: inline-block;
       background: rgba(255,255,255,.8);
@@ -206,6 +210,7 @@ onUnmounted(() => {
     }
     .active{
       background: #409eff;
+      // background: red;
       color:#fff;
     }
   }

+ 8 - 8
vite.config.js

@@ -37,13 +37,13 @@ export default defineConfig(({ mode, command }) => {
             },
 
             //<----------去除console------
-            minify: 'terser',
-            terserOptions: {
-                compress: {
-                    drop_console: true,
-                    drop_debugger: true
-                }
-            },
+            // minify: 'terser',
+            // terserOptions: {
+            //     compress: {
+            //         drop_console: true,
+            //         drop_debugger: true
+            //     }
+            // },
             //-----------去除console----->
         },
         // vite 相关配置
@@ -54,7 +54,7 @@ export default defineConfig(({ mode, command }) => {
             open: true, // 自动打开浏览器
             proxy: {
                 '/visitor': {
-                    target: 'http://218.4.219.62:8083/',
+                    target: 'http://192.168.11.68',
                     ws: true,
                     changeOrigin: true,
                     pathRewrite: {