diff --git a/src/api/bigScreen/index.js b/src/api/bigScreen/index.js new file mode 100644 index 0000000..a84ae54 --- /dev/null +++ b/src/api/bigScreen/index.js @@ -0,0 +1,31 @@ +import request from "@/utils/request"; + +export function getList (params,isLoading=true) { + return request({ + method: "get", + url: "/api/admin/data-static/get-list", + params, + isLoading + }) +} +export function detail (id) { + return request({ + method: "get", + url: "/api/admin/data-static/get-form/" + id + }) +} + +export function save (data) { + return request({ + method: "post", + url: "/api/admin/data-static/save", + data + }) +} + +export function destroy (id) { + return request({ + method: "post", + url: "/api/admin/data-static/delete/" + id + }) +} diff --git a/src/components/XyTable/index.vue b/src/components/XyTable/index.vue index 57e801c..6df14ca 100644 --- a/src/components/XyTable/index.vue +++ b/src/components/XyTable/index.vue @@ -69,6 +69,7 @@ export default { return {children: 'children', hasChildren: 'hasChildren'} } }, + spanMethod: Function, tableStyle: { type: Object, default: () => { @@ -240,6 +241,7 @@ export default { row-key={rowKey} border={true} default-expand-all={defaultExpandAll} + span-method={this.spanMethod} tree-props={treeProps} fit={true} on={{ @@ -255,6 +257,7 @@ export default { if (item.customFn) { return ( { + const mList = {} + data = data.map((v, index) => { + // 区分需要合并行的kemergeTableRow({ + // data: this.selectArea ? list.filter(i => (i.equipment_id_equipments_id_relation?.area === this.selectArea)) : list, + // mergeColNames: ["equipment_id_equipments_id_relation.area","equipment_id_equipments_id_relation.name"], // 需要合并的列,默认合并列相同的数据 + // firstMergeColNames: ["equipment_id_equipments_id_relation.area","equipment_id_equipments_id_relation.name"], // 受影响的列,只合并以firstMerge为首的同类型数据 + // firstMerge: "equipment_id", // 以哪列为基础进行合并,一般为第一列 + // });y值 + const rowVal = v[firstMerge] + '-' + v[m] + // 需要合并行的第二行以及之后行会走if + // m === firstMerge 判断需要合并的列是否是基准列,如果是则只满足前面的条件,如果不是则需满足前面+后面的条件 + if (mList[rowVal] && mList[rowVal].newIndex === index && (m === firstMerge ? true : data[index][firstMerge + '-span']?.rowspan === 0)) { + // 判断受影响的列是否是需要合并的列 + const flag = firstMergeColNames.filter((f) => { + return f === m + }).length !== 0 + // 判断需要合并的列是否是基准列 + const mcFlag = mergeColNames.filter((mc) => { + return mc === firstMerge + }).length === 0 + // 判断基准列只有一行的时候,直接赋值rowspan和colspan为1 + if ((mcFlag && flag) || (flag && data[index][firstMerge + '-span'] && data[index][firstMerge + '-span']?.rowspan === 1)) { + v[m + '-span'] = { + rowspan: 1, + colspan: 1 + } + } else { + // 判断基准列或其他需要合并列有多行时,第一行rowspan++ + data[mList[rowVal]['index']][m + '-span'].rowspan++ + // 需要合并行除了第一行之后其他行设置rowspan和colspan为0 + v[m + '-span'] = { + rowspan: 0, + colspan: 0 + } + mList[rowVal]['num']++ + mList[rowVal]['newIndex']++ + } + } else { // 需要合并列第一行走else + mList[rowVal] = { + num: 1, + index: index, + newIndex: index + 1 + } + v[m + '-span'] = { + rowspan: 1, + colspan: 1 + } + } + return v + }) + }) + return data +} diff --git a/src/views/bigSreen/component/Bottom.vue b/src/views/bigSreen/component/Bottom.vue index e77f37b..b3b7fc5 100644 --- a/src/views/bigSreen/component/Bottom.vue +++ b/src/views/bigSreen/component/Bottom.vue @@ -1,79 +1,119 @@ @@ -95,8 +135,9 @@ export default { margin-top: 10px; position: relative; - & > img { + & > img,& > .el-img { object-fit: cover; + height: 100%; width: 372px; } @@ -114,4 +155,7 @@ export default { } } } +::v-deep .el-image-viewer__mask { + transform: scale(2); +} diff --git a/src/views/bigSreen/component/Center.vue b/src/views/bigSreen/component/Center.vue index 0193ad2..ee9e2e1 100644 --- a/src/views/bigSreen/component/Center.vue +++ b/src/views/bigSreen/component/Center.vue @@ -8,7 +8,7 @@

照护

- 10000 + {{ total.zhaohu }} 人次/年

@@ -20,7 +20,7 @@

服务覆盖人数

- 658 + {{ total.fuwufugairenshu }}

@@ -32,20 +32,28 @@

总服务时长

- 10000 + {{ total.zongfuwushichang }} 小时

-
- +
+ + + + + + + + + + -
+
@@ -73,14 +81,23 @@
-
-
+
+ + +
+ +
+
-
2
+
{{ imgs.length }}
-
+
-
6
+
{{ videos.length }}
@@ -89,15 +106,50 @@ @@ -165,16 +233,31 @@ export default { background: conic-gradient(#5470ec, #506bec, #77cbf1, #3d58ca, #3b56ca, #6fbbf0, #6aa3f2); position: relative; - video { + video,.carousel-img { + background: rgb(6, 23, 70); object-fit: cover; position: absolute; + transition: all .2s; left: 6px; bottom: 6px; - filter: brightness(65%); height: calc(100% - 12px); width: calc(100% - 12px); } - //.video-btn { + .carousel-img > ::v-deep .el-carousel__container { + height: 100%; + } + ::v-deep .el-carousel__arrow { + width: 56px; + height: 56px; + font-size: 25px; + color: #fff; + } + .carousel-item-img { + width: 100%; + height: 100%; + object-fit: cover; + } + //.video-btn { // cursor: pointer; // width: 230px; // height: 230px; @@ -223,6 +306,7 @@ export default { background: #ffffff19; padding: 9px 15px; display: flex; + z-index: 333; align-items: center; position: absolute; bottom: 14px; diff --git a/src/views/bigSreen/component/CenterLeft.vue b/src/views/bigSreen/component/CenterLeft.vue index f26270d..35d2f19 100644 --- a/src/views/bigSreen/component/CenterLeft.vue +++ b/src/views/bigSreen/component/CenterLeft.vue @@ -25,6 +25,7 @@ diff --git a/src/views/bigSreen/component/CenterRight.vue b/src/views/bigSreen/component/CenterRight.vue index d463afa..84a878b 100644 --- a/src/views/bigSreen/component/CenterRight.vue +++ b/src/views/bigSreen/component/CenterRight.vue @@ -18,12 +18,13 @@
- +
diff --git a/src/views/bigSreen/component/addDataManage.vue b/src/views/bigSreen/component/addDataManage.vue new file mode 100644 index 0000000..b1355e5 --- /dev/null +++ b/src/views/bigSreen/component/addDataManage.vue @@ -0,0 +1,310 @@ + + + + + diff --git a/src/views/bigSreen/dataManage.vue b/src/views/bigSreen/dataManage.vue new file mode 100644 index 0000000..125e494 --- /dev/null +++ b/src/views/bigSreen/dataManage.vue @@ -0,0 +1,112 @@ + + + + +