diff --git a/src/assets/img/Home/top20.png b/src/assets/img/Home/top20.png new file mode 100644 index 0000000000000000000000000000000000000000..0af2e91c374a78821927ff02ade6cedece6a9e50 Binary files /dev/null and b/src/assets/img/Home/top20.png differ diff --git a/src/components/FormComponents/CustomForm/FormItemSelf.vue b/src/components/FormComponents/CustomForm/FormItemSelf.vue index 31d79c843c8e75e2cde83be8744721b3435ce12f..65b204318c925508efdd0eb43559057ed2490ea3 100644 --- a/src/components/FormComponents/CustomForm/FormItemSelf.vue +++ b/src/components/FormComponents/CustomForm/FormItemSelf.vue @@ -265,16 +265,22 @@ @change="handleChange" > - +
+ + {{ age + (age ? "岁" : "") }} +
0) { this.$watch( `form.${prop}`, - function (val) { + (val) => { //! val 表单的当前属性值 const columns = this.columns || [] const group = this.group || [] const dyMap = {} //! 显示数据集合 + let filterArr = [ + "early_esophagus_cancer", + "period_esophagus_cancer", + "early_gastric_cancer", + "pathology_path", + "esophagus_level", + ] dynamicshSet.forEach((dy) => { if (dyMap[dy.target]) { dyMap[dy.target].push(dy.value) @@ -647,42 +678,49 @@ export default { const values = dyMap[key] let display = false if (Array.isArray(val)) { - // 胃癌和进展性胃癌控制显隐+自定义规则 - if ( - prop == "early_gastric_cancer" || - prop == "period_gastric_cancer" - ) { - let flag = false + display = values.filter((v) => val.includes(v)).length > 0 + } else { + display = values.includes(val) + } + //! 胃上皮瘤变(高级别)胃癌和进展性胃癌控制显隐+自定义规则 + if ( + prop == "early_gastric_cancer" || + prop == "period_gastric_cancer" || + prop == "esophagus_level" + ) { + let flag = false + this.form.esophagus_level == "high" + ? (flag = true) + : (flag = false) + if (!flag) { if (this.form.early_gastric_cancer) { this.form.early_gastric_cancer.length > 0 ? (flag = true) : (flag = false) } - if (!flag) { - if (this.form.period_gastric_cancer) { - this.form.period_gastric_cancer.length > 0 - ? (flag = true) - : (flag = false) - } + } + if (!flag) { + if (this.form.period_gastric_cancer) { + this.form.period_gastric_cancer.length > 0 + ? (flag = true) + : (flag = false) } - display = flag - if (display) { - targetItem.rules[0] = { + } + console.log(flag, targetItem) + display = flag + if (display) { + targetItem.rules = [ + { required: true, message: "请上传病理报告", - } - } else { - if (targetItem.rules.length > 0) { - targetItem.rules[0].required = false - } - } + }, + ] } else { - display = values.filter((v) => val.includes(v)).length > 0 + if (targetItem.rules.length > 0) { + targetItem.rules[0].required = false + } } - } else { - display = values.includes(val) } - if (!display && targetItem) { // 清空数据 const newVal = Array.isArray(this.form[targetItem.prop]) @@ -699,40 +737,47 @@ export default { }, 200) } else { // ! 设置每个表单中每项显隐的rules - if (targetItem.rules && Boolean(display)) { - console.log(targetItem) - if (targetItem.type == "checkbox") { - targetItem.rules = [ - { - required: true, - message: "请选择" + targetItem.label, - }, - ] - } else { - targetItem.rules = [ - { - required: true, - message: "请输入" + targetItem.label, - }, - ] + + if (!filterArr.includes(targetItem.prop)) { + if (targetItem.rules && Boolean(display)) { + if (targetItem.type == "checkbox") { + targetItem.rules = [ + { + required: true, + message: "请选择" + targetItem.label, + }, + ] + } else { + targetItem.rules = [ + { + required: true, + message: "请输入" + targetItem.label, + }, + ] + } + } else if (targetItem.rules && !Boolean(display)) { + targetItem.rules = [] } - } else if (targetItem.rules && !Boolean(display)) { - targetItem.rules = [] } + // !设置大表单里的每个小表单显隐rules if (targetItem.prop == "1669874397313_56690") { - console.log(targetItem.column) // !只能写死,当前情况下,定义一个字段用来缓存是否回显,根据val // if (val == 0) { // this.showChildren = false + targetItem.column.forEach((e, index) => { // 去除esd报告 if (e.prop == "esd_path") { return } + console.log(e.label, ":", e.rules) if (e.rules && val == 0) { targetItem.column[index].rules = [] } else if (e.rules && val == 1) { + if (filterArr.includes(targetItem.column[index].prop)) { + return + } if (targetItem.column[index].type == "checkbox") { targetItem.column[index].rules = [ { @@ -750,40 +795,7 @@ export default { } } }) - // } else { - // this.showChildren = true - // } } - - // 家族史动态规则 - // if ( - // (prop == "is_first_degree" || prop == "is_other_sickness") && - // Boolean(display) - // ) { - // targetItem.rules = [ - // { - // required: true, - // message: "请输入" + targetItem.label, - // }, - // ] - // } else if ( - // prop == "is_first_degree" || - // prop == "is_other_sickness" - // ) { - // this.$nextTick(() => { - // targetItem.rules = [] - // }) - // } - // // 内镜报告动态上传 - // if (prop == "check_type" && Boolean(display)) { - // targetItem.rules[0] = { - // required: true, - // message: "请上传内镜报告", - // } - // } else if (prop == "check_type") { - // targetItem.rules = [] - // } - this.$set(targetItem, "display", Boolean(display)) } }) @@ -801,6 +813,10 @@ export default { handleChange(val) { this.checkboxRepel(val) this.handleAlgorithm() + // !设置年龄 + if (this.item.prop == "birthday") { + this.getAge() + } // 该操作判断是否符合筛查条件 this.$emit("formChange") // ['is_one_year','is_subtotal_history','is_ppi','is_symptom','is_subtotal_history','is_disease','is_tumour'] diff --git a/src/components/layout/index.vue b/src/components/layout/index.vue index 8e084f445ebb1bb5390ea784ce1791ff9aa9bac6..62e5764a0a86db5c5ceed4e1146d14bd547bd9dc 100644 --- a/src/components/layout/index.vue +++ b/src/components/layout/index.vue @@ -108,6 +108,10 @@ export default { route: "/casesharing", name: "案例分享", }, + { + route: "/solution", + name: "解决方案", + }, ], loading: false, rules: { @@ -159,7 +163,9 @@ export default { const routerPath = !this.redirect || this.redirect === "/404" ? "/" : this.redirect this.$router.push({ path: routerPath }).catch((e) => {}) - this.loading = false + setTimeout(() => { + this.loading = false + }, 800) }) .catch((e) => { this.loading = false diff --git a/src/router/index.js b/src/router/index.js index 5e1f6d177e0d19d6b92d5fea23c24071bec8e16d..0cd0b3bd1fda4bc3d29ea68040ac5cdfcde85fa2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,8 +29,8 @@ export const constantRoutes = [ component: () => import("@/views/Home/ScientificResearch/index"), }, { - path: "/healthpopularization", - component: () => import("@/views/Home/HealthPopularization/index"), + path: "/solution", + component: () => import("@/views/Home/Solution/index"), }, ], }, diff --git a/src/views/Home/Solution/index.vue b/src/views/Home/Solution/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..a8e1909eff682dd3bf131ffe8aa1c4a16ecb6b9d --- /dev/null +++ b/src/views/Home/Solution/index.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/Home/index.vue b/src/views/Home/index.vue index 56830aa4e9617d546f705c54d506489854b29749..50b5b4356c2669b79b61eac868c3191cf8c97050 100644 --- a/src/views/Home/index.vue +++ b/src/views/Home/index.vue @@ -35,7 +35,7 @@
联盟地图
-
+
-
    +
    • @@ -59,19 +59,22 @@
- +
-
-
+
+
累计上报量机构排名
-
+
  • {{ index + 1 }}
    {{ item.unionName }}
    @@ -88,7 +91,9 @@
  • {{ index + 1 }}
    {{ item.unionName }}
    @@ -98,36 +103,32 @@
-
- -
-
-
健康科普
-
-
-
    -
  • - {{ item.name }} -
  • -
-
-
+ +
+
+
健康科普
+
+
+
    +
  • + {{ item.name }} +
  • +
+
+
@@ -205,34 +206,6 @@ export default { title: "典型案例小标题典型案例小标题", date: "2022-09-26", }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, - { - title: "典型案例小标题典型案例小标题", - date: "2022-09-26", - }, ], curTab: "新闻会议", rangeList: [], // 上报排名 @@ -297,14 +270,42 @@ export default { getRankTotal() { getRankTotal().then((res) => { if (res.code == 1) { - this.rangeList = res.data + // this.rangeList = res.data + this.rangeList = [ + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + ] } }) }, getCurrentQuarter() { getCurrentQuarter().then((res) => { if (res.code == 1) { - this.curQuarterList = res.data + // this.curQuarterList = res.data + this.curQuarterList = [ + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + { unionName: "包头医学院第二附属医院", nums: 12311 }, + ] } }) }, @@ -319,7 +320,7 @@ export default { margin-bottom: 38px; .box { width: 48%; - // height: 300px; + height: 300px; // background: blue; background: #fff; .video { @@ -364,6 +365,9 @@ export default { } } .dataAnalysis { + background: #fff; + margin-bottom: 32px; + padding: 32px; .box_title { width: 180px; height: 36px; @@ -377,8 +381,6 @@ export default { } .cenbox { height: 458px; - // background: url("~@/assets/img/Home/map.png") no-repeat center center; - // background-size: cover; .map { width: 100%; height: 422px; @@ -386,21 +388,20 @@ export default { } } .cenboxs { + width: 100%; display: flex; justify-content: space-between; - .range { - width: 46%; + width: 32%; background: #ffffff; border-radius: 4px; - border: 1px solid #d2d7f5; padding: 0 7px; .rangecontent { - margin-top: 6px; + margin-top: 24px; height: 408px; - background: rgba(78, 104, 255, 0.06); + background: rgba(78, 104, 255, 0.04); border-radius: 4px; - padding: 8px; + padding: 24px 32px; font-size: 14px; font-family: AlibabaPuHuiTiM; // color: #4e68ff; @@ -426,7 +427,41 @@ export default { background: url("~@/assets/img/Home/top10.png") no-repeat center center; background-size: contain; - margin-bottom: 8px; + margin-bottom: 18px; + } + .top20 { + height: 32px; + background: url("~@/assets/img/Home/top20.png") no-repeat center + center; + background-size: contain; + margin-bottom: 18px; + } + } + .left_range { + width: 60%; + .rangecontent { + .rangeList { + height: 100%; + display: flex; + flex-direction: column; + flex-wrap: wrap; + li { + width: 40%; + margin-bottom: 14px; + display: flex; + justify-content: space-between; + + div:nth-child(1) { + width: 20px; + } + div:nth-child(2) { + flex: 1; + } + div:nth-child(3) { + text-align: right; + } + } + } } } } @@ -438,7 +473,7 @@ export default { justify-content: space-between; li { cursor: pointer; - width: 43%; + width: 23%; margin-bottom: 24px; height: 188px; display: flex;