diff --git a/package.json b/package.json index 3f52cd7e..699ce11d 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "xlsx": "^0.17.1" }, "devDependencies": { + "@antv/f2": "^3.8.10-beta.1", "@vue/cli-plugin-babel": "^3.10.0", "@vue/cli-plugin-eslint": "^3.10.0", "@vue/cli-service": "^3.10.0", diff --git a/public/index.html b/public/index.html index ebeef610..9e19414c 100644 --- a/public/index.html +++ b/public/index.html @@ -7,7 +7,7 @@ - + + + diff --git a/src/assets/img/add.png b/src/assets/img/add.png new file mode 100644 index 00000000..59a8922f Binary files /dev/null and b/src/assets/img/add.png differ diff --git a/src/assets/img/shequ/close.png b/src/assets/img/shequ/close.png new file mode 100644 index 00000000..a77645b3 Binary files /dev/null and b/src/assets/img/shequ/close.png differ diff --git a/src/assets/img/shuju/measure/qydw.png b/src/assets/img/shuju/measure/qydw.png index bb4674f9..2e068f8a 100644 Binary files a/src/assets/img/shuju/measure/qydw.png and b/src/assets/img/shuju/measure/qydw.png differ diff --git a/src/assets/scss/main-shuju.scss b/src/assets/scss/main-shuju.scss index 190f8aef..64eaa42c 100644 --- a/src/assets/scss/main-shuju.scss +++ b/src/assets/scss/main-shuju.scss @@ -352,8 +352,12 @@ body { border-top: 1px dashed rgba(#fff, 0.4); color: rgba(#fff, 0.7); transition: all ease 0.5s; + &.z-on { + font-weight: bold; + } + &.z-on, &:hover { - color: #fff; + color: #ffd; } } } diff --git a/src/assets/scss/modules/management/categoryMain.scss b/src/assets/scss/modules/management/categoryMain.scss new file mode 100644 index 00000000..e5135aad --- /dev/null +++ b/src/assets/scss/modules/management/categoryMain.scss @@ -0,0 +1,157 @@ +.div_main { + box-sizing: border-box; + height: 100%; + width: 100%; + background: #ffffff; + border-radius: 5px; + padding: 35px 0 15px; +} +.div_tip { + font-size: 24px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + margin-left: 42px; +} +.div_list { + box-sizing: border-box; + margin-top: 5px; + height: calc(100vh - 210px); +} + +.div_all_list { + height: calc(100vh - 260px); +} + +.div_room { + // height: calc(88vh - 40px); + // margin-top: 9px; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + margin-left: 42px; + // margin: 0 21px 0 21px; + + .item { + width: 340px; + height: 120px; + background: #ffffff; + box-shadow: 0px 0px 17px 3px #eaeaea; + border-radius: 6px; + margin: 15px 25px 15px 0; + display: flex; + position: relative; + + .item_category { + width: 100%; + display: flex; + align-items: center; + padding: 17px 16px; + > img { + width: 86px; + height: 86px; + } + .item_content { + margin-left: 16px; + width: 100%; + text-align: left; + display: flex; + flex-direction: column; + justify-content: flex-start; + + .item_count { + font-size: 28px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + .item_row2 { + margin-top: 21px; + display: flex; + justify-content: space-between; + + .row_left { + font-size: 20px; + font-family: PingFang SC; + font-weight: 500; + color: #202020; + } + + .row_right { + margin: 5px 10px 0 0; + font-size: 16px; + font-family: PingFang SC; + font-weight: 500; + text-decoration: underline; + color: #00a7a9; + cursor: pointer; + } + } + } + + > span { + margin-left: 16px; + font-size: 24px; + } + } + + .item_add { + cursor: pointer; + font-size: 24px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; + display: flex; + align-items: center; + padding: 17px 16px; + + > img { + width: 86px; + height: 86px; + } + + > span { + font-size: 24px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; + + margin-left: 16px; + } + } + + .icon_circle { + cursor: pointer; + position: absolute; + top: -10px; + right: -10px; + height: 23px; + width: 23px; + background-color: #ffffff; + border-radius: 50%; + border: 1px solid #a5a5a5; + } + + .icon_sel { + cursor: pointer; + background-color: #6bb9f8; + border: 1px solid #6bb9f8; + } + } +} + +.div_room::after { + content: ''; + flex: 1; +} + +.div_btn { + margin-top: 15px; + display: flex; + width: 100%; + justify-content: center; + + .btn_right { + margin-left: 50px; + } +} diff --git a/src/assets/scss/modules/search.scss b/src/assets/scss/modules/search.scss new file mode 100644 index 00000000..d0222b5c --- /dev/null +++ b/src/assets/scss/modules/search.scss @@ -0,0 +1,219 @@ +@import "../c/config"; +@import "../c/function"; + +.m-info { + padding: 0; + .wrap { + background-color: #fff; + border-radius: 10px; + padding: 30px 40px; + .logo { + margin-bottom: 30px; + img { + display: block; + margin: 0 auto; + } + } + + .search { + margin: 0 auto 30px; + width: 750px; + height: 53px; + border: 2px solid #0082fb; + border-radius: 8px; + display: flex; + align-items: center; + + .input { + position: relative; + select { + border: none; + font-size: 16px; + width: 90px; + line-height: 32px; + text-align: center; + color: #0082fb; + } + + input { + margin-left: 20px; + width: 500px; + border: none; + line-height: 24px; + font-size: 18px; + font-family: PingFang SC; + font-weight: 400; + color: #333; + } + + .close-btn { + position: absolute; + right: 0; + top: 0; + bottom: 0; + margin: auto 0; + width: 30px; + height: 30px; + background-color: #eee; + border-radius: 100%; + cursor: pointer; + + img { + display: block; + margin: 8px auto; + width: 14px; + height: 14px; + opacity: 0.3; + } + } + } + + .btn { + margin-left: auto; + width: 120px; + line-height: 49px; + background: #0082fb; + border-radius: 0px 6 px 6 px 0px; + font-size: 22px; + text-align: center; + font-family: PingFang SC; + font-weight: 500; + color: #ffffff; + cursor: pointer; + } + } + } +} +.m-panel { + background-color: #fff; + border-radius: 10px; + padding: 30px 40px; + + .operate { + text-align: right; + } +} +.m-list { + .list-title { + margin-bottom: 20px; + font-size: 24px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + + .list-title2 { + margin-bottom: 10px; + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + + .list { + display: flex; + flex-wrap: wrap; + + .item { + position: relative; + margin-right: 46px; + margin-bottom: 20px; + width: 80px; + text-align: center; + cursor: pointer; + + .corner-mark { + position: absolute; + top: -4px; + right: -4px; + color: #ccc; + font-size: 20px; + z-index: 1; + &.z-on { + color: #0082fb; + } + } + + .icon { + position: relative; + display: block; + margin: 0 auto; + width: 78px; + height: 78px; + + &::before { + content: ""; + position: absolute; + z-index: 0; + display: block; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + width: 64px; + height: 64px; + border-radius: 10px; + background-color: #f4f4f4; + } + + img { + position: relative; + width: 78px; + height: 78px; + object-fit: cover; + } + + .icon-svg { + position: relative; + display: block; + margin: auto; + width: 78px; + height: 78px; + object-fit: cover; + } + } + p { + margin: 0; + line-height: 24px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #333333; + } + } + } +} + +.m-tb { + margin-bottom: 20px; +} + +.m-data { + padding: 0; + margin-top: 20px; + + .wrap { + background-color: #fff; + border-radius: 10px; + padding: 30px 40px; + + .headline { + margin-bottom: 20px; + font-size: 24px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + + .cnt { + display: flex; + .chart { + width: 520px; + } + .tb { + width: calc(100% - 520px); + } + } + } +} diff --git a/src/assets/scss/modules/visual/basicInfoMain.scss b/src/assets/scss/modules/visual/basicInfoMain.scss index e8298340..fddee657 100644 --- a/src/assets/scss/modules/visual/basicInfoMain.scss +++ b/src/assets/scss/modules/visual/basicInfoMain.scss @@ -37,7 +37,7 @@ width: 100%; // padding: 10px 5px 13px; // margin-top: 8px; - height: calc(88vh - 5px); + height: calc(88vh - 15px); color: #fff; // background: url('../../../img/modules/visual/warning-box.png') no-repeat // center; @@ -105,7 +105,7 @@ box-sizing: border-box; width: 100%; margin-top: 21px; - height: calc(88vh - 77px); + height: calc(88vh - 87px); color: #fff; background: url('../../../img/modules/visual/warning-box.png') no-repeat center; @@ -193,7 +193,7 @@ flex: 0 0 calc(100vw - 620px); // width: calc(100vw - 560px); - height: calc(88vh); + height: calc(88vh - 10px); color: #fff; background: url('../../../img/modules/visual/warning-box.png') no-repeat center; diff --git a/src/assets/scss/modules/visual/personCategory.scss b/src/assets/scss/modules/visual/personCategory.scss index af300198..3a9d5913 100644 --- a/src/assets/scss/modules/visual/personCategory.scss +++ b/src/assets/scss/modules/visual/personCategory.scss @@ -35,7 +35,7 @@ margin-top: 10px; margin-left: 10px; margin-right: 15px; - margin-bottom: 15px; + margin-bottom: 20px; cursor: pointer; &-img { @@ -138,31 +138,5 @@ height: calc(100% - 300px); min-height: 300px; margin-top: 60px; - - .pagination { - box-sizing: border-box; - margin-top: 20px; - width: 100%; - height: 40px; - display: flex; - justify-content: flex-end; - - /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { - background: #0266d1; - color: #000d3f; - } - - /deep/ .el-pagination .el-pager li { - background: #002e74; - } - - /deep/ .el-pagination .btn-prev { - background: #002e74; - } - - /deep/ .el-pagination .btn-next { - background: #002e74; - } - } } } diff --git a/src/assets/scss/people-info.scss b/src/assets/scss/people-info.scss new file mode 100644 index 00000000..fa0354ca --- /dev/null +++ b/src/assets/scss/people-info.scss @@ -0,0 +1,118 @@ +@import "c/config"; +@import "c/function"; + +.m-pop { + @include shield; + background-color: rgba(#000, 0.5); + overflow-y: auto; + + .wrap { + position: relative; + margin: 120px auto; + padding: 20px; + width: 1000px; + background-color: #fff; + + .title { + padding: 10px; + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + color: #333; + display: flex; + align-items: center; + + img { + display: block; + margin-right: 5px; + } + span { + display: block; + } + } + + .btn-close { + position: absolute; + top: -30px; + right: -30px; + cursor: pointer; + } + + .list { + display: flex; + flex-wrap: wrap; + padding: 10px 30px; + + .item { + position: relative; + box-sizing: border-box; + padding: 0 15px; + width: 33%; + color: #fff; + font-size: 18px; + font-family: PingFang SC; + font-weight: 400; + color: #333; + line-height: 24px; + margin: 20px 0; + + &::before { + position: absolute; + left: 0; + top: 9px; + content: ""; + display: block; + width: 7px; + height: 7px; + background: #ddd; + border-radius: 3px; + } + } + } + + .line { + margin: 20px auto; + width: 900px; + height: 1px; + border: 1px dashed #ddd; + } + + .tabs { + margin-top: 30px; + display: flex; + align-items: center; + padding-left: 20px; + + .tab-btn { + width: 30px; + text-align: center; + cursor: pointer; + } + + .tab { + margin: 0 5px; + min-width: 76px; + padding: 0 5px; + height: 30px; + background: #fff; + border: 1px solid #eee; + box-shadow: 0 0 10px 0 inset #ddd; + border-radius: 2px; + text-align: center; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #333; + line-height: 30px; + cursor: pointer; + transition: all ease 0.1s; + &.z-on { + background: linear-gradient(90deg, #1a5afd, #009cff); + box-shadow: none; + color: #ffffff; + border: 1px solid #1a5afd; + } + } + } + } +} diff --git a/src/js/store/index.js b/src/js/store/index.js index d3aca2ad..483238a6 100644 --- a/src/js/store/index.js +++ b/src/js/store/index.js @@ -28,7 +28,7 @@ export default new Vuex.Store({ { ...window.SITE_CONFIG["contentTabDefault"], name: "indexWork", - title: "indexWork", + title: "首页", }, ], contentTabsActiveName: "indexWork", diff --git a/src/main.js b/src/main.js index 72159ce2..05b7580e 100644 --- a/src/main.js +++ b/src/main.js @@ -32,10 +32,10 @@ import getQueryPara from "dai-js/modules/getQueryPara"; // 兼容token传参登录 if (getQueryPara("token")) { + console.log('token', getQueryPara("token")); Cookies.set("token", getQueryPara("token")); } - window.app = Object.assign( {}, { diff --git a/src/router/index.js b/src/router/index.js index 22841304..54c903b5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -52,7 +52,7 @@ export const moduleRoutes = { component: () => import("@/views/main"), name: "main", redirect: { - path: "/main/base-resi", + path: "/main/shequ-index", }, meta: { title: "主入口布局", @@ -443,7 +443,7 @@ function fnAddDynamicMenuRoutes2(menuList = [], routes = []) { component: null, name: "", meta: { - ...window.SITE_CONFIG["contentTabDefault"], + // ...window.SITE_CONFIG["contentTabDefault"], menuId: menuList[i].id, title: menuList[i].name, }, diff --git a/src/store/index.js b/src/store/index.js index a92e7e3f..d411b20e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -24,7 +24,7 @@ export default new Vuex.Store({ { ...window.SITE_CONFIG['contentTabDefault'], 'name': 'indexWork', - 'title': 'indexWork' + 'title': '首页' } ], contentTabsActiveName: 'indexWork', diff --git a/src/views/components/editResi.vue b/src/views/components/editResi.vue index 8d431863..ed807fd9 100644 --- a/src/views/components/editResi.vue +++ b/src/views/components/editResi.vue @@ -14,7 +14,7 @@ - +
diff --git a/src/views/components/resiChangeRecord.vue b/src/views/components/resiChangeRecord.vue new file mode 100644 index 00000000..58722bdb --- /dev/null +++ b/src/views/components/resiChangeRecord.vue @@ -0,0 +1,297 @@ + + + + diff --git a/src/views/components/resiSearch.vue b/src/views/components/resiSearch.vue index 53fc6314..2e31ee63 100644 --- a/src/views/components/resiSearch.vue +++ b/src/views/components/resiSearch.vue @@ -207,10 +207,14 @@ export default { formList: { type: Array, default: () => [] + }, + columnName: { + type: String, + default: '' } }, data() { - let initForm = (arr) => { + let initForm = (arr, columnName) => { let _form = {} // console.log('formInfo', obj) // if (Object.keys(obj).length > 0) { @@ -218,12 +222,19 @@ export default { // return _form // } arr.forEach((item) => { - _form[item.columnName] = '' + if (columnName && columnName === item.columnName) _form[item.columnName] = '1' + else _form[item.columnName] = '' }) return _form } - let form = initForm(this.formList) - let tempFormList = [...this.formList] + let form = initForm(this.formList, this.columnName) + let tempFormList = this.formList.map(item => { + + return { + ...item, + isChange: this.columnName && this.columnName === item.columnName ? true : false + } + }) let constForm = { ...form, GRID_ID: '', @@ -339,6 +350,7 @@ export default { // console.log('formcccc---', this.form) this.getGridList() this.getValiheList() + if (this.columnName) this.handleChangeForm(this.columnName) }, methods: { initForm() { diff --git a/src/views/components/resiTransfer.vue b/src/views/components/resiTransfer.vue new file mode 100644 index 00000000..94178f4f --- /dev/null +++ b/src/views/components/resiTransfer.vue @@ -0,0 +1,491 @@ + + + + + \ No newline at end of file diff --git a/src/views/components/scoreRecord.vue b/src/views/components/scoreRecord.vue index 95f9c9ae..62c02c52 100644 --- a/src/views/components/scoreRecord.vue +++ b/src/views/components/scoreRecord.vue @@ -121,7 +121,7 @@ export default { pickerOptions: { //控制时间范围 disabledDate (time) { - return time.getTime() > (Date.now() - (24 * 60 * 60 * 1000)) + return time.getTime() > (Date.now()) } }, @@ -192,11 +192,11 @@ export default { //初始化时间 initDate () { - let yesterday = new Date((new Date).getTime() - 24 * 60 * 60 * 1000) + let today = new Date((new Date).getTime()) - let year = yesterday.getFullYear() - let month = yesterday.getMonth() + 1 //月 - let day = yesterday.getDate() //日 + let year = today.getFullYear() + let month = today.getMonth() + 1 //月 + let day = today.getDate() //日 let days = new Date(year, month, 0); days = days.getDate(); //获取当前月的天数 diff --git a/src/views/main-content.vue b/src/views/main-content.vue index 067cef1f..89096412 100644 --- a/src/views/main-content.vue +++ b/src/views/main-content.vue @@ -4,44 +4,61 @@