From 6ea0c2443653cc9989bb582b0df4826ba236a8fc Mon Sep 17 00:00:00 2001 From: miaojiale <1123971748@qq.com> Date: Fri, 15 Dec 2023 11:28:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=97=AE=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/axios/api/index.js | 20 + src/axios/request/http.js | 38 +- src/components/FormComponents/index.vue | 702 ++++++++++++++++++++++++ src/pages/questionnaire.vue | 131 +++++ src/router/index.js | 8 +- 5 files changed, 888 insertions(+), 11 deletions(-) create mode 100644 src/components/FormComponents/index.vue create mode 100644 src/pages/questionnaire.vue diff --git a/src/axios/api/index.js b/src/axios/api/index.js index 0e10071..03841f9 100644 --- a/src/axios/api/index.js +++ b/src/axios/api/index.js @@ -22,5 +22,25 @@ export const API = { }, putFeedback: (data) => { return post(`/disease-data/follow-up/feedback`, data) + }, + //////////// + // 获取问卷调查 + getQuestionnaireList: (data) => { + return get(`/disease-data/questionnaire/list`, data) + }, + + // 获取问卷记录 + getQuestionnaireRecords: (data) => { + return get(`/disease-data/questionnaire/records`, data) + }, + + // 获取用户信息 + getPatientInfo: (data) => { + return get(`/disease-data/patient/info`, data) + }, + + // 提交问卷 + setQuestionnaire: (data) => { + return post(`/disease-data/questionnaire`, data) } } diff --git a/src/axios/request/http.js b/src/axios/request/http.js index 5db762f..5847311 100644 --- a/src/axios/request/http.js +++ b/src/axios/request/http.js @@ -5,7 +5,7 @@ import qs from "qs" import { MessageBox, Toast } from "mint-ui" //接口报错弹出 let CommonAlert = function (msg) { - if (msg.length > 0) { + if (msg && msg.length > 0) { return Toast({ message: msg, duration: 1500 @@ -49,7 +49,7 @@ const toLogin = () => { axios.interceptors.response.use( (response) => { if (response.data.code === 0 || response.data.code === -1) { - CommonAlert(response.data.message) + CommonAlert(response.data.message || response.data.msg) } else if (response.data.code === -100) { localStorage.removeItem("vd_token") // window.location.hash = "/login"; @@ -128,14 +128,24 @@ axios.interceptors.response.use( */ export function get(url, params = {}) { return new Promise((resolve, reject) => { - axios.get(url, { params }).then( - (response) => { - resolve(response.data) - }, - (err) => { - reject(err) - } - ) + axios + .get(url, { params }) + .then( + (response) => { + resolve(response.data) + }, + (err) => { + reject(err) + } + ) + .catch( + (response) => { + resolve(response.data) + }, + (err) => { + reject(err) + } + ) }) } @@ -160,6 +170,14 @@ export function post(url, data = {}, params = {}) { reject(err) } ) + .catch( + (response) => { + resolve(response.data) + }, + (err) => { + reject(err) + } + ) }) } export function postForm(url, data = {}) { diff --git a/src/components/FormComponents/index.vue b/src/components/FormComponents/index.vue new file mode 100644 index 0000000..9a1fcc0 --- /dev/null +++ b/src/components/FormComponents/index.vue @@ -0,0 +1,702 @@ + + + + + diff --git a/src/pages/questionnaire.vue b/src/pages/questionnaire.vue new file mode 100644 index 0000000..ec0e5d2 --- /dev/null +++ b/src/pages/questionnaire.vue @@ -0,0 +1,131 @@ + + + diff --git a/src/router/index.js b/src/router/index.js index 5ae763d..c743ade 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,7 +5,7 @@ Vue.use(Router); const page = [ { path: "/", - redirect: "/feedback" //调试 + // redirect: "/feedback" //调试 }, { path: "/login", @@ -18,6 +18,12 @@ const page = [ meta: { index: 2, keepAlive: false }, name: "feedback", component: () => import("@/pages/feedback") + }, + { + path: `/questionnaire/:dataId`, + meta: { index: 2, keepAlive: false }, + name: "questionnaire", + component: () => import("@/pages/questionnaire") } ]; -- 2.22.0