| | |
| | | <el-table |
| | | :data="logsheetlist" |
| | | :row-class-name="tableRowClassName" |
| | | :max-height="350" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | |
| | | /> |
| | | </el-dialog> |
| | | <div class="action-container"> |
| | | <!-- 随访内容 --> |
| | | <div class="call-action"> |
| | | <div class="call-container"> |
| | | <!-- <div class="call-header"> |
| | |
| | | :class="items.isabnormal ? 'red-star' : ''" |
| | | :key="indexs" |
| | | :label="items.optioncontent" |
| | | @click.native.prevent=" |
| | | handleRadioToggle(item, items.optioncontent) |
| | | " |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | |
| | | v-for="(items, index) in item.scriptResult" |
| | | :key="items" |
| | | :label="items" |
| | | @click.native.prevent=" |
| | | handleRadioToggle(item, items.optioncontent) |
| | | " |
| | | >{{ items }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 人工处理 --> |
| | | <div class="manual-action"> |
| | | <div class="Followuserinfos"> |
| | | <div> |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | <el-form-item label="随访记录"> |
| | | <el-form-item label="随访内容" v-if="orgname == '丽水市中医院'"> |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="随访记录" v-else> |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="随访情况" v-if="orgname == '丽水市中医院'"> |
| | | <el-radio-group v-model="form.taskSituation"> |
| | | <el-radio |
| | | v-for="city in cities" |
| | | :label="city.value" |
| | | :value="city.value" |
| | | :key="city.value" |
| | | >{{ city.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="处理意见"> |
| | | <div> |
| | | <el-button |
| | |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="性别" prop="telcode"> |
| | | <el-select v-model="userform.sex" placeholder="请选择"> |
| | | <el-option label="男" :value="1"> </el-option> |
| | | <el-option label="女" :value="2"> </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="年龄" prop="name"> |
| | | <el-input |
| | | v-model="userform.age" |
| | | placeholder="请输入姓名" |
| | | maxlength="20" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="联系方式" prop="telcode"> |
| | | <el-input |
| | | v-model="userform.telcode" |
| | |
| | | v-model="userform.relativetelcode" |
| | | placeholder="请输入姓名" |
| | | maxlength="20" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="诊断名称" prop="name"> |
| | | <el-input |
| | | v-model="form.leavediagname" |
| | | placeholder="请输入诊断" |
| | | maxlength="50" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | |
| | | <el-divider></el-divider> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访方式" prop="date1"> |
| | | <el-form-item label="随访方式" prop="visitType"> |
| | | <el-select |
| | | v-model="form.visitType" |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | @change="visitChange" |
| | | placeholder="请选择随访方式(依出院时间技计算)" |
| | | placeholder="请选择随访方式(依出院时间计算)" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | |
| | | align="right" |
| | | v-model="form.date1" |
| | | class="custom-disabled" |
| | | value-format="yyyy-MM-dd" |
| | | @change="checkFollowupDate" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-button type="primary" @click="setupsubtask">确认创建服务</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <div class="main-content" v-if="orgname == '景宁畲族自治县人民医院'"> |
| | | <!-- <el-button @click="CaldialogVisible = true">打开弹框</el-button> --> |
| | | |
| | | <!-- 弹框调用 --> |
| | | <el-dialog |
| | | title="呼叫功能框" |
| | | :visible.sync="CaldialogVisible" |
| | | width="60%" |
| | | > |
| | | <CallCenterLs |
| | | ref="callCenterModal" |
| | | :initial-phone="currentPhoneNumber" |
| | | /> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } from "@/api/patient/homepage"; |
| | | import CallButton from "@/components/CallButton"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | import CallCenterLs from "@/components/CallCenterLs"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | | MergeAndModify, |
| | | CallCenterLs, |
| | | }, |
| | | directives: { |
| | | numericOnly: { |
| | |
| | | // 已有数据... |
| | | callStatus: "idle", // idle, calling, connected, ended, failed |
| | | isEndingCall: false, |
| | | CaldialogVisible: false, |
| | | currentCall: null, // 当前通话对象 |
| | | input: "今天身体还不错", |
| | | radio: "2", |
| | |
| | | voice: "", |
| | | templateid: "", |
| | | again: "", |
| | | orgname: "", |
| | | zcform: {}, |
| | | form: {}, |
| | | cities: [ |
| | | { |
| | | label: "正常语音", |
| | | value: "1", |
| | | }, |
| | | { |
| | | label: "患者拒接或拒访", |
| | | value: "2", |
| | | }, |
| | | { |
| | | label: "面访或者接诊", |
| | | value: "3", |
| | | }, |
| | | { |
| | | label: "微信随访", |
| | | value: "4", |
| | | }, |
| | | { |
| | | label: "随访电话不正确", |
| | | value: "5", |
| | | }, |
| | | { |
| | | label: "其他情况不宜随访", |
| | | value: "6", |
| | | }, |
| | | ], |
| | | tableDatatop: [], //题目表 |
| | | voiceDatatop: [], //题目表 |
| | | dynamicTags: [], |
| | |
| | | resource: [ |
| | | { required: true, message: "请选择随访方式", trigger: "change" }, |
| | | ], |
| | | date1: [{ required: true, message: "请选择随访时间", trigger: "blur" }], |
| | | date1: [ |
| | | { required: true, message: "请选择随访时间", trigger: "blur" }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error("请选择随访时间")); |
| | | } |
| | | const selectedDate = new Date(value); |
| | | const now = new Date(); |
| | | if (selectedDate < now) { |
| | | return callback(new Error("随访时间不能早于当前日期")); |
| | | } |
| | | callback(); |
| | | }, |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | }, |
| | | userrules: { |
| | | telcode: [{ validator: validatePhone, trigger: "blur" }], |
| | |
| | | YongHuXX: { |
| | | XiTongID: "SUIFANGXT", |
| | | XiTongMC: "随访系统", |
| | | YongHuID: "1400466972205912064", |
| | | YongHuXM: "JNRMYY", |
| | | YongHuID: localStorage.getItem("YongHuID"), |
| | | YongHuXM: localStorage.getItem("YongHuXM"), |
| | | ZuZhiJGID: localStorage.getItem("orgid"), |
| | | ZuZhiJGMC: localStorage.getItem("orgname"), |
| | | idp: "lyra", |
| | |
| | | // 禁用今天及之前的日期 |
| | | return time.getTime() < Date.now() - 24 * 60 * 60 * 1000; |
| | | }, |
| | | shortcuts: [ |
| | | { |
| | | text: "七天后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 7); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "15天后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 15); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "一个月后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 30); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "三个月后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 90); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "六个月后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 180); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "一年后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 365); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | ], |
| | | // shortcuts: [ |
| | | // { |
| | | // text: "七天后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 7); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "15天后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 15); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "一个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 30); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "三个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 90); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "六个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 180); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "一年后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 365); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // ], |
| | | }, |
| | | options: [ |
| | | { |
| | |
| | | this.Voicetype = this.$route.query.Voicetype; |
| | | this.visitCount = this.$route.query.visitCount; |
| | | this.serviceType = this.$route.query.serviceType; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.getTaskservelist(); |
| | | }, |
| | |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname) { |
| | | this.$modal.msgWarning("360功能暂未开通"); |
| | | return; // 阻止后续代码执行 |
| | | // this.$modal.msgWarning("360功能暂未开通"); |
| | | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | if (this.postData.XiaoXiTou.ZuHuMC == "丽水市中医院") { |
| | | this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; |
| | | this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY"; |
| | | } |
| | | |
| | | query360PatInfo(this.postData).then((res) => { |
| | | if (res.data.url) { |
| | | window.open(res.data.url, "_blank"); |
| | |
| | | }, |
| | | // 再次随访时间选取 |
| | | visitChange(value) { |
| | | // 根据选择的随访方式设置时间 |
| | | if (!this.form.endtime) { |
| | | this.$message.warning("请先确认出院时间"); |
| | | this.form.visitType = ""; |
| | | this.$refs.zcform.clearValidate(["visitType"]); |
| | | return; |
| | | } |
| | | |
| | | const dischargeDate = new Date(this.form.endtime); |
| | | const now = new Date(); |
| | | let followupDate = new Date(dischargeDate); |
| | | |
| | | // 根据选择的随访方式计算随访日期 |
| | | if (value.includes("七天后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 7 |
| | | ); |
| | | followupDate.setDate(dischargeDate.getDate() + 7); |
| | | } else if (value.includes("15天后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 15 |
| | | ); |
| | | followupDate.setDate(dischargeDate.getDate() + 15); |
| | | } else if (value.includes("一个月后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 30 |
| | | ); |
| | | followupDate.setMonth(dischargeDate.getMonth() + 1); |
| | | } else if (value.includes("三个月后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 90 |
| | | ); |
| | | followupDate.setMonth(dischargeDate.getMonth() + 3); |
| | | } else if (value.includes("六个月后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 180 |
| | | ); |
| | | followupDate.setMonth(dischargeDate.getMonth() + 6); |
| | | } else if (value.includes("一年后")) { |
| | | this.form.date1 = new Date( |
| | | Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 365 |
| | | followupDate.setFullYear(dischargeDate.getFullYear() + 1); |
| | | } |
| | | |
| | | if (followupDate < now) { |
| | | this.$message.warning( |
| | | `计算出的随访时间 ${this.formatTime(followupDate)} 已过期` |
| | | ); |
| | | this.form.visitType = ""; |
| | | this.$refs.zcform.clearValidate(["visitType", "date1"]); |
| | | return; |
| | | } |
| | | |
| | | this.form.date1 = this.formatTime(followupDate); |
| | | |
| | | this.$refs.zcform.clearValidate(["date1"]); |
| | | }, |
| | | // 检查随访日期是否有效 |
| | | checkFollowupDate(date) { |
| | | console.log(date); |
| | | |
| | | if (!date) { |
| | | this.form.date1 = ''; |
| | | this.$refs.zcform.clearValidate(["date1"]); |
| | | return; |
| | | } |
| | | |
| | | const selectedDate = new Date(date); |
| | | const now = new Date(); |
| | | |
| | | if (selectedDate < now) { |
| | | this.$message.warning("随访时间不能早于当前日期"); |
| | | this.form.date1 = ''; |
| | | this.$refs.zcform.validateField("date1"); // 触发验证 |
| | | } |
| | | }, |
| | | |
| | | // 获取语音数据 |
| | | getPersonVoices(id) { |
| | | let obj = { |
| | |
| | | this.$modal |
| | | .confirm( |
| | | '任务保存成功是否针对患者:"' + |
| | | this.logsheetlist[0].sendname + |
| | | this.userform.name + |
| | | '"再次随访?', |
| | | "确认", |
| | | { |
| | |
| | | this.$message.error("请输入正确的手机号码"); |
| | | return; |
| | | } |
| | | |
| | | this.currentPhoneNumber = phone; |
| | | // 呼叫判断 |
| | | if (this.orgname == "景宁畲族自治县人民医院") { |
| | | this.CaldialogVisible = true; |
| | | return; |
| | | } |
| | | |
| | | this.callType = type; |
| | | this.callStatus = "calling"; |
| | | |
| | |
| | | }, 3000); |
| | | }, |
| | | yuyingetdetail() { |
| | | this.tableDatatop.forEach((item, index) => { |
| | | const dataToSubmit = JSON.parse(JSON.stringify(this.tableDatatop)); |
| | | |
| | | dataToSubmit.forEach((item, index) => { |
| | | // 对拷贝的数据进行操作,不影响原始的 scriptResult 数组 |
| | | item.scriptResult = item.scriptResult.join("&"); |
| | | item.templatequestionnum = index + 1; |
| | | item.subId = this.id; |
| | |
| | | item.patid = this.patid; |
| | | item.templateid = item.templateID; |
| | | }); |
| | | |
| | | let obj = { |
| | | serviceSubtaskDetailList: this.tableDatatop, |
| | | serviceSubtaskDetailList: dataToSubmit, // 提交处理后的副本 |
| | | param1: this.taskid, |
| | | param2: this.patid, |
| | | subId: this.id, |
| | |
| | | formtidy() { |
| | | this.form.visitType2 = this.form.visitType; |
| | | this.form.date2 = this.form.longSendTime; |
| | | // this.form.date1 = this.setCurrentDate(); |
| | | this.form.remark2 = this.form.remark; |
| | | }, |
| | | setCurrentDate() { |
| | | // 获取当前日期并格式化为 yyyy-MM-dd |
| | | const today = new Date(); |
| | | const year = today.getFullYear(); |
| | | const month = String(today.getMonth() + 1).padStart(2, "0"); |
| | | const day = String(today.getDate()).padStart(2, "0"); |
| | | return `${year}-${month}-${day}`; |
| | | }, |
| | | // 获取患者记录 |
| | | getTaskservelist(id) { |
| | |
| | | getTaskservelist({ |
| | | patid: this.patid, |
| | | subId: id, |
| | | pageSize: 100, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.form = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | console.log(this.form.serviceType, "serviceType"); |
| | | console.log(this.form, "serviceType"); |
| | | |
| | | this.logsheetlist = res.rows[0].serviceSubtaskList; |
| | | this.templateid = this.logsheetlist[0].templateid; |
| | | this.selectedTag = this.logsheetlist[0].excep; |
| | | this.templateid = this.form.templateid; |
| | | this.selectedTag = this.form.excep; |
| | | const targetDate = new Date(this.form.longSendTime); // 目标日期 |
| | | const now = new Date(); // 当前时间 |
| | | if (now < targetDate && this.form.sendstate == 2) { |
| | |
| | | (item) => item.id == this.id |
| | | ); |
| | | objson.remark = this.form.remark; |
| | | objson.taskSituation = this.form.taskSituation; |
| | | objson.excep = this.selectedTag; |
| | | if (sendstate) objson.sendstate = sendstate; |
| | | Editsingletaskson(objson).then((res) => { |
| | |
| | | this.$modal |
| | | .confirm('是否查看任务为"' + row.taskName + '"的服务详情数据?') |
| | | .then(() => { |
| | | if (row.preachformson) { |
| | | if (row.preachformson.includes("3")) { |
| | | this.Voicetype = 1; |
| | | } |
| | | } |
| | | let type = ""; |
| | | console.log(row, "rwo"); |
| | | if (row.type == 1) { |
| | | type = 1; |
| | | } |
| | | this.taskid = row.taskid; |
| | | this.id = row.id; |
| | | this.patid = row.patid; |
| | |
| | | this.tableDatatop[b].isabnormal = false; |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | // 新增的切换选中/取消选中方法 |
| | | handleRadioToggle(questionItem, optionValue) { |
| | | // 如果点击的是当前已选中的选项,则取消选中 |
| | | if (questionItem.scriptResult === optionValue) { |
| | | questionItem.scriptResult = ""; // 清空选中值 |
| | | // 同时重置与选项相关的状态 |
| | | questionItem.isabnormal = false; |
| | | questionItem.showAppendInput = false; |
| | | // 注意:取消选中时,我们通常不希望触发题目跳转逻辑,所以直接返回 |
| | | // 如果需要,可以在这里添加取消选中后的特定逻辑,例如重置题目序列 |
| | | } else { |
| | | // 如果点击的是未选中的选项,则通过更改绑定值来触发原始的 handleOptionChange 方法 |
| | | // 这里只需要改变 v-model 绑定的值,change事件会自动触发 |
| | | questionItem.scriptResult = optionValue; |
| | | // 后续的跳转等复杂逻辑会在 handleOptionChange 中正常执行 |
| | | } |
| | | }, |
| | | // 在methods部分,修改handleOptionChange方法: |
| | | handleOptionChange(selectedOption, questionIndex, options, a) { |
| | |
| | | this.getTaskservelist(); |
| | | }, |
| | | }, |
| | | // deactivated() { |
| | | // console.log(11); |
| | | // }, |
| | | beforeRouteLeave(to, from, next) { |
| | | this.$refs.callButton.cleanupResources(); |
| | | next(); // 确保调用 nex |
| | | }, |
| | | // beforeRouteUpdate() { |
| | | // console.log(33); |
| | | // }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | color: #080808 !important; |
| | | cursor: not-allowed; |
| | | } |
| | | /* 原有的样式保持不变,添加以下响应式代码 */ |
| | | |
| | | .Followupdetailspage { |
| | | margin: 10px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 20px; |
| | | } |
| | | |
| | | .action-container { |
| | | display: flex; |
| | | flex-direction: row; /* 默认横向排列 */ |
| | | gap: 20px; |
| | | margin: 0 10px 20px 10px; |
| | | |
| | | /* 当缩放比例大于100%或屏幕宽度较小时改为上下排列 */ |
| | | @media screen and (max-width: 1200px), (min-resolution: 1dppx) { |
| | | flex-direction: column; |
| | | |
| | | .call-action, |
| | | .manual-action { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .call-action { |
| | | width: 65%; |
| | | min-width: 0; |
| | | } |
| | | |
| | | .manual-action { |
| | | flex: 1; |
| | | min-width: 0; |
| | | } |
| | | |
| | | /* 调整内部元素的响应式布局 */ |
| | | .Followuserinfos { |
| | | .el-form { |
| | | /* 表单响应式调整 */ |
| | | .el-row { |
| | | margin: 0 -10px; |
| | | } |
| | | |
| | | .el-col { |
| | | padding: 0 10px; |
| | | } |
| | | |
| | | @media screen and (max-width: 768px) { |
| | | .el-col { |
| | | width: 100%; |
| | | margin-bottom: 15px; |
| | | |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整表格的响应式表现 */ |
| | | .el-table { |
| | | ::v-deep .el-table__body-wrapper { |
| | | overflow-x: auto; |
| | | } |
| | | |
| | | /* 在小屏幕上调整表格列宽 */ |
| | | @media screen and (max-width: 992px) { |
| | | .el-table-column { |
| | | min-width: 120px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整标签选择器的响应式布局 */ |
| | | .tag-selector-container { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | gap: 10px; |
| | | |
| | | @media screen and (max-width: 576px) { |
| | | flex-direction: column; |
| | | align-items: flex-start; |
| | | |
| | | .el-select { |
| | | width: 100%; |
| | | margin-right: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整按钮组的响应式布局 */ |
| | | .el-form-item.label-processing-opinion { |
| | | .el-button-group { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | gap: 10px; |
| | | |
| | | .el-button { |
| | | flex: 1; |
| | | min-width: 120px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整选项卡的响应式表现 */ |
| | | .el-tabs { |
| | | ::v-deep .el-tabs__nav-wrap { |
| | | overflow-x: auto; |
| | | white-space: nowrap; |
| | | |
| | | &::after { |
| | | display: none; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整预览区域的响应式表现 */ |
| | | .preview-left { |
| | | @media screen and (max-width: 768px) { |
| | | margin: 10px; |
| | | padding: 15px; |
| | | |
| | | .topic-dev, |
| | | .scriptTopic-dev { |
| | | margin-bottom: 15px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 调整对话框的响应式表现 */ |
| | | .el-dialog { |
| | | @media screen and (max-width: 992px) { |
| | | width: 90% !important; |
| | | margin-top: 5vh !important; |
| | | |
| | | .el-dialog__body { |
| | | padding: 15px; |
| | | } |
| | | } |
| | | |
| | | @media screen and (max-width: 576px) { |
| | | width: 95% !important; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 15px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 确保内容在缩放时保持可读性 */ |
| | | .headline { |
| | | font-size: clamp(18px, 2vw, 24px); /* 使用clamp函数确保字体大小在合理范围内 */ |
| | | } |
| | | |
| | | /* 为移动设备优化滚动体验 */ |
| | | @media screen and (max-width: 768px) { |
| | | .Followuserinfo, |
| | | .Followuserinfos { |
| | | padding: 15px; |
| | | margin: 5px; |
| | | } |
| | | |
| | | .CONTENT { |
| | | min-height: auto; |
| | | padding: 5px; |
| | | } |
| | | } |
| | | |
| | | /* 缩放检测样式 */ |
| | | @media screen and (min-resolution: 1.1dppx), |
| | | screen and (-webkit-min-device-pixel-ratio: 1.1), |
| | | screen and (max-width: 1200px) { |
| | | .action-container { |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .call-action, |
| | | .manual-action { |
| | | width: 100%; |
| | | } |
| | | |
| | | /* 调整内部元素间距 */ |
| | | .call-container, |
| | | .Followuserinfos { |
| | | margin-bottom: 20px; |
| | | } |
| | | } |
| | | </style> |