|
|
@@ -0,0 +1,729 @@
|
|
|
+const baseUrl = "https://fare.somnisix.top/";
|
|
|
+const authorization = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6Ijk5YzI3MjI2LTdkOWQtNDhiOC1hYjlhLWM4YjVjYWZiZGNkNyIsInVzZXJuYW1lIjoiYWRtaW4ifQ.zITQOINFkHs19_1RAgHS4I9YMaVxVq0Dsn3t6r_K7rv3rXvJy0sMtodejIMi_PNa_m4uQYxnU-6k3wC2LZht_Q";
|
|
|
+const api = "system/sleepEvaluation";
|
|
|
+
|
|
|
+const homeApi = "https://fare.somnisix.top";
|
|
|
+const homeApiTest = "http://localhost:8080";
|
|
|
+const token = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6Ijk5YzI3MjI2LTdkOWQtNDhiOC1hYjlhLWM4YjVjYWZiZGNkNyIsInVzZXJuYW1lIjoiYWRtaW4ifQ.zITQOINFkHs19_1RAgHS4I9YMaVxVq0Dsn3t6r_K7rv3rXvJy0sMtodejIMi_PNa_m4uQYxnU-6k3wC2LZht_Q";
|
|
|
+
|
|
|
+let countABCDEF;
|
|
|
+Page({
|
|
|
+ data: {
|
|
|
+
|
|
|
+ activeIcon: "/subpages/icons/ic_selected_checkbox.svg",
|
|
|
+ normalIcon: "/subpages/icons/ic_checkbox.svg",
|
|
|
+ activeColor: "color:#0BC3AA;",
|
|
|
+ normalColor: "color:#666666;",
|
|
|
+
|
|
|
+ //一、身体综合
|
|
|
+ bodySynthesisOptions: [
|
|
|
+ { value: '0',remark: 'A', label: '易疲劳,总感到疲倦' },
|
|
|
+ { value: '1',remark: 'A', label: '好出汗,一活动就冒汗' },
|
|
|
+ { value: '2',remark: 'A', label: '易感冒,恢复慢' },
|
|
|
+ { value: '3',remark: 'A', label: '稍一活动就气喘' },
|
|
|
+ { value: '4',remark: 'A', label: '疲劳后身体就不舒服' },
|
|
|
+ { value: '5',remark: 'A', label: '无食欲' },
|
|
|
+ { value: '6',remark: 'A', label: '手脚发凉' },
|
|
|
+ { value: '7',remark: 'A', label: '肌肉无力' },
|
|
|
+ { value: '8',remark: 'B', label: '腹部易滞气' },
|
|
|
+ { value: '9',remark: 'B', label: '头痛、肩凝、关节痛、胃疼、手脚麻痹' },
|
|
|
+ { value: '10',remark: 'B', label: '紧张、发怒后身体不舒服' },
|
|
|
+ { value: '11',remark: 'B', label: '身体有痛感后,疼痛部位游走不定' },
|
|
|
+ { value: '12',remark: 'C', label: '易眩晕和站起时头晕' },
|
|
|
+ { value: '13',remark: 'C', label: '常感到心慌' },
|
|
|
+ { value: '14',remark: 'C', label: '易头晕眼花' },
|
|
|
+ { value: '15',remark: 'D', label: '有受伤和手术后的旧伤痛' },
|
|
|
+ { value: '16',remark: 'D', label: '感到肩和腰、头有针扎样痛' },
|
|
|
+ { value: '17',remark: 'D', label: '入夜后容易出现肩、腰、头疼痛' },
|
|
|
+ { value: '18',remark: 'E', label: '喉咙易渴,常想喝水' },
|
|
|
+ { value: '19',remark: 'E', label: '感冒愈后常干咳' },
|
|
|
+ { value: '20',remark: 'E', label: '易便秘,大便呈球状' },
|
|
|
+ { value: '21',remark: 'E', label: '尿量少、色浓' },
|
|
|
+ { value: '22',remark: 'E', label: '身体总是发热' },
|
|
|
+ { value: '23',remark: 'E', label: '持续低烧' },
|
|
|
+ { value: '24',remark: 'F', label: '常感到身体和手脚沉重,易浮肿' },
|
|
|
+ { value: '25',remark: 'F', label: '胃部不适、恶心' },
|
|
|
+ { value: '26',remark: 'F', label: '雨天和湿度高时身体状况就很糟糕' },
|
|
|
+ { value: '27',remark: 'F', label: '有时眩晕' },
|
|
|
+ { value: '28',remark: 'F', label: '大便偏软' },
|
|
|
+ { value: '29',remark: 'F', label: '易恶心、呕吐、晕车' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ bodySynthesis: [],// 一、身体综合
|
|
|
+
|
|
|
+ //二、面部五官
|
|
|
+ facialFeaturesOptions: [
|
|
|
+ { value: '0',remark: 'B', label: '喉头部有异物感' },
|
|
|
+ { value: '1',remark: 'C', label: '脸色不好' },
|
|
|
+ { value: '2',remark: 'D', label: '眼圈发黑' },
|
|
|
+ { value: '3',remark: 'E', label: '眼睛经常模糊不清' },
|
|
|
+ { value: '4',remark: 'E', label: '多呈现消极、羸弱的面孔' },
|
|
|
+ { value: '5',remark: 'F', label: '唾液和痰较多,中发黏' },
|
|
|
+ { value: '6',remark: 'F', label: '易犯花粉症和鼻炎,容易淌鼻涕' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ facialFeatures: [],// 二、面部五官
|
|
|
+
|
|
|
+ //三、皮肤毛发
|
|
|
+ skinHairOptions: [
|
|
|
+ { value: '0',remark: 'C', label: '头发脆弱,脱发' },
|
|
|
+ { value: '1',remark: 'C', label: '皮肤和指甲无光泽' },
|
|
|
+ { value: '2',remark: 'D', label: '皮肤干燥易皲裂,色斑、雀斑多' },
|
|
|
+ { value: '3',remark: 'D', label: '皮肤呈青紫色或黑紫色,不光滑' },
|
|
|
+ { value: '4',remark: 'D', label: '肤色暗淡' },
|
|
|
+ { value: '5',remark: 'E', label: '洗浴后皮肤很快干燥,易发痒' },
|
|
|
+ { value: '6',remark: 'E', label: '皮肤纹理粗糙、毛孔张开' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ skinHair: [],// 三、皮肤毛发
|
|
|
+
|
|
|
+ //四、情绪方面
|
|
|
+ emotionOptions: [
|
|
|
+ { value: '0',remark: 'A', label: '经常情绪低落,容易受伤害' },
|
|
|
+ { value: '1',remark: 'B', label: '焦虑、易怒' },
|
|
|
+ { value: '2',remark: 'B', label: '常长吁短叹、嗳气' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ emotion: [],// 四、情绪方面
|
|
|
+
|
|
|
+ //五、月经方面
|
|
|
+ menstruationOptions: [
|
|
|
+ { value: '0',remark: 'B', label: '月经前身体不适' },
|
|
|
+ { value: '1',remark: 'C', label: '经血量少或月经周期过长' },
|
|
|
+ { value: '2',remark: 'D', label: '月经痛加重、经血中有动物肝脏血块' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ menstruation: [],// 五、月经方面
|
|
|
+
|
|
|
+ //六、性格方面
|
|
|
+ characterOptions: [
|
|
|
+ { value: '0',remark: 'A', label: '过度依赖人际关系' },
|
|
|
+ { value: '1',remark: 'B', label: '具有攻击性,不善于体谅别人' },
|
|
|
+ { value: '2',remark: 'C', label: '属冷静、认真型' },
|
|
|
+ { value: '3',remark: 'C', label: '善于制造一个自我世界并沉溺其中' },
|
|
|
+ { value: '4',remark: 'D', label: '忍耐性较强的性格,容易积聚压力' },
|
|
|
+ { value: '5',remark: 'D', label: '接人待物中规中矩,严守礼节' },
|
|
|
+ { value: '6',remark: 'F', label: '以自我为中心,争强好胜,嫉妒心强,爱慕虚荣' },
|
|
|
+ { value: '7',remark: 'F', label: '喜欢奢华、热闹的氛围' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ character: [],// 六、性格方面
|
|
|
+
|
|
|
+ //七、睡眠
|
|
|
+ sleepOptions: [
|
|
|
+ { value: '0',remark: 'B', label: '入睡闲难' },
|
|
|
+ { value: '1',remark: 'C', label: '睡眠浅,易做梦' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ sleep: [],// 七、睡眠
|
|
|
+
|
|
|
+ //八、舌头状态
|
|
|
+ tongueStateOptions: [
|
|
|
+ { value: '0',remark: 'A', label: '整体色淡;厚、肿大;边缘呈齿状' },
|
|
|
+ { value: '1',remark: 'B', label: '两侧赤红;中间色淡或偏白;薄薄的黄色舌苔' },
|
|
|
+ { value: '2',remark: 'C', label: '舌体偏小;色淡、偏白,舌苔整体偏薄' },
|
|
|
+ { value: '3',remark: 'D', label: '舌色暗、偏紫色;有黑色斑点;舌下两根静脉粗粗地浮现出来' },
|
|
|
+ { value: '4',remark: 'E', label: '舌色整体发红;舌苔少、甚至没有;舌面有齿痕' },
|
|
|
+ { value: '5',remark: 'F', label: '舌苔厚、黏黏糊糊;舌苔色黄或白;舌体肿胀' },
|
|
|
+ ],
|
|
|
+
|
|
|
+ tongueState: [],// 八、舌头状态
|
|
|
+
|
|
|
+ comScore: 0,
|
|
|
+ comScoreStatus: '',
|
|
|
+ comScoreIndex: 0,
|
|
|
+ comScoreDesc: "",
|
|
|
+ ratingResultsList: [{
|
|
|
+ index: 0,
|
|
|
+ title: "气虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_1.svg",
|
|
|
+ color: "#70B3FE",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 1,
|
|
|
+ title: "气滞型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_2.svg",
|
|
|
+ color: "#68D89E",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 2,
|
|
|
+ title: "血虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_3.svg",
|
|
|
+ color: "#FFA95A",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 3,
|
|
|
+ title: "淤血型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_4.svg",
|
|
|
+ color: "#cffc6d",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 4,
|
|
|
+ title: "水虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_1.svg",
|
|
|
+ color: "#80f5ff",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 5,
|
|
|
+ title: "痰湿型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_2.svg",
|
|
|
+ color: "#ef00b3",
|
|
|
+ opacity: "0"
|
|
|
+ }],
|
|
|
+
|
|
|
+ hotel: '',//酒店
|
|
|
+ room: '',//房间
|
|
|
+ mInputId: '',//自动滚动用的
|
|
|
+ intervalId1: null,
|
|
|
+ intervalId2: null,//授权解除定时任务
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ // 一、身体综合
|
|
|
+ bindBodySynthesis: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ bodySynthesis: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 二、面部五官
|
|
|
+ bindFacialFeatures: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ facialFeatures: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 三、皮肤毛发
|
|
|
+ bindSkinHair: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ skinHair: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 四、情绪方面
|
|
|
+ bindEmotion: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ emotion: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 五、月经方面
|
|
|
+ bindMenstruation: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ menstruation: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 六、性格方面
|
|
|
+ bindCharacter: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ character: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 七、睡眠
|
|
|
+ bindSleep: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ sleep: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 八、舌头状态
|
|
|
+ bindTongueState: function (e) {
|
|
|
+ console.log(e)
|
|
|
+ this.setData({
|
|
|
+ tongueState: e.detail
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ //统计这8个数组,总共包含A,B,C,D,E,F的个数,返回最多的一项(也可能多项):
|
|
|
+ //如果有多个 最多 的情况,返回最多的几个,如果都是0或者空,返回空
|
|
|
+ findMostFrequentLetters: function(arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8) {
|
|
|
+
|
|
|
+ console.log('arr1='+arr1);
|
|
|
+ console.log('arr2='+arr2);
|
|
|
+ console.log('arr3='+arr3);
|
|
|
+ console.log('arr4='+arr4);
|
|
|
+ console.log('arr5='+arr5);
|
|
|
+ console.log('arr6='+arr6);
|
|
|
+ console.log('arr7='+arr7);
|
|
|
+ console.log('arr8='+arr8);
|
|
|
+ //判断6个数组是否都为空
|
|
|
+ if(this.areAllArraysEmpty(arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8))
|
|
|
+ return '';
|
|
|
+ // 初始化一个对象来存储每个字母的计数
|
|
|
+ const letterCounts = {
|
|
|
+ A: 0,
|
|
|
+ B: 0,
|
|
|
+ C: 0,
|
|
|
+ D: 0,
|
|
|
+ E: 0,
|
|
|
+ F: 0
|
|
|
+ };
|
|
|
+
|
|
|
+ // 定义一个辅助函数来更新计数
|
|
|
+ function updateCounts(arr) {
|
|
|
+ if (Array.isArray(arr)) {
|
|
|
+ arr.forEach(item => {
|
|
|
+ if (typeof item === 'string' && ['A', 'B', 'C', 'D', 'E', 'F'].includes(item)) {
|
|
|
+ letterCounts[item]++;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 对每个数组调用辅助函数
|
|
|
+ updateCounts(arr1);
|
|
|
+ updateCounts(arr2);
|
|
|
+ updateCounts(arr3);
|
|
|
+ updateCounts(arr4);
|
|
|
+ updateCounts(arr5);
|
|
|
+ updateCounts(arr6);
|
|
|
+ updateCounts(arr7);
|
|
|
+ updateCounts(arr8);
|
|
|
+ countABCDEF = letterCounts;
|
|
|
+ // 找出出现次数最多的字母及其计数
|
|
|
+ let maxCount = 0;
|
|
|
+ let mostFrequentLetters = [];
|
|
|
+
|
|
|
+ for (let letter in letterCounts) {
|
|
|
+ if (letterCounts[letter] > maxCount) {
|
|
|
+ maxCount = letterCounts[letter];
|
|
|
+ mostFrequentLetters = [letter]; // 重置为当前最多的字母
|
|
|
+ } else if (letterCounts[letter] === maxCount) {
|
|
|
+ mostFrequentLetters.push(letter); // 如果计数相同,则添加到列表中
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果所有字母的计数都是0或数组为空,则返回空
|
|
|
+ if (mostFrequentLetters.length === 0) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 返回出现次数最多的字母或字母集合
|
|
|
+ return mostFrequentLetters;
|
|
|
+ },
|
|
|
+ // 提交问卷的函数
|
|
|
+ submitSurvey: function () {
|
|
|
+ var that = this;
|
|
|
+ // 清空表单:
|
|
|
+ this.setData({
|
|
|
+ ratingResultsList: [{
|
|
|
+ index: 0,
|
|
|
+ title: "气虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_1.svg",
|
|
|
+ color: "#70B3FE",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 1,
|
|
|
+ title: "气滞型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_2.svg",
|
|
|
+ color: "#68D89E",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 2,
|
|
|
+ title: "血虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_3.svg",
|
|
|
+ color: "#FFA95A",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 3,
|
|
|
+ title: "淤血型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_4.svg",
|
|
|
+ color: "#cffc6d",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 4,
|
|
|
+ title: "水虚型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_1.svg",
|
|
|
+ color: "#80f5ff",
|
|
|
+ opacity: "0"
|
|
|
+ }, {
|
|
|
+ index: 5,
|
|
|
+ title: "痰湿型",
|
|
|
+ icon: "/subpages/icons/ic_triangle_down_2.svg",
|
|
|
+ color: "#ef00b3",
|
|
|
+ opacity: "0"
|
|
|
+ }],
|
|
|
+ });
|
|
|
+ const { nickName } = wx.getStorageSync('userInfo');
|
|
|
+ const unionid = wx.getStorageSync('unionid');
|
|
|
+ console.log('nickName==' + nickName);
|
|
|
+ console.log('unionid==' + unionid);
|
|
|
+ let resultMostFrequentLetters = this.findMostFrequentLetters(
|
|
|
+ this.getRemarkValues(this.data.bodySynthesisOptions,this.data.bodySynthesis),
|
|
|
+ this.getRemarkValues(this.data.facialFeaturesOptions,this.data.facialFeatures),
|
|
|
+ this.getRemarkValues(this.data.skinHairOptions,this.data.skinHair),
|
|
|
+ this.getRemarkValues(this.data.emotionOptions,this.data.emotion),
|
|
|
+ this.getRemarkValues(this.data.menstruationOptions,this.data.menstruation),
|
|
|
+ this.getRemarkValues(this.data.characterOptions,this.data.character),
|
|
|
+ this.getRemarkValues(this.data.sleepOptions,this.data.sleep),
|
|
|
+ this.getRemarkValues(this.data.tongueStateOptions,this.data.tongueState)
|
|
|
+ );
|
|
|
+ let comScoreIndex = [];
|
|
|
+ let _comScoreStatus = "";
|
|
|
+ let _comScoreDesc = ""
|
|
|
+ if (!resultMostFrequentLetters || !Array.isArray(resultMostFrequentLetters)) {
|
|
|
+ comScoreIndex = [];
|
|
|
+ _comScoreStatus = "";
|
|
|
+ _comScoreDesc = ""
|
|
|
+ }else{
|
|
|
+ // 遍历输入数组
|
|
|
+ resultMostFrequentLetters.forEach(item => {
|
|
|
+
|
|
|
+ if (item == 'A') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",气虚型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "气虚型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",气虚型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "气虚型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(0);
|
|
|
+ } else if (item == 'B') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",气滞型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "气滞型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",气滞型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "气滞型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(1);
|
|
|
+ } else if (item == 'C') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",血虚型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "血虚型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",血虚型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "血虚型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(2);
|
|
|
+ } else if (item == 'D') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",淤血型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "淤血型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",淤血型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "淤血型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(3);
|
|
|
+ } else if (item == 'E') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",水虚型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "水虚型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",水虚型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "水虚型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(4);
|
|
|
+ } else if (item == 'F') {
|
|
|
+ if(_comScoreStatus){
|
|
|
+ _comScoreStatus += ",痰湿型";
|
|
|
+ }else{
|
|
|
+ _comScoreStatus += "痰湿型";
|
|
|
+ }
|
|
|
+ if(_comScoreDesc){
|
|
|
+ _comScoreDesc += ",痰湿型:填写内容";
|
|
|
+ }else{
|
|
|
+ _comScoreDesc += "痰湿型:填写内容";
|
|
|
+ }
|
|
|
+ comScoreIndex.push(5);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ console.log('comScoreIndex='+comScoreIndex.join());
|
|
|
+ console.log('_comScoreStatus='+_comScoreStatus);
|
|
|
+ console.log('_comScoreDesc='+_comScoreDesc);
|
|
|
+ this.setData({
|
|
|
+ comScoreStatus: _comScoreStatus,
|
|
|
+ comScoreIndex: comScoreIndex.join(),
|
|
|
+ comScoreDesc: _comScoreDesc,
|
|
|
+ promptTextMessageFlag: true,
|
|
|
+ ratingResultsList:this.updateOpacity(this.data.ratingResultsList,comScoreIndex),
|
|
|
+ })
|
|
|
+ console.log('ratingResultsList='+JSON.stringify(this.data.ratingResultsList));
|
|
|
+ let surveyData = {
|
|
|
+ hotel: this.data.hotel,
|
|
|
+ room: this.data.room,
|
|
|
+ userId: nickName,
|
|
|
+ id2: unionid,
|
|
|
+ bodySynthesis: (!this.data.bodySynthesis || this.data.bodySynthesis.length === 0) ? '' : (Array.isArray(this.data.bodySynthesis) ? this.data.bodySynthesis.map(item => String(item)).join(',') : this.data.bodySynthesis),
|
|
|
+ facialFeatures: (!this.data.facialFeatures || this.data.facialFeatures.length === 0) ? '' : (Array.isArray(this.data.facialFeatures) ? this.data.facialFeatures.map(item => String(item)).join(',') : this.data.facialFeatures),
|
|
|
+ skinHair: (!this.data.skinHair || this.data.skinHair.length === 0) ? '' : (Array.isArray(this.data.skinHair) ? this.data.skinHair.map(item => String(item)).join(',') : this.data.skinHair),
|
|
|
+ emotion: (!this.data.emotion || this.data.emotion.length === 0) ? '' : (Array.isArray(this.data.emotion) ? this.data.emotion.map(item => String(item)).join(',') : this.data.emotion),
|
|
|
+ menstruation: (!this.data.menstruation || this.data.menstruation.length === 0) ? '' : (Array.isArray(this.data.menstruation) ? this.data.menstruation.map(item => String(item)).join(',') : this.data.menstruation),
|
|
|
+ character: (!this.data.character || this.data.character.length === 0) ? '' : (Array.isArray(this.data.character) ? this.data.character.map(item => String(item)).join(',') : this.data.character),
|
|
|
+ sleep: (!this.data.sleep || this.data.sleep.length === 0) ? '' : (Array.isArray(this.data.sleep) ? this.data.sleep.map(item => String(item)).join(',') : this.data.sleep),
|
|
|
+ //舌头状态是新增加项,赋给value1了,数据库里有value1...value8,以备增加项用
|
|
|
+ value1: (!this.data.tongueState || this.data.tongueState.length === 0) ? '' : (Array.isArray(this.data.tongueState) ? this.data.tongueState.map(item => String(item)).join(',') : this.data.tongueState),
|
|
|
+ //value2 保存A、B、C、D、E、F 每个的个数
|
|
|
+ value2:JSON.stringify(countABCDEF),
|
|
|
+ comScoreStatus: _comScoreStatus,
|
|
|
+ comScoreIndex: comScoreIndex,
|
|
|
+ comScoreDesc: _comScoreDesc,
|
|
|
+ };
|
|
|
+
|
|
|
+ var isFinish = true;
|
|
|
+ var emptyKey = "";
|
|
|
+
|
|
|
+ // if (!isFinish) {
|
|
|
+ // wx.showModal({
|
|
|
+ // title: '无法提交',
|
|
|
+ // content: '您还有部分题目未完成,请检查后重新提交',
|
|
|
+ // showCancel: false,
|
|
|
+ // confirmColor: '#0BC3AA',
|
|
|
+ // confirmText: "好的",
|
|
|
+ // success(res) {
|
|
|
+ // console.log(emptyKey.toString());
|
|
|
+ // that.setData({
|
|
|
+ // mInputId: emptyKey.toString()
|
|
|
+ // })
|
|
|
+
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // 将surveyData发送到服务器
|
|
|
+ console.log('提交的问卷数据:', surveyData);
|
|
|
+ if (!that.data.intervalId1) {
|
|
|
+ that.data.intervalId1 = setInterval(() => {
|
|
|
+ //提交到数据库
|
|
|
+ wx.request({
|
|
|
+ url: `${homeApi}/system/constitutionDiagnosis`, //
|
|
|
+ method: 'POST',
|
|
|
+ header: {
|
|
|
+ 'content-type': 'application/json', // 默认值
|
|
|
+ 'Authorization': 'Bearer ' + token // 在头部设置认证信息,例如使用Bearer Token
|
|
|
+ },
|
|
|
+ data: surveyData,
|
|
|
+ success(res) {
|
|
|
+ console.log('res===' + JSON.stringify(res));
|
|
|
+ console.log('res.code===' + res.code);
|
|
|
+ if (res && res.data && res.data.code == 200) {
|
|
|
+ if (that.data.intervalId1) {
|
|
|
+ clearInterval(that.data.intervalId1);
|
|
|
+ that.data.intervalId1 = null;
|
|
|
+ }
|
|
|
+ wx.showToast({
|
|
|
+ title: '问卷提交成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 2000,
|
|
|
+ // success() {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // wx.navigateBack()
|
|
|
+ // }, 1500);
|
|
|
+ // }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: function (error) {
|
|
|
+ console.error('error', error);
|
|
|
+ },
|
|
|
+ complete: function (e) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+
|
|
|
+ // wx.showToast({
|
|
|
+ // title: '问卷提交成功',
|
|
|
+ // icon: 'success',
|
|
|
+ // duration: 2000
|
|
|
+ // });
|
|
|
+ },
|
|
|
+ onCloseResultsDialog() {
|
|
|
+ this.setData({ promptTextMessageFlag: false });
|
|
|
+ },
|
|
|
+ onLoad(option) {
|
|
|
+ // var that = this;
|
|
|
+ // console.log("sleepEvaluation页面");
|
|
|
+ // // wx.clearStorage();
|
|
|
+ // console.log('option.res=' + JSON.stringify(wx.getStorageSync('res')));
|
|
|
+ // if (!wx.getStorageSync('res') || !wx.getStorageSync('res').result) {
|
|
|
+ // wx.showModal({
|
|
|
+ // title: '提示',
|
|
|
+ // content: '请先扫描房间二维码',
|
|
|
+ // showCancel: false
|
|
|
+ // });
|
|
|
+
|
|
|
+ // setTimeout(function () {
|
|
|
+ // wx.reLaunch({
|
|
|
+ // url: '/subpages/scan/scan',
|
|
|
+ // })
|
|
|
+ // }, 2000) // 设置延时时间,单位为毫秒
|
|
|
+ // } else if (wx.getStorageSync('res').result.split('|').length != 2) {
|
|
|
+ // wx.showModal({
|
|
|
+ // title: '提示',
|
|
|
+ // content: '房间二维码不正确,请重新扫码',
|
|
|
+ // showCancel: false
|
|
|
+ // });
|
|
|
+
|
|
|
+ // setTimeout(function () {
|
|
|
+ // wx.reLaunch({
|
|
|
+ // url: '/subpages/scan/scan',
|
|
|
+ // })
|
|
|
+ // }, 2000) // 设置延时时间,单位为毫秒
|
|
|
+ // } else {
|
|
|
+ // let hotelTemp = '';
|
|
|
+ // let roomTemp = '';
|
|
|
+
|
|
|
+ // hotelTemp = wx.getStorageSync('res').result.split('|')[0];
|
|
|
+ // roomTemp = wx.getStorageSync('res').result.split('|')[1];
|
|
|
+ // this.setData({
|
|
|
+ // hotel: hotelTemp,
|
|
|
+ // room: roomTemp,
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+
|
|
|
+ },
|
|
|
+ areAllArraysEmpty: function (arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8) {
|
|
|
+ // 定义一个数组来包含所有传入的数组
|
|
|
+ const arrays = [arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8];
|
|
|
+
|
|
|
+ // 遍历这个数组,检查每一项(即传入的数组)是否为空
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
+ // 检查当前数组是否为空(即长度为0)
|
|
|
+ if (arrays[i] && arrays[i].length > 0) {
|
|
|
+ // 如果发现任何一个数组不为空,则返回false
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果所有数组都检查过了,且都是空的,则返回true
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ //根据第二个数组对应第一个数组的value列,取第一个数组的remark的值,组成新的数组
|
|
|
+ getRemarkValues: function(options, values) {
|
|
|
+
|
|
|
+ if (!options || options.length === 0 || !values || values.length === 0) {
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ // 初始化一个空数组来存储结果
|
|
|
+ let remarkValues = [];
|
|
|
+
|
|
|
+ // 遍历values数组
|
|
|
+ values.forEach(value => {
|
|
|
+ // 遍历options数组
|
|
|
+ options.forEach(option => {
|
|
|
+ // 如果找到了对应的value,则将该option的remark添加到result数组中
|
|
|
+ if (option.value == value) {
|
|
|
+ remarkValues.push(option.remark);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ console.log('remarkValues='+remarkValues);
|
|
|
+ // 返回包含所有remark值的数组
|
|
|
+ return remarkValues;
|
|
|
+ },
|
|
|
+
|
|
|
+ // ratingResultsList里的index和list字段相对应,如果两个值相等,将opacity的值改为'1'
|
|
|
+ updateOpacity: function(ratingResultsList, list) {
|
|
|
+ // 如果ratingResultsList为空,则直接返回
|
|
|
+ if (!ratingResultsList || ratingResultsList.length === 0) {
|
|
|
+ return ratingResultsList;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果list为空,则直接返回原ratingResultsList
|
|
|
+ if (!list || list.length === 0) {
|
|
|
+ return ratingResultsList;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 否则,进行更新操作
|
|
|
+ return ratingResultsList.map(item => {
|
|
|
+ // 如果item的index在list中,则修改opacity为'1',否则保持原样
|
|
|
+ if (list.includes(item.index)) {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ opacity: '1'
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ submitDB: function () {
|
|
|
+ var that = this;
|
|
|
+ if (!that.data.intervalId1) {
|
|
|
+ that.data.intervalId1 = setInterval(() => {
|
|
|
+ that.submitSurvey();
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShow: function (options) {
|
|
|
+ // var that = this;
|
|
|
+ // if (!that.data.intervalId2) {
|
|
|
+ // that.data.intervalId2 = setInterval(() => {
|
|
|
+ // // 这里执行你的代码
|
|
|
+ // console.log('sleepEvaluation页面:'+Date.now());
|
|
|
+ // }, 10000);
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ // startInterval: function () {
|
|
|
+ // var that = this;
|
|
|
+ // if (!that.data.intervalId) {
|
|
|
+ // that.data.intervalId = setInterval(() => {
|
|
|
+ // that.submitSurvey();
|
|
|
+ // }, 1000);
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // clearInterval: function () {
|
|
|
+ // var that = this;
|
|
|
+ // if (that.data.intervalId) {
|
|
|
+ // clearInterval(that.data.intervalId);
|
|
|
+ // that.data.intervalId = null;
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面隐藏
|
|
|
+ */
|
|
|
+ onHide: function () {
|
|
|
+ var that = this;
|
|
|
+ if (that.data.intervalId1) {
|
|
|
+ clearInterval(that.data.intervalId1);
|
|
|
+ that.data.intervalId1 = null;
|
|
|
+ }
|
|
|
+ // if (this.data.intervalId2) {
|
|
|
+ // clearInterval(this.data.intervalId2);
|
|
|
+ // this.data.intervalId2 = null; // 可选,但建议清除以避免潜在的错误
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面卸载
|
|
|
+ */
|
|
|
+ onUnload: function () {
|
|
|
+ var that = this;
|
|
|
+ if (that.data.intervalId1) {
|
|
|
+ clearInterval(that.data.intervalId1);
|
|
|
+ that.data.intervalId1 = null;
|
|
|
+ }
|
|
|
+ // if (this.data.intervalId2) {
|
|
|
+ // clearInterval(this.data.intervalId2);
|
|
|
+ // this.data.intervalId2 = null; // 可选,但建议清除以避免潜在的错误
|
|
|
+ // }
|
|
|
+ },
|
|
|
+});
|