diff --git a/acupuncture-前台/src/utils/request.js b/acupuncture-前台/src/utils/request.js index 0f4920a7..e943a3be 100644 --- a/acupuncture-前台/src/utils/request.js +++ b/acupuncture-前台/src/utils/request.js @@ -1,114 +1,151 @@ -import axios from 'axios' -import { Notification, MessageBox, Message, Loading } from 'element-ui' -import store from '@/store' -import { getToken } from '@/utils/auth' -import errorCode from '@/utils/errorCode' +import axios from "axios"; +import { Notification, MessageBox, Message, Loading } from "element-ui"; +import store from "@/store"; +import { getToken } from "@/utils/auth"; +import errorCode from "@/utils/errorCode"; import { tansParams, blobValidate } from "@/utils/ruoyi"; -import cache from '@/plugins/cache' -import { saveAs } from 'file-saver' +import cache from "@/plugins/cache"; +import { saveAs } from "file-saver"; let downloadLoadingInstance; // 是否显示重新登录 export let isRelogin = { show: false }; -axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' +axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8"; // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: process.env.VUE_APP_BASE_API, // 超时 - timeout: 10000 -}) + timeout: 10000, +}); // request拦截器 -service.interceptors.request.use(config => { - // 是否需要设置 token - const isToken = (config.headers || {}).isToken === false - // 是否需要防止数据重复提交 - const isRepeatSubmit = (config.headers || {}).repeatSubmit === false - if (getToken() && !isToken) { - config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 - } - // get请求映射params参数 - if (config.method === 'get' && config.params) { - let url = config.url + '?' + tansParams(config.params); - url = url.slice(0, -1); - config.params = {}; - config.url = url; - } - if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { - const requestObj = { - url: config.url, - data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, - time: new Date().getTime() +service.interceptors.request.use( + (config) => { + // 是否需要设置 token + const isToken = (config.headers || {}).isToken === false; + // 是否需要防止数据重复提交 + const isRepeatSubmit = (config.headers || {}).repeatSubmit === false; + if (getToken() && !isToken) { + config.headers["Authorization"] = "Bearer " + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改 } - const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 - const limitSize = 5 * 1024 * 1024; // 限制存放数据5M - if (requestSize >= limitSize) { - console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制,无法进行防重复提交验证。') - return config; + if (localStorage.getItem("tenantId")) { + config.headers.TENANT_ID = localStorage.getItem("tenantId"); } - const sessionObj = cache.session.getJSON('sessionObj') - if (sessionObj === undefined || sessionObj === null || sessionObj === '') { - cache.session.setJSON('sessionObj', requestObj) - } else { - const s_url = sessionObj.url; // 请求地址 - const s_data = sessionObj.data; // 请求数据 - const s_time = sessionObj.time; // 请求时间 - const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 - if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { - const message = '数据正在处理,请勿重复提交'; - console.warn(`[${s_url}]: ` + message) - return Promise.reject(new Error(message)) + // get请求映射params参数 + if (config.method === "get" && config.params) { + let url = config.url + "?" + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + if ( + !isRepeatSubmit && + (config.method === "post" || config.method === "put") + ) { + const requestObj = { + url: config.url, + data: + typeof config.data === "object" + ? JSON.stringify(config.data) + : config.data, + time: new Date().getTime(), + }; + const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 + const limitSize = 5 * 1024 * 1024; // 限制存放数据5M + if (requestSize >= limitSize) { + console.warn( + `[${config.url}]: ` + + "请求数据大小超出允许的5M限制,无法进行防重复提交验证。" + ); + return config; + } + const sessionObj = cache.session.getJSON("sessionObj"); + if ( + sessionObj === undefined || + sessionObj === null || + sessionObj === "" + ) { + cache.session.setJSON("sessionObj", requestObj); } else { - cache.session.setJSON('sessionObj', requestObj) + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if ( + s_data === requestObj.data && + requestObj.time - s_time < interval && + s_url === requestObj.url + ) { + const message = "数据正在处理,请勿重复提交"; + console.warn(`[${s_url}]: ` + message); + return Promise.reject(new Error(message)); + } else { + cache.session.setJSON("sessionObj", requestObj); + } } } + return config; + }, + (error) => { + console.log(error); + Promise.reject(error); } - return config -}, error => { - console.log(error) - Promise.reject(error) -}) +); // 响应拦截器 -service.interceptors.response.use(res => { +service.interceptors.response.use( + (res) => { // 未设置状态码则默认成功状态 const code = res.data.code || 200; // 获取错误信息 - const msg = errorCode[code] || res.data.msg || errorCode['default'] + const msg = errorCode[code] || res.data.msg || errorCode["default"]; // 二进制数据则直接返回 - if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { - return res.data + if ( + res.request.responseType === "blob" || + res.request.responseType === "arraybuffer" + ) { + return res.data; } if (code === 401) { if (!isRelogin.show) { isRelogin.show = true; - MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { - isRelogin.show = false; - store.dispatch('LogOut').then(() => { - location.href = process.env.VUE_APP_PUBLIC_PATH; + MessageBox.confirm( + "登录状态已过期,您可以继续留在该页面,或者重新登录", + "系统提示", + { + confirmButtonText: "重新登录", + cancelButtonText: "取消", + type: "warning", + } + ) + .then(() => { + isRelogin.show = false; + store.dispatch("LogOut").then(() => { + location.href = process.env.VUE_APP_PUBLIC_PATH; + }); }) - }).catch(() => { - isRelogin.show = false; - }); - } - return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + .catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject("无效的会话,或者会话已过期,请重新登录。"); } else if (code === 500) { - Message({ message: msg, type: 'error' }) - return Promise.reject(new Error(msg)) + Message({ message: msg, type: "error" }); + return Promise.reject(new Error(msg)); } else if (code === 601) { - Message({ message: msg, type: 'warning' }) - return Promise.reject('error') + Message({ message: msg, type: "warning" }); + return Promise.reject("error"); } else if (code !== 200) { - Notification.error({ title: msg }) - return Promise.reject('error') + Notification.error({ title: msg }); + return Promise.reject("error"); } else { - return res.data + return res.data; } }, - error => { - console.log('err' + error) + (error) => { + console.log("err" + error); let { message } = error; if (message == "Network Error") { message = "后端接口连接异常"; @@ -117,36 +154,48 @@ service.interceptors.response.use(res => { } else if (message.includes("Request failed with status code")) { message = "系统接口" + message.substr(message.length - 3) + "异常"; } - Message({ message: message, type: 'error', duration: 5 * 1000 }) - return Promise.reject(error) + Message({ message: message, type: "error", duration: 5 * 1000 }); + return Promise.reject(error); } -) +); // 通用下载方法 export function download(url, params, filename, config) { - downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) - return service.post(url, params, { - transformRequest: [(params) => { return tansParams(params) }], - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - responseType: 'blob', - ...config - }).then(async (data) => { - const isBlob = blobValidate(data); - if (isBlob) { - const blob = new Blob([data]) - saveAs(blob, filename) - } else { - const resText = await data.text(); - const rspObj = JSON.parse(resText); - const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] - Message.error(errMsg); - } - downloadLoadingInstance.close(); - }).catch((r) => { - console.error(r) - Message.error('下载文件出现错误,请联系管理员!') - downloadLoadingInstance.close(); - }) + downloadLoadingInstance = Loading.service({ + text: "正在下载数据,请稍候", + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }); + return service + .post(url, params, { + transformRequest: [ + (params) => { + return tansParams(params); + }, + ], + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + responseType: "blob", + ...config, + }) + .then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]); + saveAs(blob, filename); + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = + errorCode[rspObj.code] || rspObj.msg || errorCode["default"]; + Message.error(errMsg); + } + downloadLoadingInstance.close(); + }) + .catch((r) => { + console.error(r); + Message.error("下载文件出现错误,请联系管理员!"); + downloadLoadingInstance.close(); + }); } // 通用下载方法 export function download1(url, params, filename, config) { @@ -182,4 +231,4 @@ export function download1(url, params, filename, config) { }); } -export default service +export default service; diff --git a/acupuncture-前台/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue index 49271ccf..c016edab 100644 --- a/acupuncture-前台/src/views/followFile/subjects.vue +++ b/acupuncture-前台/src/views/followFile/subjects.vue @@ -8,12 +8,12 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="" prop="queueId"> + <!-- <el-form-item label="" prop="queueId"> <el-checkbox-group v-model="haveQueue"> <el-checkbox >未参加队列人员</el-checkbox> </el-checkbox-group> </el-form-item> - <el-form-item> + <el-form-item> --> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置 @@ -213,10 +213,10 @@ }, /** 搜索按钮操作 */ handleQuery() { - this.queryParams.param.haveQueue = '' - if(this.haveQueue){ - this.queryParams.param.haveQueue = 0 - } + // this.queryParams.param.haveQueue = '' + // if(this.haveQueue){ + // this.queryParams.param.haveQueue = 0 + // } this.queryParams.pageNum = 1; this.getList(); }, diff --git a/acupuncture-前台/src/views/index.vue b/acupuncture-前台/src/views/index.vue index 6b00ed96..f5752c9e 100644 --- a/acupuncture-前台/src/views/index.vue +++ b/acupuncture-前台/src/views/index.vue @@ -13,22 +13,14 @@ <div style="height: 14px"></div> <div> <el-card shadow="always"> - <search - @picker-change="pickerChage" - title="诊疗信息统计" - type="2" - ></search> + <search @picker-change="pickerChage" title="病情评估" type="2"></search> </el-card> <JM ref="JM"></JM> </div> <div style="height: 14px"></div> <div> <el-card shadow="always"> - <search - @picker-change="pickerChage" - title="治疗类型统计" - type="3" - ></search> + <search @picker-change="pickerChage" title="诊疗信息" type="3"></search> </el-card> <XGZL ref="XGZL"></XGZL> </div> diff --git a/acupuncture-前台/src/views/medicalFile/components/posture/SRS22.vue b/acupuncture-前台/src/views/medicalFile/components/posture/SRS22.vue index 3dc9fb8d..32edd0e5 100644 --- a/acupuncture-前台/src/views/medicalFile/components/posture/SRS22.vue +++ b/acupuncture-前台/src/views/medicalFile/components/posture/SRS22.vue @@ -345,7 +345,7 @@ export default { satisfaction: calculateDimensionScore(dimensions.satisfaction), }; - // 3. 总得分计算: + // 总得分计算: // SRS-22量表的总得分是五个维度得分的平均值 // 计算总得分 const totalScore = @@ -355,13 +355,22 @@ export default { dimensionScores.mentalHealth + dimensionScores.satisfaction) / 5; - console.log("totalScore", totalScore); // 存储数据 this.scaleData[this.treatmentId][this.scaleCode] = this.form; localStorage.setItem("scaleData", JSON.stringify(this.scaleData)); - // // 将数据传递给父组件 - this.$emit("getScaleResult", totalScore, this.scaleCode); + // 格式化总得分,结果有小数则保留两位小数 + const formattedTotalScore = this.formatTotalScore(totalScore); + console.log("totalScore", totalScore); + console.log("formattedTotalScore", formattedTotalScore); + + // 将数据传递给父组件 + this.$emit("getScaleResult", formattedTotalScore, this.scaleCode); + }, + + // 判断总分是否包含小数,如果包含小数,则保留二位小数,否则不保留小数 + formatTotalScore(score) { + return Number.isInteger(score) ? score : parseFloat(score.toFixed(2)); }, }, }; diff --git a/acupuncture-前台/src/views/medicalFile/details.vue b/acupuncture-前台/src/views/medicalFile/details.vue index da8e04d2..b1eecbd4 100644 --- a/acupuncture-前台/src/views/medicalFile/details.vue +++ b/acupuncture-前台/src/views/medicalFile/details.vue @@ -21,6 +21,9 @@ <el-descriptions-item label="性别"> {{ form.gender == 0 ? "男" : "女" }} </el-descriptions-item> + <el-descriptions-item label="出生日期"> + {{ parseTime(form.birthDate, "{y}-{m}-{d}") }} + </el-descriptions-item> <el-descriptions-item label="年龄"> {{ form.age }} </el-descriptions-item> @@ -30,8 +33,8 @@ <el-descriptions-item label="门诊号/住院号"> {{ form.visitNumber }} </el-descriptions-item> - <el-descriptions-item label="门诊时间/住院时间"> - {{ form.visitTime }} + <el-descriptions-item label="门诊/住院时间"> + {{ parseTime(form.visitTime, "{y}-{m}-{d}") }} </el-descriptions-item> <el-descriptions-item label="责任医生"> {{ form.doctor }} @@ -80,7 +83,7 @@ <a name="病情评估"></a> <div class="div-title1">病情评估</div> <div class="div-title2"> - 人体成分 + 人体成分分析 <span @click="getHumanBody" class="foem-item-pg">同步</span> <!-- <span style="margin-left: 10px" @@ -126,7 +129,7 @@ placeholder="请输入" /> </el-form-item> - <el-form-item label="蛋白质" prop="PG_RTCF_GZ"> + <el-form-item label="骨质" prop="PG_RTCF_GZ"> <el-input :disabled="form.status != 0 && form.status != 3" v-model="detailsForm['PG_RTCF_GZ']" @@ -211,12 +214,12 @@ /> </el-form-item> </div> - </el-card> - <el-card class="box-card"> + <div style="height: 10px"></div> <a name="中医体质辨识"></a> - <div class="div-title1">中医体质辨识</div> + <div class="div-title2">中医体质辨识</div> <div> <el-form-item + class="item-form-jjtz" prop="PG_TZBS_ZYTZ" label="主要体质" style="margin-bottom: 0" @@ -237,7 +240,7 @@ class="item-form-jjtz" prop="PG_TZBS_JJTZ" label="兼夹体质" - style="margin-bottom: 0" + style="margin-bottom: 5px" > <div style="width: 100%"> <el-checkbox-group @@ -254,12 +257,9 @@ </div> </el-form-item> </div> - </el-card> - <!-- 体态评估 --> - <el-card class="box-card"> + <div style="height: 10px"></div> <a name="体态评估"></a> <div> - <div class="div-title1">量表评估</div> <div class="div-title2">体态评估</div> <div class="human-body"> <el-form-item label="" prop="PG_TT_TAPS_DF"> @@ -320,6 +320,7 @@ /> </el-form-item> </div> + <div style="height: 10px"></div> <div class="div-title2">失眠评估</div> <div class="human-body"> <el-form-item prop="PG_SM_PHQ-9_DF"> @@ -387,6 +388,7 @@ /> </el-form-item> </div> + <div style="height: 10px"></div> <div class="div-title2">焦虑评估</div> <div class="human-body"> <el-form-item prop="PG_JL_HAMD-24_DF"> @@ -431,6 +433,7 @@ </div> </div> </el-card> + <!-- 治疗类型 --> <el-card class="box-card"> <a name="治疗类型"></a> @@ -449,7 +452,7 @@ <!-- 诊疗方法 --> <el-card class="box-card"> <a name="诊疗方法"></a> - <div style="font-size: 22px; margin-bottom: 14px" class="div-title1"> + <div style="font-size: 22px; margin-bottom: 0px" class="div-title1"> 诊疗方法 </div> <div @@ -457,10 +460,15 @@ :key="ind" v-if="getzzffShow(i.title)" > - <div class="div-title2">{{ i.title }}</div> + <div + class="div-title2" + style="line-height: 36px; margin: 14px 0 0 0" + > + {{ i.title }} + </div> <div v-for="(j, jnd) in i.list" :key="jnd"> - <div v-if="j.title != '针灸疗法'"> - <div class="div-title3">{{ j.title }}</div> + <div> + <div class="div-title">{{ j.title }}</div> <el-radio :disabled="form.status != 0 && form.status != 3" border @@ -493,15 +501,17 @@ class="human-body" v-if="o.type == 'input'" > - <el-form-item prop="ZLFA_ZJ_XW_QT"> - <el-input v-model="detailsForm[j.valueCode]"></el-input> - </el-form-item> + <el-input + style="width: 300px; margin: 5px" + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm[j.valueCode]" + ></el-input> </div> </div> - <div v-else> - <div class="div-title3">{{ j.title }}</div> + <!-- <div v-else> + <div class="div-title">{{ j.title }}</div> <div style="" v-for="(k, knd) in j.list" :key="knd"> - <div class="div-title4" style="margin: 5px 0"> + <div class="div-title"> {{ k.title }} </div> <el-checkbox @@ -532,15 +542,14 @@ class="human-body" v-if="o.type == 'input'" > - <el-form-item prop="ZLFA_YW_QT"> - <el-input - :disabled="form.status != 0 && form.status != 3" - v-model="detailsForm[k.valueCode]" - ></el-input> - </el-form-item> + <el-input + style="width: 300px; margin: 5px" + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm[k.valueCode]" + ></el-input> </div> </div> - </div> + </div> --> </div> </div> </el-card> @@ -567,11 +576,11 @@ <!-- 诊疗费用 --> <el-card class="box-card"> <a name="诊疗费用"></a> - <div class="div-title2">诊疗费用</div> + <div class="div-title1">诊疗费用</div> <el-form-item label="总体费用按照区间进行选择" prop="ZLFA_ZTFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -587,7 +596,7 @@ <el-form-item label="检查费用按照区间进行选择" prop="ZLFA_JCFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -603,7 +612,7 @@ <el-form-item label="中医治疗费用按照区间进行选择" prop="ZLFA_ZYZLFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -619,7 +628,7 @@ <el-form-item label="药物费用按照区间进行选择" prop="ZLFA_YWFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -636,27 +645,30 @@ <!-- 随访队列 --> <el-card class="box-card"> <a name="随访队列"></a> - <div class="div-title2">随访队列</div> - <el-select - :disabled="form.status != 0 && form.status != 3" - v-model="detailsForm['SFDL']" - multiple - placeholder="请选择" - > - <el-option - v-for="item in followupList" - :key="item.id" - :label="item.name" - :value="item.id" + <div class="div-title1" style="margin-bottom: 18px">随访队列</div> + <div style="width: 360px"> + <!-- collapse-tags --> + <el-select + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm['SFDL']" + multiple + placeholder="请选择" > - </el-option> - </el-select> + <el-option + v-for="item in followupList" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </div> </el-card> </el-form> <div slot="footer" class="dialog-footer"> <el-button :disabled="form.status != 0 && form.status != 3" - style="width: 140px" + style="width: 200px; margin: 50px 0 20px 0" type="primary" @click="submitDetailsForm" >确 定</el-button @@ -725,7 +737,6 @@ export default { data() { return { followupList: [], - title: "", // 弹出框标题 open: false, // 是否显示弹出框 status: { @@ -808,13 +819,13 @@ export default { title: "行为技能训练:辅导有效的应对压力技巧,避免因情绪波动导致过度进食,训练正念饮食,提高对饥饿和饱足感的感知能力", value: "行为技能训练", - type: "but", + type: "checkout", }, { title: "目标设定与追踪:与患者共同设立短期和长期减重目标,定期进行进度评估,强化正面反馈,提高自我管理能力", value: "目标设定与追踪", - type: "but", + type: "checkout", }, ], }, @@ -826,13 +837,13 @@ export default { title: "有氧运动:如快走、慢跑、游泳等,建议每周至少进行150分钟中等强度的有氧运动", value: "有氧运动", - type: "but", + type: "checkout", }, { title: "抗阻运动:如举重、俯卧撑等,建议每周进行2-3次抗阻运动", value: "抗阻运动", - type: "but", + type: "checkout", }, ], }, @@ -844,80 +855,75 @@ export default { title: "限能量饮食:在限制能量摄入(日常饮食能量减去30%)的基础上,营养素比例符合平衡膳食的要求", value: "限能量饮食", - type: "but", + type: "checkout", }, { title: "高蛋白饮食:每日蛋白质摄入量超过20%,但一般不高于35%", value: "高蛋白饮食", - type: "but", + type: "checkout", }, { title: "低碳水化合物饮食:碳水化合物供能比一般在20%-40%", value: "低碳水化合物饮食", - type: "but", + type: "checkout", }, { title: "断食:如5+2模式,1周中5天相对正常进食,其他2天摄取平常的1/4能量", value: "断食", - type: "but", + type: "checkout", }, ], }, { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF", + list: [ + { + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", + }, + { + title: "耳穴贴压疗法", + type: "checkout", + }, + { + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "神门:安神定志,改善睡眠质量", + value: "神门", + type: "checkout", + }, + { + title: "三阴交:调理脾胃,养血安神", + value: "三阴交", + type: "checkout", + }, + { + title: "百会:调节大脑功能,促进睡眠", + value: "百会", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW", - list: [ - { - title: "神门:安神定志,改善睡眠质量", - value: "神门", - type: "checkout", - }, - { - title: "三阴交:调理脾胃,养血安神", - value: "三阴交", - type: "checkout", - }, - { - title: "百会:调节大脑功能,促进睡眠", - value: "百会", - type: "checkout", - }, - { - title: "安眠:直接作用于睡眠中枢,帮助入睡", - value: "安眠", - type: "checkout", - }, - ], + title: "安眠:直接作用于睡眠中枢,帮助入睡", + value: "安眠", + type: "checkout", }, ], }, @@ -966,19 +972,19 @@ export default { title: "科学膳食:避免午后摄入咖啡、茶、酒精等刺激性饮品,以及睡前过度进食", value: "科学膳食", - type: "but", + type: "checkout", }, { title: "充足日照:增加日间自然光照,减少夜间人工光源,特别是电子产品的使用", value: "充足日照", - type: "but", + type: "checkout", }, { title: "合理运动:推荐瑜伽、太极拳、八段锦等传统运动,有助于改善睡眠质量", value: "合理运动", - type: "but", + type: "checkout", }, ], }, @@ -990,76 +996,71 @@ export default { title: "放松训练:包括渐进式肌肉放松训练、腹式呼吸、冥想等,可降低紧张与过度警觉,提高睡眠质量", value: "放松训练", - type: "but", + type: "checkout", }, { title: "音乐疗法:轻柔舒缓的音乐可以降低神经系统兴奋性,减轻焦虑情绪从而改善睡眠", value: "音乐疗法", - type: "but", + type: "checkout", }, { title: "认知调整:不灾难化和过分关注失眠,不因偶尔失眠而产生挫败感,培养失眠的耐受性", value: "认知调整", - type: "but", + type: "checkout", }, ], }, { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF_SMZ", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF_SMZ", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW_SMZ", - list: [ - { - title: "神门:安神定志,改善睡眠质量", - value: "神门", - type: "checkout", - }, - { - title: "三阴交:调理脾胃,养血安神", - value: "三阴交", - type: "checkout", - }, - { - title: "百会:调节大脑功能,促进睡眠", - value: "百会", - type: "checkout", - }, - { - title: "安眠:直接作用于睡眠中枢,帮助入睡", - value: "安眠", - type: "checkout", - }, - ], + title: "耳穴贴压疗法", + type: "checkout", + }, + { + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW_SMZ", + list: [ + { + title: "神门:安神定志,改善睡眠质量", + value: "神门", + type: "checkout", + }, + { + title: "三阴交:调理脾胃,养血安神", + value: "三阴交", + type: "checkout", + }, + { + title: "百会:调节大脑功能,促进睡眠", + value: "百会", + type: "checkout", + }, + { + title: "安眠:直接作用于睡眠中枢,帮助入睡", + value: "安眠", + type: "checkout", }, ], }, @@ -1105,42 +1106,37 @@ export default { list: [ { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF_QT", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF_QT", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", + }, + { + title: "耳穴贴压疗法", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW_QT", - list: [ - { - title: "填写", - type: "input", - }, - ], + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW_QT", + list: [ + { + title: "填写", + type: "input", }, ], }, @@ -1188,15 +1184,15 @@ export default { "PG_JL_HAMD-24_DF": "", //汉密尔顿抑郁评估(HAMD-24)得分 PG_JL_SAS_DF: "", //焦虑自评量表(SAS)得分 ZLFA_ZLLX: "", //治疗方式 - ZLFA_XWXLGY: "", // 行为心理干预 - ZLFA_YDGY: "", //运动干预 + ZLFA_XWXLGY: [], // 行为心理干预 + ZLFA_YDGY: [], //运动干预 ZLFA_ZJ_LF: [], //针灸疗法-疗法 ZLFA_ZJ_XW: [], //针灸疗法-穴位 ZLFA_YW: [], //药物治疗 - ZLFA_SHXG: "", // 生活习惯 - ZLFA_XLTS: "", //心理调适 + ZLFA_SHXG: [], // 生活习惯 + ZLFA_XLTS: [], //心理调适 - ZLFA_LCYYZL: "", //临床用药治疗 + ZLFA_LCYYZL: [], //临床用药治疗 ZLFA_ZJ_LF_SMZ: [], // 失眠症-针灸疗法-疗法 ZLFA_ZJ_XW_SMZ: [], // 失眠症-针灸疗法-穴位 ZLFA_YW_SMZ: [], // 失眠症-药物治疗 @@ -1340,7 +1336,6 @@ export default { }).then((res) => { let arrList = [ "JBXX_ZYZD", - "PG_RTCF_TXLX", "PG_TZBS_JJTZ", "SFDL", "ZLFA_ZJ_LF", @@ -1350,6 +1345,11 @@ export default { "ZLFA_ZJ_XW_SMZ", "ZLFA_YW_SMZ", "ZLFA_ZJ_LF_QT", + "ZLFA_XWXLGY", + "ZLFA_YDGY", + "ZLFA_LCYYZL", + "ZLFA_SHXG", + "ZLFA_XLTS", ]; let recordValDict = res.data.recordValDict; for (let key in recordValDict) { @@ -1408,15 +1408,15 @@ export default { "PG_JL_HAMD-24_DF": "", //汉密尔顿抑郁评估(HAMD-24)得分 PG_JL_SAS_DF: "", //焦虑自评量表(SAS)得分 ZLFA_ZLLX: "", //治疗方式 - ZLFA_XWXLGY: "", // 行为心理干预 - ZLFA_YDGY: "", //运动干预 + ZLFA_XWXLGY: [], // 行为心理干预 + ZLFA_YDGY: [], //运动干预 ZLFA_ZJ_LF: [], //针灸疗法-疗法 ZLFA_ZJ_XW: [], //针灸疗法-穴位 ZLFA_YW: [], //药物治疗 - ZLFA_SHXG: "", // 生活习惯 - ZLFA_XLTS: "", //心理调适 + ZLFA_SHXG: [], // 生活习惯 + ZLFA_XLTS: [], //心理调适 - ZLFA_LCYYZL: "", //临床用药治疗 + ZLFA_LCYYZL: [], //临床用药治疗 ZLFA_ZJ_LF_SMZ: [], // 失眠症-针灸疗法-疗法 ZLFA_ZJ_XW_SMZ: [], // 失眠症-针灸疗法-穴位 ZLFA_YW_SMZ: [], // 失眠症-药物治疗 @@ -1462,6 +1462,23 @@ export default { <style scoped src="@/assets/styles/common.css"></style> <!-- box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); --> <style scoped> +.div-zlfy-label { + margin-bottom: 0; + display: flex; + align-items: center; + flex-wrap: wrap; +} +.div-zlfy-label >>> .el-form-item__label { + width: 210px; +} +.div-title { + font-weight: bold; + vertical-align: middle; + font-size: 14px; + color: #606266; + line-height: 26px; + -webkit-box-sizing: border-box; +} >>> .el-radio { padding: 0 10px !important; line-height: 34px; diff --git a/acupuncture-前台/src/views/medicalFile/index.vue b/acupuncture-前台/src/views/medicalFile/index.vue index 26e52efe..b545b25a 100644 --- a/acupuncture-前台/src/views/medicalFile/index.vue +++ b/acupuncture-前台/src/views/medicalFile/index.vue @@ -125,7 +125,7 @@ >删除</el-button > </el-col> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="info" plain @@ -147,7 +147,7 @@ v-hasPermi="['medicalFile:index:import']" >导入</el-button > - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="warning" @@ -222,6 +222,18 @@ <span v-if="scope.row.gender == 1">女</span> </template> </el-table-column> + <el-table-column + label="出生日期" + align="center" + show-overflow-tooltip + min-width="130" + > + <template slot-scope="scope"> + <span> + {{ parseTime(scope.row.birthDate, "{y}-{m}-{d}") }} + </span> + </template> + </el-table-column> <el-table-column label="年龄" align="center" @@ -294,7 +306,7 @@ > <template slot-scope="scope"> <span> - {{ parseTime(scope.row.visitTime, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(scope.row.visitTime, "{y}-{m}-{d}") }} </span> </template> </el-table-column> @@ -307,7 +319,7 @@ > <template slot-scope="scope"> <span> - {{ parseTime(scope.row.dischargeTime, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(scope.row.dischargeTime, "{y}-{m}-{d}") }} </span> </template> </el-table-column> @@ -388,7 +400,7 @@ icon="el-icon-document-copy" @click="handleReport(scope.row)" v-hasPermi="['medicalFile:index:report']" - >评估报告单</el-button + >评估报告</el-button > <el-button :disabled="scope.row.status != 0 && scope.row.status != 3" diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index 3e98592d..5b61f5d6 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -90,7 +90,7 @@ >删除</el-button > </el-col> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="info" plain @@ -109,7 +109,7 @@ @click="handleImport" >导入</el-button > - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="warning" diff --git a/acupuncture-前台/src/views/screening/h5.vue b/acupuncture-前台/src/views/screening/h5.vue index 4015b476..d2d12478 100644 --- a/acupuncture-前台/src/views/screening/h5.vue +++ b/acupuncture-前台/src/views/screening/h5.vue @@ -47,6 +47,8 @@ <el-form-item label="出生日期" prop="SCWJ-BIRTH"> <el-date-picker v-model="form['SCWJ-BIRTH']" + value-format=" yyyy-MM-dd" + format="yyyy-MM-dd" type="date" placeholder="选择日期" @change="calculateAge" @@ -98,8 +100,8 @@ </el-form-item> <el-form-item label="结论" prop="SCWJ-JL"> <span :class="`BIMTips${BMIVerdict[form['SCWJ-JL']]}`"> - {{ form["SCWJ-JL"] || "- - -" }}</span - > + {{ form["SCWJ-JL"] || "- - -" }} + </span> </el-form-item> </div> </el-form> @@ -425,7 +427,7 @@ export default { created() { this.tenantId = this.$route.query.tenantId; console.log("this.tenantId", this.tenantId); - + localStorage.setItem("tenantId", this.tenantId); this.getQueryHospitalNoToken(); // 组织id获取组织名称 }, methods: { diff --git a/acupuncture-前台/src/views/screening/index.vue b/acupuncture-前台/src/views/screening/index.vue index cdcc4a26..f7cbc1dc 100644 --- a/acupuncture-前台/src/views/screening/index.vue +++ b/acupuncture-前台/src/views/screening/index.vue @@ -50,7 +50,7 @@ </el-select> </el-form-item> <el-form-item> - <el-form-item label="创建时间" prop="doctorNo"> + <el-form-item label="筛查时间" prop="doctorNo"> <el-date-picker v-model="queryTime" type="daterange" @@ -139,13 +139,13 @@ min-width="120" /> <el-table-column - label="身高cm" + label="身高(cm)" align="center" prop="SCWJ-HEIGHT" min-width="100" /> <el-table-column - label="体重kg" + label="体重(kg)" align="center" prop="SCWJ-WEIGHT" min-width="100" @@ -158,18 +158,27 @@ /> <el-table-column show-overflow-tooltip - label="结论" + label="体重自评结论" align="center" prop="SCWJ-JL" min-width="150" > + <template slot-scope="scope"> + <span :class="`BIMTips${BMIVerdict[scope.row['SCWJ-JL']]}`"> + {{ scope.row["SCWJ-JL"] || "- - -" }} + </span> + </template> </el-table-column> <el-table-column - label="失眠自评(SRSS)" + label="失眠自评(SRSS)(分)" align="center" prop="SCWJ-RESULT" - min-width="150" - /> + min-width="180" + > + <template slot-scope="scope"> + <span> {{ scope.row["SCWJ-RESULT"] }} </span> + </template> + </el-table-column> <el-table-column label="可接受的治疗方式" align="center" @@ -177,14 +186,14 @@ min-width="200" /> <el-table-column - label="可接受的治疗周期" + label="可接受的治疗周期(月)" align="center" prop="SCWJ-ZLZQ" - min-width="150" + min-width="200" /> <el-table-column fixed="right" - label="创建时间" + label="筛查时间" align="center" min-width="140" > @@ -222,6 +231,12 @@ export default { dicts: ["sys_notice_status", "sys_notice_type"], data() { return { + BMIVerdict: { + 体重过轻: "1", + 正常: "2", + 超重: "3", + 肥胖: "4", + }, queryTime: [], // 创建时间范围 tenantsListData: [], // 组织列表 loading: false, // 遮罩层 @@ -319,6 +334,7 @@ export default { endAge: "", //结束年龄 tenantId: "", //建档组织 }; + this.queryTime = []; this.handleQuery(); }, // 多选框选中数据 @@ -344,6 +360,18 @@ export default { </script> <style scoped src="@/assets/styles/common.css"></style> <style scoped> +.BIMTips1 { + color: #cccccc; +} +.BIMTips2 { + color: #66cc00; +} +.BIMTips3 { + color: #c3c300; +} +.BIMTips4 { + color: #ff9900; +} .form-item-age { display: flex; align-items: center; diff --git a/acupuncture-后台/src/api/screening.js b/acupuncture-后台/src/api/screening.js index 25baa229..47199719 100644 --- a/acupuncture-后台/src/api/screening.js +++ b/acupuncture-后台/src/api/screening.js @@ -3,7 +3,7 @@ import request from "@/utils/request"; // 通过组织id查询医院信息 export function queryHospitalNoToken(data) { return request({ - url: "admin/web/queryTenantById", + url: "web/admin/queryTenantById", method: "post", data: data, }); @@ -11,7 +11,7 @@ export function queryHospitalNoToken(data) { // 创建筛查 export function create(data) { return request({ - url: "admin/screening/createNoToken", + url: "screening/admin/createNoToken", method: "post", data: data, }); @@ -19,7 +19,7 @@ export function create(data) { // 通过code提交数据 export function screenSave(data) { return request({ - url: "admin/screening/save", + url: "screening/admin/save", method: "post", data: data, }); @@ -27,7 +27,7 @@ export function screenSave(data) { // 提交筛查上报数据 export function screenSubmit(data) { return request({ - url: "admin/screening/submitNoToken", + url: "screening/admin/submitNoToken", method: "post", data: data, }); @@ -37,7 +37,7 @@ export function screenSubmit(data) { // 筛查二维码 列表 export function queryScreenList(data) { return request({ - url: "admin/wxQrCode/queryScreenList", + url: "wxQrCode/admin/queryScreenList", method: "post", data: data, }); @@ -45,7 +45,7 @@ export function queryScreenList(data) { // 添加筛查二维码 export function addScreen(data) { return request({ - url: "admin/wxQrCode/addScreen", + url: "wxQrCode/admin/addScreen", method: "post", data: data, }); @@ -53,7 +53,7 @@ export function addScreen(data) { // 删除筛查二维码 export function deleteScreen(data) { return request({ - url: "admin/wxQrCode/deleteScreen", + url: "wxQrCode/admin/deleteScreen", method: "post", data: data, }); @@ -61,7 +61,7 @@ export function deleteScreen(data) { // // 导出二维码 export function exportQr(data) { return request({ - url: "admin/wxQrCode/exportScreen", + url: "wxQrCode/admin/exportScreen", method: "post", data: data, }); @@ -70,7 +70,7 @@ export function exportQr(data) { // ------ 筛查列表 ------ export function queryDetail(data) { return request({ - url: "admin/screening/queryDetail", + url: "screening/admin/queryDetail", method: "post", data: data, }); diff --git a/acupuncture-后台/src/views/followFile/subjects.vue b/acupuncture-后台/src/views/followFile/subjects.vue index 0d100d59..86e13b61 100644 --- a/acupuncture-后台/src/views/followFile/subjects.vue +++ b/acupuncture-后台/src/views/followFile/subjects.vue @@ -38,11 +38,11 @@ /> </el-select> </el-form-item> - <el-form-item label="" prop="queueId"> + <!-- <el-form-item label="" prop="queueId"> <el-checkbox-group v-model="haveQueue"> <el-checkbox>未参加队列人员</el-checkbox> </el-checkbox-group> - </el-form-item> + </el-form-item> --> <el-form-item> <el-button type="primary" @@ -369,10 +369,10 @@ export default { }, /** 搜索按钮操作 */ handleQuery() { - this.queryParams.param.haveQueue = ""; - if (this.haveQueue) { - this.queryParams.param.haveQueue = 0; - } + // this.queryParams.param.haveQueue = ""; + // if (this.haveQueue) { + // this.queryParams.param.haveQueue = 0; + // } this.queryParams.pageNum = 1; this.getList(); }, diff --git a/acupuncture-后台/src/views/index.vue b/acupuncture-后台/src/views/index.vue index 351416e6..ce28d071 100644 --- a/acupuncture-后台/src/views/index.vue +++ b/acupuncture-后台/src/views/index.vue @@ -13,21 +13,13 @@ </div> <div> <el-card shadow="always"> - <search - @picker-change="pickerChage" - title="诊疗信息统计" - type="2" - ></search> + <search @picker-change="pickerChage" title="病情评估" type="2"></search> </el-card> <JM ref="JM"></JM> </div> <div> <el-card shadow="always"> - <search - @picker-change="pickerChage" - title="治疗类型统计" - type="3" - ></search> + <search @picker-change="pickerChage" title="诊疗信息" type="3"></search> </el-card> <XGZL ref="XGZL"></XGZL> </div> diff --git a/acupuncture-后台/src/views/medicalFile/details.vue b/acupuncture-后台/src/views/medicalFile/details.vue index 50c0d9de..65205ab9 100644 --- a/acupuncture-后台/src/views/medicalFile/details.vue +++ b/acupuncture-后台/src/views/medicalFile/details.vue @@ -21,6 +21,9 @@ <el-descriptions-item label="性别"> {{ form.gender == 0 ? "男" : "女" }} </el-descriptions-item> + <el-descriptions-item label="出生日期"> + {{ parseTime(form.birthDate, "{y}-{m}-{d}") }} + </el-descriptions-item> <el-descriptions-item label="年龄"> {{ form.age }} </el-descriptions-item> @@ -30,8 +33,8 @@ <el-descriptions-item label="门诊号/住院号"> {{ form.visitNumber }} </el-descriptions-item> - <el-descriptions-item label="门诊时间/住院时间"> - {{ form.visitTime }} + <el-descriptions-item label="门诊/住院时间"> + {{ parseTime(form.visitTime, "{y}-{m}-{d}") }} </el-descriptions-item> <el-descriptions-item label="责任医生"> {{ form.doctor }} @@ -80,9 +83,9 @@ <a name="病情评估"></a> <div class="div-title1">病情评估</div> <div class="div-title2"> - 人体成分 - <!-- <span @click="getHumanBody" class="foem-item-pg">同步</span> - <span + 人体成分分析 + <!-- <span @click="getHumanBody" class="foem-item-pg">同步</span> --> + <!-- <span style="margin-left: 10px" @click="getHumanBodyReport" class="foem-item-pg" @@ -126,7 +129,7 @@ placeholder="请输入" /> </el-form-item> - <el-form-item label="蛋白质" prop="PG_RTCF_GZ"> + <el-form-item label="骨质" prop="PG_RTCF_GZ"> <el-input :disabled="form.status != 0 && form.status != 3" v-model="detailsForm['PG_RTCF_GZ']" @@ -211,12 +214,12 @@ /> </el-form-item> </div> - </el-card> - <el-card class="box-card"> + <div style="height: 10px"></div> <a name="中医体质辨识"></a> - <div class="div-title1">中医体质辨识</div> + <div class="div-title2">中医体质辨识</div> <div> <el-form-item + class="item-form-jjtz" prop="PG_TZBS_ZYTZ" label="主要体质" style="margin-bottom: 0" @@ -237,7 +240,7 @@ class="item-form-jjtz" prop="PG_TZBS_JJTZ" label="兼夹体质" - style="margin-bottom: 0" + style="margin-bottom: 5px" > <div style="width: 100%"> <el-checkbox-group @@ -254,12 +257,9 @@ </div> </el-form-item> </div> - </el-card> - <!-- 体态评估 --> - <el-card class="box-card"> + <div style="height: 10px"></div> <a name="体态评估"></a> <div> - <div class="div-title1">量表评估</div> <div class="div-title2">体态评估</div> <div class="human-body"> <el-form-item label="" prop="PG_TT_TAPS_DF"> @@ -320,6 +320,7 @@ /> </el-form-item> </div> + <div style="height: 10px"></div> <div class="div-title2">失眠评估</div> <div class="human-body"> <el-form-item prop="PG_SM_PHQ-9_DF"> @@ -387,6 +388,7 @@ /> </el-form-item> </div> + <div style="height: 10px"></div> <div class="div-title2">焦虑评估</div> <div class="human-body"> <el-form-item prop="PG_JL_HAMD-24_DF"> @@ -431,6 +433,7 @@ </div> </div> </el-card> + <!-- 治疗类型 --> <el-card class="box-card"> <a name="治疗类型"></a> @@ -449,7 +452,7 @@ <!-- 诊疗方法 --> <el-card class="box-card"> <a name="诊疗方法"></a> - <div style="font-size: 22px; margin-bottom: 14px" class="div-title1"> + <div style="font-size: 22px; margin-bottom: 0px" class="div-title1"> 诊疗方法 </div> <div @@ -457,10 +460,15 @@ :key="ind" v-if="getzzffShow(i.title)" > - <div class="div-title2">{{ i.title }}</div> + <div + class="div-title2" + style="line-height: 36px; margin: 14px 0 0 0" + > + {{ i.title }} + </div> <div v-for="(j, jnd) in i.list" :key="jnd"> - <div v-if="j.title != '针灸疗法'"> - <div class="div-title3">{{ j.title }}</div> + <div> + <div class="div-title">{{ j.title }}</div> <el-radio :disabled="form.status != 0 && form.status != 3" border @@ -493,15 +501,17 @@ class="human-body" v-if="o.type == 'input'" > - <el-form-item prop="ZLFA_ZJ_XW_QT"> - <el-input v-model="detailsForm[j.valueCode]"></el-input> - </el-form-item> + <el-input + style="width: 300px; margin: 5px" + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm[j.valueCode]" + ></el-input> </div> </div> - <div v-else> - <div class="div-title3">{{ j.title }}</div> + <!-- <div v-else> + <div class="div-title">{{ j.title }}</div> <div style="" v-for="(k, knd) in j.list" :key="knd"> - <div class="div-title4" style="margin: 5px 0"> + <div class="div-title"> {{ k.title }} </div> <el-checkbox @@ -532,15 +542,14 @@ class="human-body" v-if="o.type == 'input'" > - <el-form-item prop="ZLFA_YW_QT"> - <el-input - :disabled="form.status != 0 && form.status != 3" - v-model="detailsForm[k.valueCode]" - ></el-input> - </el-form-item> + <el-input + style="width: 300px; margin: 5px" + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm[k.valueCode]" + ></el-input> </div> </div> - </div> + </div> --> </div> </div> </el-card> @@ -567,11 +576,11 @@ <!-- 诊疗费用 --> <el-card class="box-card"> <a name="诊疗费用"></a> - <div class="div-title2">诊疗费用</div> + <div class="div-title1">诊疗费用</div> <el-form-item label="总体费用按照区间进行选择" prop="ZLFA_ZTFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -587,7 +596,7 @@ <el-form-item label="检查费用按照区间进行选择" prop="ZLFA_JCFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -603,7 +612,7 @@ <el-form-item label="中医治疗费用按照区间进行选择" prop="ZLFA_ZYZLFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -619,7 +628,7 @@ <el-form-item label="药物费用按照区间进行选择" prop="ZLFA_YWFY" - style="margin-bottom: 0" + class="div-zlfy-label" > <el-radio-group :disabled="form.status != 0 && form.status != 3" @@ -636,27 +645,30 @@ <!-- 随访队列 --> <el-card class="box-card"> <a name="随访队列"></a> - <div class="div-title2">随访队列</div> - <el-select - :disabled="form.status != 0 && form.status != 3" - v-model="detailsForm['SFDL']" - multiple - placeholder="请选择" - > - <el-option - v-for="item in followupList" - :key="item.id" - :label="item.name" - :value="item.id" + <div class="div-title1" style="margin-bottom: 18px">随访队列</div> + <div style="width: 360px"> + <!-- collapse-tags --> + <el-select + :disabled="form.status != 0 && form.status != 3" + v-model="detailsForm['SFDL']" + multiple + placeholder="请选择" > - </el-option> - </el-select> + <el-option + v-for="item in followupList" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </div> </el-card> </el-form> <div slot="footer" class="dialog-footer"> <el-button :disabled="form.status != 0 && form.status != 3" - style="width: 140px" + style="width: 200px; margin: 50px 0 20px 0" type="primary" @click="submitDetailsForm" >确 定</el-button @@ -725,7 +737,6 @@ export default { data() { return { followupList: [], - title: "", // 弹出框标题 open: false, // 是否显示弹出框 status: { @@ -808,13 +819,13 @@ export default { title: "行为技能训练:辅导有效的应对压力技巧,避免因情绪波动导致过度进食,训练正念饮食,提高对饥饿和饱足感的感知能力", value: "行为技能训练", - type: "but", + type: "checkout", }, { title: "目标设定与追踪:与患者共同设立短期和长期减重目标,定期进行进度评估,强化正面反馈,提高自我管理能力", value: "目标设定与追踪", - type: "but", + type: "checkout", }, ], }, @@ -826,13 +837,13 @@ export default { title: "有氧运动:如快走、慢跑、游泳等,建议每周至少进行150分钟中等强度的有氧运动", value: "有氧运动", - type: "but", + type: "checkout", }, { title: "抗阻运动:如举重、俯卧撑等,建议每周进行2-3次抗阻运动", value: "抗阻运动", - type: "but", + type: "checkout", }, ], }, @@ -844,80 +855,75 @@ export default { title: "限能量饮食:在限制能量摄入(日常饮食能量减去30%)的基础上,营养素比例符合平衡膳食的要求", value: "限能量饮食", - type: "but", + type: "checkout", }, { title: "高蛋白饮食:每日蛋白质摄入量超过20%,但一般不高于35%", value: "高蛋白饮食", - type: "but", + type: "checkout", }, { title: "低碳水化合物饮食:碳水化合物供能比一般在20%-40%", value: "低碳水化合物饮食", - type: "but", + type: "checkout", }, { title: "断食:如5+2模式,1周中5天相对正常进食,其他2天摄取平常的1/4能量", value: "断食", - type: "but", + type: "checkout", }, ], }, { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF", + list: [ + { + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", + }, + { + title: "耳穴贴压疗法", + type: "checkout", + }, + { + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "神门:安神定志,改善睡眠质量", + value: "神门", + type: "checkout", + }, + { + title: "三阴交:调理脾胃,养血安神", + value: "三阴交", + type: "checkout", + }, + { + title: "百会:调节大脑功能,促进睡眠", + value: "百会", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW", - list: [ - { - title: "神门:安神定志,改善睡眠质量", - value: "神门", - type: "checkout", - }, - { - title: "三阴交:调理脾胃,养血安神", - value: "三阴交", - type: "checkout", - }, - { - title: "百会:调节大脑功能,促进睡眠", - value: "百会", - type: "checkout", - }, - { - title: "安眠:直接作用于睡眠中枢,帮助入睡", - value: "安眠", - type: "checkout", - }, - ], + title: "安眠:直接作用于睡眠中枢,帮助入睡", + value: "安眠", + type: "checkout", }, ], }, @@ -966,19 +972,19 @@ export default { title: "科学膳食:避免午后摄入咖啡、茶、酒精等刺激性饮品,以及睡前过度进食", value: "科学膳食", - type: "but", + type: "checkout", }, { title: "充足日照:增加日间自然光照,减少夜间人工光源,特别是电子产品的使用", value: "充足日照", - type: "but", + type: "checkout", }, { title: "合理运动:推荐瑜伽、太极拳、八段锦等传统运动,有助于改善睡眠质量", value: "合理运动", - type: "but", + type: "checkout", }, ], }, @@ -990,76 +996,71 @@ export default { title: "放松训练:包括渐进式肌肉放松训练、腹式呼吸、冥想等,可降低紧张与过度警觉,提高睡眠质量", value: "放松训练", - type: "but", + type: "checkout", }, { title: "音乐疗法:轻柔舒缓的音乐可以降低神经系统兴奋性,减轻焦虑情绪从而改善睡眠", value: "音乐疗法", - type: "but", + type: "checkout", }, { title: "认知调整:不灾难化和过分关注失眠,不因偶尔失眠而产生挫败感,培养失眠的耐受性", value: "认知调整", - type: "but", + type: "checkout", }, ], }, { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF_SMZ", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF_SMZ", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW_SMZ", - list: [ - { - title: "神门:安神定志,改善睡眠质量", - value: "神门", - type: "checkout", - }, - { - title: "三阴交:调理脾胃,养血安神", - value: "三阴交", - type: "checkout", - }, - { - title: "百会:调节大脑功能,促进睡眠", - value: "百会", - type: "checkout", - }, - { - title: "安眠:直接作用于睡眠中枢,帮助入睡", - value: "安眠", - type: "checkout", - }, - ], + title: "耳穴贴压疗法", + type: "checkout", + }, + { + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW_SMZ", + list: [ + { + title: "神门:安神定志,改善睡眠质量", + value: "神门", + type: "checkout", + }, + { + title: "三阴交:调理脾胃,养血安神", + value: "三阴交", + type: "checkout", + }, + { + title: "百会:调节大脑功能,促进睡眠", + value: "百会", + type: "checkout", + }, + { + title: "安眠:直接作用于睡眠中枢,帮助入睡", + value: "安眠", + type: "checkout", }, ], }, @@ -1105,42 +1106,37 @@ export default { list: [ { title: "针灸疗法", + valueCode: "ZLFA_ZJ_LF_QT", list: [ { - title: "疗法", - valueCode: "ZLFA_ZJ_LF_QT", - list: [ - { - title: "毫针/电针疗法", - type: "checkout", - }, - { - title: "温针疗法", - type: "checkout", - }, - { - title: "耳穴贴压疗法", - type: "checkout", - }, - { - title: "穴位埋针法", - type: "checkout", - }, - { - title: "穴位埋线法", - type: "checkout", - }, - ], + title: "毫针/电针疗法", + type: "checkout", + }, + { + title: "温针疗法", + type: "checkout", + }, + { + title: "耳穴贴压疗法", + type: "checkout", }, { - title: "穴位", - valueCode: "ZLFA_ZJ_XW_QT", - list: [ - { - title: "填写", - type: "input", - }, - ], + title: "穴位埋针法", + type: "checkout", + }, + { + title: "穴位埋线法", + type: "checkout", + }, + ], + }, + { + title: "针灸穴位", + valueCode: "ZLFA_ZJ_XW_QT", + list: [ + { + title: "填写", + type: "input", }, ], }, @@ -1188,15 +1184,15 @@ export default { "PG_JL_HAMD-24_DF": "", //汉密尔顿抑郁评估(HAMD-24)得分 PG_JL_SAS_DF: "", //焦虑自评量表(SAS)得分 ZLFA_ZLLX: "", //治疗方式 - ZLFA_XWXLGY: "", // 行为心理干预 - ZLFA_YDGY: "", //运动干预 + ZLFA_XWXLGY: [], // 行为心理干预 + ZLFA_YDGY: [], //运动干预 ZLFA_ZJ_LF: [], //针灸疗法-疗法 ZLFA_ZJ_XW: [], //针灸疗法-穴位 ZLFA_YW: [], //药物治疗 - ZLFA_SHXG: "", // 生活习惯 - ZLFA_XLTS: "", //心理调适 + ZLFA_SHXG: [], // 生活习惯 + ZLFA_XLTS: [], //心理调适 - ZLFA_LCYYZL: "", //临床用药治疗 + ZLFA_LCYYZL: [], //临床用药治疗 ZLFA_ZJ_LF_SMZ: [], // 失眠症-针灸疗法-疗法 ZLFA_ZJ_XW_SMZ: [], // 失眠症-针灸疗法-穴位 ZLFA_YW_SMZ: [], // 失眠症-药物治疗 @@ -1340,7 +1336,6 @@ export default { }).then((res) => { let arrList = [ "JBXX_ZYZD", - "PG_RTCF_TXLX", "PG_TZBS_JJTZ", "SFDL", "ZLFA_ZJ_LF", @@ -1350,6 +1345,11 @@ export default { "ZLFA_ZJ_XW_SMZ", "ZLFA_YW_SMZ", "ZLFA_ZJ_LF_QT", + "ZLFA_XWXLGY", + "ZLFA_YDGY", + "ZLFA_LCYYZL", + "ZLFA_SHXG", + "ZLFA_XLTS", ]; let recordValDict = res.data.recordValDict; for (let key in recordValDict) { @@ -1408,15 +1408,15 @@ export default { "PG_JL_HAMD-24_DF": "", //汉密尔顿抑郁评估(HAMD-24)得分 PG_JL_SAS_DF: "", //焦虑自评量表(SAS)得分 ZLFA_ZLLX: "", //治疗方式 - ZLFA_XWXLGY: "", // 行为心理干预 - ZLFA_YDGY: "", //运动干预 + ZLFA_XWXLGY: [], // 行为心理干预 + ZLFA_YDGY: [], //运动干预 ZLFA_ZJ_LF: [], //针灸疗法-疗法 ZLFA_ZJ_XW: [], //针灸疗法-穴位 ZLFA_YW: [], //药物治疗 - ZLFA_SHXG: "", // 生活习惯 - ZLFA_XLTS: "", //心理调适 + ZLFA_SHXG: [], // 生活习惯 + ZLFA_XLTS: [], //心理调适 - ZLFA_LCYYZL: "", //临床用药治疗 + ZLFA_LCYYZL: [], //临床用药治疗 ZLFA_ZJ_LF_SMZ: [], // 失眠症-针灸疗法-疗法 ZLFA_ZJ_XW_SMZ: [], // 失眠症-针灸疗法-穴位 ZLFA_YW_SMZ: [], // 失眠症-药物治疗 @@ -1462,6 +1462,23 @@ export default { <style scoped src="@/assets/styles/common.css"></style> <!-- box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); --> <style scoped> +.div-zlfy-label { + margin-bottom: 0; + display: flex; + align-items: center; + flex-wrap: wrap; +} +.div-zlfy-label >>> .el-form-item__label { + width: 210px; +} +.div-title { + font-weight: bold; + vertical-align: middle; + font-size: 14px; + color: #606266; + line-height: 26px; + -webkit-box-sizing: border-box; +} >>> .el-radio { padding: 0 10px !important; line-height: 34px; diff --git a/acupuncture-后台/src/views/medicalFile/index.vue b/acupuncture-后台/src/views/medicalFile/index.vue index ab99b6bc..8dcb3c77 100644 --- a/acupuncture-后台/src/views/medicalFile/index.vue +++ b/acupuncture-后台/src/views/medicalFile/index.vue @@ -241,6 +241,18 @@ <span v-if="scope.row.gender == 1">女</span> </template> </el-table-column> + <el-table-column + label="出生日期" + align="center" + show-overflow-tooltip + min-width="130" + > + <template slot-scope="scope"> + <span> + {{ parseTime(scope.row.birthDate, "{y}-{m}-{d}") }} + </span> + </template> + </el-table-column> <el-table-column label="年龄" align="center" @@ -313,7 +325,7 @@ > <template slot-scope="scope"> <span> - {{ parseTime(scope.row.visitTime, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(scope.row.visitTime, "{y}-{m}-{d}") }} </span> </template> </el-table-column> @@ -326,7 +338,7 @@ > <template slot-scope="scope"> <span> - {{ parseTime(scope.row.dischargeTime, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(scope.row.dischargeTime, "{y}-{m}-{d}") }} </span> </template> </el-table-column> @@ -414,7 +426,7 @@ icon="el-icon-document-copy" @click="handleReport(scope.row)" v-hasPermi="['medicalFile:index:report']" - >评估报告单</el-button + >评估报告</el-button > <!-- <el-button :disabled="scope.row.status != 0 && scope.row.status != 3" diff --git a/acupuncture-后台/src/views/screening/index.vue b/acupuncture-后台/src/views/screening/index.vue index cdcc4a26..f7cbc1dc 100644 --- a/acupuncture-后台/src/views/screening/index.vue +++ b/acupuncture-后台/src/views/screening/index.vue @@ -50,7 +50,7 @@ </el-select> </el-form-item> <el-form-item> - <el-form-item label="创建时间" prop="doctorNo"> + <el-form-item label="筛查时间" prop="doctorNo"> <el-date-picker v-model="queryTime" type="daterange" @@ -139,13 +139,13 @@ min-width="120" /> <el-table-column - label="身高cm" + label="身高(cm)" align="center" prop="SCWJ-HEIGHT" min-width="100" /> <el-table-column - label="体重kg" + label="体重(kg)" align="center" prop="SCWJ-WEIGHT" min-width="100" @@ -158,18 +158,27 @@ /> <el-table-column show-overflow-tooltip - label="结论" + label="体重自评结论" align="center" prop="SCWJ-JL" min-width="150" > + <template slot-scope="scope"> + <span :class="`BIMTips${BMIVerdict[scope.row['SCWJ-JL']]}`"> + {{ scope.row["SCWJ-JL"] || "- - -" }} + </span> + </template> </el-table-column> <el-table-column - label="失眠自评(SRSS)" + label="失眠自评(SRSS)(分)" align="center" prop="SCWJ-RESULT" - min-width="150" - /> + min-width="180" + > + <template slot-scope="scope"> + <span> {{ scope.row["SCWJ-RESULT"] }} </span> + </template> + </el-table-column> <el-table-column label="可接受的治疗方式" align="center" @@ -177,14 +186,14 @@ min-width="200" /> <el-table-column - label="可接受的治疗周期" + label="可接受的治疗周期(月)" align="center" prop="SCWJ-ZLZQ" - min-width="150" + min-width="200" /> <el-table-column fixed="right" - label="创建时间" + label="筛查时间" align="center" min-width="140" > @@ -222,6 +231,12 @@ export default { dicts: ["sys_notice_status", "sys_notice_type"], data() { return { + BMIVerdict: { + 体重过轻: "1", + 正常: "2", + 超重: "3", + 肥胖: "4", + }, queryTime: [], // 创建时间范围 tenantsListData: [], // 组织列表 loading: false, // 遮罩层 @@ -319,6 +334,7 @@ export default { endAge: "", //结束年龄 tenantId: "", //建档组织 }; + this.queryTime = []; this.handleQuery(); }, // 多选框选中数据 @@ -344,6 +360,18 @@ export default { </script> <style scoped src="@/assets/styles/common.css"></style> <style scoped> +.BIMTips1 { + color: #cccccc; +} +.BIMTips2 { + color: #66cc00; +} +.BIMTips3 { + color: #c3c300; +} +.BIMTips4 { + color: #ff9900; +} .form-item-age { display: flex; align-items: center;