jazz
2023-12-08 878885c5872fe2fcd153a6571e75a27cb1025e97
update_202312071736_项目-治疗室屏幕web-样式调整,适配ios浏览器v1
7 文件已重命名
10个文件已修改
521 ■■■■ 已修改文件
config/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
index.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/common.css 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/xio_room_status_chg/index.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/config/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/room/detail.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/room/list.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/choose.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/clear.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/free.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/logo_1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/logo_2.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/rest.png 补丁 | 查看 | 原始文档 | blame | 历史
static/imgs/using.png 补丁 | 查看 | 原始文档 | blame | 历史
config/index.js
@@ -23,7 +23,7 @@
      },
      '/api_test': { // 测试环境
        // target: 'http://192.168.31.69:8080',
        target: 'https://test6.phiskin.com/guide/', // 导医
        target: 'https://test6.phiskin.com/', // 导医
        // target: 'https://test6.phiskin.com/phi_appt/', // 新预约phis后台
        // target: 'http://hymctest.huoxiongit.com/',// 这个是你服务器开启的接口
        changeOrigin: true,// 是否跨域
index.html
@@ -3,17 +3,21 @@
  <head>
    <meta charset="utf-8">
    <title>芙艾医疗</title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0, viewprot-fit:cover, minimal-ui">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
    <!-- <link rel="stylesheet" href="./static/swiper/swiper.min.css"> -->
    <!-- 应用以全屏模式运行 -->
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <!-- 主题颜色 -->
    <meta name="theme-color" content="#227beb" />
    <!-- 禁止识别电话号码 -->
    <meta content="telephone=no" name="format-detection" />
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <!-- <script src="./static/swiper/swiper.min.js"></script> -->
    <script src="//wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.4.js"></script>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
    <!-- <script src="//wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.4.js"></script>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> -->
    <script>
      (function () {
          var src = '//cdn.bootcss.com/eruda/1.4.2/eruda.min.js';
package-lock.json
@@ -11,7 +11,9 @@
        "axios": "^0.19.2",
        "clipboard": "^2.0.6",
        "element-ui": "^2.15.6",
        "eruda": "^3.0.1",
        "js-md5": "^0.8.3",
        "save": "^2.9.0",
        "svg-sprite-loader": "^6.0.11",
        "vue": "^2.5.2",
        "vue-router": "^3.0.1",
@@ -49,6 +51,8 @@
        "optimize-css-assets-webpack-plugin": "^3.2.0",
        "ora": "^1.2.0",
        "portfinder": "^1.0.13",
        "postcss": "^8.4.32",
        "postcss-100vh-fix": "^1.0.2",
        "postcss-import": "^11.0.0",
        "postcss-loader": "^2.0.8",
        "postcss-px-to-viewport-opt": "^0.0.4",
@@ -519,6 +523,7 @@
      "version": "3.2.1",
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
      "dev": true,
      "dependencies": {
        "color-convert": "^1.9.0"
      },
@@ -819,6 +824,20 @@
      },
      "bin": {
        "autoprefixer-info": "bin/autoprefixer-info"
      }
    },
    "node_modules/autoprefixer/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/aws-sign2": {
@@ -2413,6 +2432,7 @@
      "version": "2.4.2",
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
      "dev": true,
      "dependencies": {
        "ansi-styles": "^3.2.1",
        "escape-string-regexp": "^1.0.5",
@@ -2722,6 +2742,7 @@
      "version": "1.9.3",
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
      "dev": true,
      "dependencies": {
        "color-name": "1.1.3"
      }
@@ -2729,7 +2750,8 @@
    "node_modules/color-name": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
      "dev": true
    },
    "node_modules/color-string": {
      "version": "0.3.0",
@@ -4852,8 +4874,7 @@
    "node_modules/duplexer": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
      "dev": true
      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
    },
    "node_modules/duplexify": {
      "version": "3.7.1",
@@ -5016,6 +5037,11 @@
      "dependencies": {
        "stackframe": "^1.1.1"
      }
    },
    "node_modules/eruda": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/eruda/-/eruda-3.0.1.tgz",
      "integrity": "sha512-6q1Xdwga4JTr1mKSW4mzuWSSbmXgqpm/8Wa1QGFGfCWRjC0bCQjbS4u06M1te1moucIS3hBLlbSTPWYH2W0qbQ=="
    },
    "node_modules/es-abstract": {
      "version": "1.17.6",
@@ -5579,6 +5605,20 @@
      "dependencies": {
        "d": "1",
        "es5-ext": "~0.10.14"
      }
    },
    "node_modules/event-stream": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz",
      "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==",
      "dependencies": {
        "duplexer": "^0.1.1",
        "from": "^0.1.7",
        "map-stream": "0.0.7",
        "pause-stream": "^0.0.11",
        "split": "^1.0.1",
        "stream-combiner": "^0.2.2",
        "through": "^2.3.8"
      }
    },
    "node_modules/eventemitter3": {
@@ -6254,6 +6294,11 @@
        "node": ">=0.8.0"
      }
    },
    "node_modules/from": {
      "version": "0.1.7",
      "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
      "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g=="
    },
    "node_modules/from2": {
      "version": "2.3.0",
      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
@@ -6653,6 +6698,7 @@
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
      "dev": true,
      "engines": {
        "node": ">=4"
      }
@@ -7113,6 +7159,20 @@
      "dev": true,
      "dependencies": {
        "postcss": "^6.0.1"
      }
    },
    "node_modules/icss-utils/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/ieee754": {
@@ -8251,6 +8311,11 @@
      "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
      "dev": true
    },
    "node_modules/lodash.assign": {
      "version": "4.2.0",
      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
      "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw=="
    },
    "node_modules/lodash.camelcase": {
      "version": "4.3.0",
      "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
@@ -8461,6 +8526,11 @@
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/map-stream": {
      "version": "0.0.7",
      "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
      "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ=="
    },
    "node_modules/map-visit": {
      "version": "1.0.0",
@@ -8880,6 +8950,11 @@
        "node": ">=4"
      }
    },
    "node_modules/mingo": {
      "version": "6.4.9",
      "resolved": "https://registry.npmjs.org/mingo/-/mingo-6.4.9.tgz",
      "integrity": "sha512-jsOiIEJ19UtTaWjNFN4CnuKWqELm2sINZcHqI/nmjezMvXthBIQOftJrlT85NuIDoSFc0vrbjD+GnrzEgYnPbA=="
    },
    "node_modules/minimalistic-assert": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -9148,6 +9223,23 @@
      "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz",
      "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==",
      "dev": true
    },
    "node_modules/nanoid": {
      "version": "3.3.7",
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/ai"
        }
      ],
      "bin": {
        "nanoid": "bin/nanoid.cjs"
      },
      "engines": {
        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
      }
    },
    "node_modules/nanomatch": {
      "version": "1.2.13",
@@ -10179,6 +10271,14 @@
        "node": ">=4"
      }
    },
    "node_modules/pause-stream": {
      "version": "0.0.11",
      "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
      "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
      "dependencies": {
        "through": "~2.3"
      }
    },
    "node_modules/pbkdf2": {
      "version": "3.1.1",
      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
@@ -10206,6 +10306,11 @@
      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
      "dev": true
    },
    "node_modules/picocolors": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
    },
    "node_modules/picomatch": {
      "version": "2.2.2",
@@ -10301,16 +10406,46 @@
      }
    },
    "node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "version": "8.4.32",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
      "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
      "funding": [
        {
          "type": "opencollective",
          "url": "https://opencollective.com/postcss/"
        },
        {
          "type": "tidelift",
          "url": "https://tidelift.com/funding/github/npm/postcss"
        },
        {
          "type": "github",
          "url": "https://github.com/sponsors/ai"
        }
      ],
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
        "nanoid": "^3.3.7",
        "picocolors": "^1.0.0",
        "source-map-js": "^1.0.2"
      },
      "engines": {
        "node": ">=4.0.0"
        "node": "^10 || ^12 || >=14"
      }
    },
    "node_modules/postcss-100vh-fix": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/postcss-100vh-fix/-/postcss-100vh-fix-1.0.2.tgz",
      "integrity": "sha512-t7vqk9AfjI4fXmWlQCEiMZFFhi1hro4WlECINI1TV6Qh1XapUJE++gCmNr95F5Hen/+bz1OmO+SiSB9TZmFmSg==",
      "dev": true,
      "engines": {
        "node": ">=10.0"
      },
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/postcss/"
      },
      "peerDependencies": {
        "postcss": "^8.1.0"
      }
    },
    "node_modules/postcss-calc": {
@@ -11123,6 +11258,20 @@
        "resolve": "^1.1.7"
      }
    },
    "node_modules/postcss-import/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-load-config": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
@@ -11235,6 +11384,20 @@
      },
      "engines": {
        "node": ">= 4"
      }
    },
    "node_modules/postcss-loader/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-loader/node_modules/schema-utils": {
@@ -11910,6 +12073,20 @@
        "postcss": "^6.0.1"
      }
    },
    "node_modules/postcss-modules-extract-imports/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-modules-local-by-default": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
@@ -11918,6 +12095,20 @@
      "dependencies": {
        "css-selector-tokenizer": "^0.7.0",
        "postcss": "^6.0.1"
      }
    },
    "node_modules/postcss-modules-local-by-default/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-modules-scope": {
@@ -11930,6 +12121,20 @@
        "postcss": "^6.0.1"
      }
    },
    "node_modules/postcss-modules-scope/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-modules-values": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
@@ -11938,6 +12143,20 @@
      "dependencies": {
        "icss-replace-symbols": "^1.1.0",
        "postcss": "^6.0.1"
      }
    },
    "node_modules/postcss-modules-values/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-normalize-charset": {
@@ -13106,6 +13325,20 @@
        "mkdirp": "^0.5.0",
        "postcss": "^6.0.1",
        "xxhashjs": "^0.2.1"
      }
    },
    "node_modules/postcss-url/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/postcss-value-parser": {
@@ -14389,6 +14622,22 @@
        "semver": "bin/semver.js"
      }
    },
    "node_modules/save": {
      "version": "2.9.0",
      "resolved": "https://registry.npmjs.org/save/-/save-2.9.0.tgz",
      "integrity": "sha512-eg8+g8CjvehE/2C6EbLdtK1pINVD27pcJLj4M9PjWWhoeha/y5bWf4dp/0RF+OzbKTcG1bae9qi3PAqiR8CJTg==",
      "dependencies": {
        "async": "^3.2.2",
        "event-stream": "^4.0.1",
        "lodash.assign": "^4.2.0",
        "mingo": "^6.1.0"
      }
    },
    "node_modules/save/node_modules/async": {
      "version": "3.2.5",
      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
    },
    "node_modules/sax": {
      "version": "1.2.4",
      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -14979,6 +15228,15 @@
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
      "dev": true,
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/source-map-js": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
      "engines": {
        "node": ">=0.10.0"
      }
@@ -15128,6 +15386,17 @@
      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
      "dev": true
    },
    "node_modules/split": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
      "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
      "dependencies": {
        "through": "2"
      },
      "engines": {
        "node": "*"
      }
    },
    "node_modules/split-string": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -15241,6 +15510,15 @@
      "dependencies": {
        "inherits": "~2.0.1",
        "readable-stream": "^2.0.2"
      }
    },
    "node_modules/stream-combiner": {
      "version": "0.2.2",
      "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
      "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==",
      "dependencies": {
        "duplexer": "~0.1.1",
        "through": "~2.3.4"
      }
    },
    "node_modules/stream-each": {
@@ -15488,6 +15766,7 @@
      "version": "5.5.0",
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
      "dev": true,
      "dependencies": {
        "has-flag": "^3.0.0"
      },
@@ -15949,8 +16228,7 @@
    "node_modules/through": {
      "version": "2.3.8",
      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
      "dev": true
      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
    },
    "node_modules/through2": {
      "version": "2.0.5",
@@ -16758,6 +17036,20 @@
        "node": ">=0.10.0"
      }
    },
    "node_modules/vue-loader/node_modules/postcss": {
      "version": "6.0.23",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
      "dev": true,
      "dependencies": {
        "chalk": "^2.4.1",
        "source-map": "^0.6.1",
        "supports-color": "^5.4.0"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/vue-loader/node_modules/postcss-load-config": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
package.json
@@ -16,7 +16,9 @@
    "axios": "^0.19.2",
    "clipboard": "^2.0.6",
    "element-ui": "^2.15.6",
    "eruda": "^3.0.1",
    "js-md5": "^0.8.3",
    "save": "^2.9.0",
    "svg-sprite-loader": "^6.0.11",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
@@ -54,6 +56,8 @@
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "portfinder": "^1.0.13",
    "postcss": "^8.4.32",
    "postcss-100vh-fix": "^1.0.2",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "postcss-px-to-viewport-opt": "^0.0.4",
src/App.vue
@@ -27,7 +27,7 @@
import Login from '@/utils/jun_login.js'
import wxsign from '@/utils/wxsign.js'
import Config from './config'
import eruda from 'eruda'
export default {
    name: 'App',
@@ -75,6 +75,8 @@
        }
    },
    mounted () {
        // console.log('/**********************/', eruda)
        // eruda && eruda.init()
        console.log('app amounted')
        // 避免刷新导致code重复使用
src/assets/css/common.css
@@ -211,9 +211,16 @@
    box-sizing: border-box;
    padding: 0 23px 42px 23px;
}
/* 避免Chrome浏览器看到Safari黑客 */
@supports (-webkit-touch-callout: none) {
    .page {
        /* The hack for Safari */
        /* height: -webkit-fill-available; */
        /* height: -webkit-fill-available; */
    }
}
.page_header {
    min-height: 100px;
    height: 100px;
}
.page_header .left {
@@ -225,14 +232,20 @@
    height: 45px;
    display: block;
}
.page_logo_1 .img {
    width: 100%;
    height: 100%;
}
.page_logo_2 {
    width: 132px;
    height: 50px;
    display: block;
    margin-left: 10px;
}
.page_logo_2 .img {
    width: 100%;
    height: 100%;
}
.page_date {
    line-height: 28px;
    color: rgba(255,255,255,1);
@@ -257,7 +270,6 @@
.page_container {
    width: 100%;
    height: calc( 100% - 100px );
}
.btn_ani {
@@ -271,7 +283,7 @@
        scale: 1;
    }
    50% {
        scale: 1.05;
        scale: 1.1;
    }
    100% {
        scale: 1;
src/components/xio_room_status_chg/index.vue
@@ -7,13 +7,17 @@
          <div class="line flex flex-ver flex-sb">
            <div class="btn_box_item flex flex-center white" @click="changeStatus('空闲', 0)">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/free.png">
                <div class="icon">
                  <img class="img" src="static/imgs/free.png">
                </div>
                <div class="tx">空闲</div>
              </div>
            </div>
            <div class="btn_box_item flex flex-center blue" @click="changeStatus('使用中', 1)">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/using.png">
                <div class="icon">
                  <img class="img" src="static/imgs/using.png">
                </div>
                <div class="tx white">使用中</div>
              </div>
            </div>
@@ -21,13 +25,17 @@
          <div class="line flex flex-ver flex-sb">
            <div class="btn_box_item flex flex-center yellow" @click="changeStatus('客人休息', 2)">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/rest.png">
                <div class="icon">
                  <img class="img" src="static/imgs/rest.png">
                </div>
                <div class="tx">客人休息</div>
              </div>
            </div>
            <div class="btn_box_item flex flex-center gray" @click="changeStatus('通知打扫', 3)">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/clear.png">
                <div class="icon">
                  <img class="img" src="static/imgs/clear.png">
                </div>
                <div class="tx">通知打扫</div>
              </div>
            </div>
@@ -126,6 +134,10 @@
  display: block;
  margin-right: 17px;
}
.xio_room_status_chg_dialog .btn_box_item .icon .img {
  width: 100%;
  height: 100%;
}
.xio_room_status_chg_dialog .btn_box_item .tx {
  line-height: 37px;
  color: rgba(51,51,51,1);
src/config/index.js
@@ -13,7 +13,7 @@
var debug = isConsole
var isWxLoginType = 0 // 微信登录 0无 1静默微信登录snsapi_base 2手动微信登录snsapi_userinfo
var isTestView = 1
var is_use_test_server = 1 // 是否部署在测试服务器
var localOnline = istest ? 0 : 1 // 本地连线上
// 打包后的环境
@@ -22,6 +22,10 @@
  ismock = 0
  isTestView = 0
  localOnline = 0
  if (is_use_test_server) {
    isTestView = 1
  }
}
const pdomain = '/' // 线上
src/pages/room/detail.vue
@@ -1,10 +1,14 @@
<!--room-detail.vue-->
<template>
  <div class="page">
  <div class="page flex flex-col">
    <div class="page_header flex flex-ver">
      <div class="left flex flex-ver" @click="back">
        <img class="page_logo_1" src="../../assets/img/logo_1.png">
        <img class="page_logo_2" src="../../assets/img/logo_2.png">
        <div class="page_logo_1">
          <img class="img" src="static/imgs/logo_1.png">
        </div>
        <div class="page_logo_2">
          <img class="img" src="static/imgs/logo_2.png">
        </div>
      </div>
      <div class="right flex-1 flex flex-jcfe flex-ver">
        <div class="reset_btn flex flex-center" @click="resetStatus">重置房间状态</div>
@@ -17,7 +21,7 @@
      </div>
    </div>
    <!-- 未有安排 -->
    <div v-if="!occupyInfoView && (!assignTreatList || !assignTreatList.length)" class="page_container flex flex-ver">
    <div v-if="!occupyInfoView && (!assignTreatList || !assignTreatList.length)" class="page_container flex flex-1">
      <div class="main flex-1">
        <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div>
        <div v-if="roomInfo" class="room_main_tip" style="margin-top: 93px;line-height: 186px;font-size: 140px;">-{{ statusTx[roomInfo.status] }}-</div>
@@ -25,25 +29,33 @@
          <div class="flex flex-ver">
            <div class="btn_box__item flex flex-center white" data-tx="空闲" data-status="0" @click="statusChg">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/free.png">
                <div class="icon">
                  <img class="img" src="static/imgs/free.png">
                </div>
                <div class="tx">空闲</div>
              </div>
            </div>
            <div class="btn_box__item flex flex-center blue" data-tx="使用中" data-status="1" @click="statusChg">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/using.png">
                <div class="icon">
                  <img class="img" src="static/imgs/using.png">
                </div>
                <div class="tx white">使用中</div>
              </div>
            </div>
            <div class="btn_box__item flex flex-center yellow" data-tx="客人休息" data-status="2" @click="statusChg">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/rest.png">
                <div class="icon">
                  <img class="img" src="static/imgs/rest.png">
                </div>
                <div class="tx">客人休息</div>
              </div>
            </div>
            <div class="btn_box__item flex flex-center gray" data-tx="通知打扫" data-status="3" @click="statusChg">
              <div class="flex flex-ver">
                <img class="icon" src="../../assets/img/clear.png">
                <div class="icon">
                  <img class="img" src="static/imgs/clear.png">
                </div>
                <div class="tx">通知打扫</div>
              </div>
            </div>
@@ -52,7 +64,7 @@
      </div>
    </div>
    <!-- 没有客人和有安排 -->
    <div v-if="!occupyInfoView && (assignTreatList && assignTreatList.length)" class="page_container flex flex-ver">
    <div v-if="!occupyInfoView && (assignTreatList && assignTreatList.length)" class="page_container flex flex-1">
      <div class="main flex-1">
        <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div>
        <div v-if="roomInfo" class="room_main_tip">-{{ statusTx[roomInfo.status] }}-</div>
@@ -82,7 +94,9 @@
                  <span class="tx flex-1 flex-1-w1 ell">{{ item.aDoctorName?item.aDoctorName+'(医生)、':'' }}{{ item.aNurseName?item.aNurseName+'(护士)':'' }}</span>
                </div>
                <div class="guest_list__td flex flex-center">
                  <img class="icon" src="../../assets/img/choose.png">
                  <div class="icon">
                    <img class="img" src="static/imgs/choose.png">
                  </div>
                </div>
              </div>
            </div>
@@ -91,7 +105,7 @@
      </div>
    </div>
    <!-- 客人和有安排 -->
    <div v-if="occupyInfoView && (assignTreatList && assignTreatList.length)" class="page_container flex flex-ver">
    <div v-if="occupyInfoView && (assignTreatList && assignTreatList.length)" class="page_container flex flex-1">
      <div class="main flex-1">
        <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div>
        <div class="room_content">
@@ -166,7 +180,9 @@
                  <span class="tx flex-1 flex-1-w1 ell">{{ item.aDoctorName?item.aDoctorName+'(医生)、':'' }}{{ item.aNurseName?item.aNurseName+'(护士)':'' }}</span>
                </div>
                <div class="guest_list__td flex flex-center">
                  <img class="icon" src="../../assets/img/choose.png">
                  <div class="icon">
                    <img class="img" src="static/imgs/choose.png">
                  </div>
                </div>
              </div>
            </div>
@@ -193,6 +209,7 @@
import XioRoomStatusChg from '@/components/xio_room_status_chg'
import Req from '../../utils/jun_httpInstall' // http 请求
var isUseDefault = false // 是否已使用默认客人
var isUseDefaultChg = 0// 已使用默认客人后房间是否有改变状态
export default {
  name: 'RoomDetail',
  components: {
@@ -217,8 +234,8 @@
        return this.occupyInfo
      // 没有占用
      } else {
        // 还没使用默认客人值
        if (!isUseDefault && this.assignTreatList && this.assignTreatList.length) {
        // 还没使用默认客人值或者已使用默认客人值还没改变状态(适配轮询)
        if ((!isUseDefault || (isUseDefault && isUseDefaultChg === 0)) && this.assignTreatList && this.assignTreatList.length) {
          isUseDefault = true
          return this.assignTreatList[0]
        // 已使用过默认客人值
@@ -240,8 +257,8 @@
      // 计时
      this.countGetTime(this, 'timeObj', 'detail')
      // 轮询getData,8秒一次
      // this.pollingAjaxFn(this, 'getData', 'detail', 8000)
      this.getData()
      this.pollingAjaxFn(this, 'getData', 'detail', 8000)
      // this.getData()
    },
    // 获取房间详情
    getData() {
@@ -251,14 +268,23 @@
        params.shopRoomId = this.id
      }
      Req.http.post({
        url: 'treat/screen/room/info',
        url: 'guide/treat/screen/room/info',
        data: params,
        udData: { noLoading: true },
        header: { 'Content-Type': 'application/json' },
        mockData: {
          code: 100,
          msg: '',
          data: {}
          data: {
            roomInfo: {
              roomNo: 'xx',
              status: 0 // 0空闲 1使用 2休息 3打扫
            },
            assignTreatList: [{
              startTime: '2023-12-08 00:00:00'
            }],
            occupyInfo: null
          }
        }
      }).then((res) => {
        if (res && res.data) {
@@ -269,6 +295,9 @@
              o.startTime = `${st[0]}:${st[1]}`
            })
          }
          // 已有占用的,更改已使用默认客人的状态
          res.data.occupyInfo && (isUseDefaultChg = 1)
          res.data.occupyInfo && (isUseDefault = 1)
          // 占用信息治疗时间处理
          if (res.data.occupyInfo && res.data.occupyInfo.startTime) {
            var ost = (res.data.occupyInfo.startTime).split(' ')[1].split(':')
@@ -284,6 +313,7 @@
    // 返回
    back() {
      isUseDefault = false
      isUseDefaultChg = 0
      // 关闭计时
      this.stopCountGetTime('detail')
      // 关闭轮询
@@ -326,7 +356,7 @@
        params.treatRecordId = item.id
      }
      Req.http.post({
        url: 'treat/screen/room/status/update',
        url: 'guide/treat/screen/room/status/update',
        data: params,
        header: { 'Content-Type': 'application/json' },
        mockData: {
@@ -335,6 +365,10 @@
          data: {}
        }
      }).then((res) => {
        // 在已有默认客人的情况下,改变状态更改标识(适配轮询)
        if (isUseDefault) {
          isUseDefaultChg = 1
        }
        // console.log('8888888888888888888888888888888888', res)
        cb && cb()
      })
@@ -392,6 +426,9 @@
</style>
<style scoped>
.page{
  overflow: auto;
}
.page_header .reset_btn {
  width: 200px;
  height: 60px;
@@ -405,7 +442,7 @@
  cursor: pointer;
}
.page_container .main {
  height: 100%;
  /* height: 100%; */
  border-radius: 10px;
  background-color: rgba(255,255,255,1);
  color: rgba(16,16,16,1);
@@ -467,6 +504,10 @@
  height: 60px;
  display: block;
  margin-right: 17px;
}
.page_container .main .btn_box__item .icon .img {
  width: 100%;
  height: 100%;
}
.page_container .main .btn_box__item .tx {
  line-height: 37px;
@@ -556,7 +597,7 @@
.page_container .right {
  width: 686px;
  margin-left: 30px;
  height: 100%;
  /* height: 100%; */
}
.page_container .right_block {
  width: 100%;
@@ -603,6 +644,10 @@
  height: 20px;
  display: block;
}
.page_container .right .guest_list__td .icon .img {
  width: 100%;
  height: 100%;
}
.page_container .right .guest_list__td:nth-child(1) {
  width: 19.54%;
}
src/pages/room/list.vue
@@ -1,10 +1,14 @@
<!--room-list.vue-->
<template>
  <div class="page">
  <div class="page flex flex-col">
    <div class="page_header flex flex-ver">
      <div class="left flex flex-ver" @click="back">
        <img class="page_logo_1" src="../../assets/img/logo_1.png">
        <img class="page_logo_2" src="../../assets/img/logo_2.png">
      <div class="left flex flex-ver" @click="resetPage">
        <div class="page_logo_1">
          <img class="img" src="static/imgs/logo_1.png">
        </div>
        <div class="page_logo_2">
          <img class="img" src="static/imgs/logo_2.png">
        </div>
      </div>
      <div class="right flex-1 flex flex-jcfe flex-ver">
        <div class="page_choose_shop">
@@ -20,10 +24,10 @@
        <!-- <div class="page_time">{{ timeObj.time }}</div> -->
      </div>
    </div>
    <div class="page_container">
      <div class="list_container flex flex-col">
    <div class="page_container flex-1 h1 flex flex-col">
      <div class="list_container h1 flex-1 flex flex-col">
        <div class="list_container__title">请选择房间</div>
        <div class="list_block flex-1">
        <div class="list_block flex-1 h1">
          <div v-if="list && list.length" class="list flex flex-ver flex-wrap">
            <!-- act -->
            <div v-for="(item, index) in list" :key="index" class="list__item flex flex-center" @click="selectRoom(item)">{{ item.roomNo }}</div>
@@ -70,17 +74,24 @@
      this.getShopList()
      this.getRoomList()
    },
    // 刷新页面
    resetPage() {
      this.getRoomList()
    },
    // 获取门店列表
    getShopList() {
      var params = {}
      Req.http.post({
        url: 'treat/screen/shop/list',
        url: 'guide/treat/screen/shop/list',
        data: params,
        header: { 'Content-Type': 'application/json' },
        mockData: {
          code: 100,
          msg: '',
          data: {}
          data: [{
            name: 'xx',
            id: 'xx'
          }]
        }
      }).then((res) => {
        this.shopList = res.data || []
@@ -93,13 +104,15 @@
        params.shopId = this.shopId
      }
      Req.http.post({
        url: 'treat/screen/room/list',
        url: 'guide/treat/screen/room/list',
        data: params,
        header: { 'Content-Type': 'application/json' },
        mockData: {
          code: 100,
          msg: '',
          data: {}
          data: [{
            id: 'xx', roomNo: 'xx'
          }]
        }
      }).then((res) => {
        this.list = res.data || []
@@ -136,11 +149,14 @@
}
</style>
<style scoped>
/* .page_container {
  overflow: hidden;
} */
.list_container {
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 10px;
  /* overflow: hidden; */
}
.list_container__title {
  line-height: 56px;
@@ -152,12 +168,10 @@
  /* font-weight: bold; */
}
.list_block {
  /* padding-right: 66px; */
  margin-bottom: 50px;
  overflow: auto;
}
.list_block .list {
  margin-bottom: 20px;
}
.list_block .list .list__item {
  padding: 40px 30px;
static/imgs/choose.png

static/imgs/clear.png

static/imgs/free.png

static/imgs/logo_1.png

static/imgs/logo_2.png

static/imgs/rest.png

static/imgs/using.png