Browse Source

修复一系列bug

shibei_master
dai 4 years ago
parent
commit
4b1d05c8a5
  1. 118
      src/assets/scss/people-info.scss
  2. 120
      src/views/main-shuju/main.vue
  3. 11
      src/views/modules/shequ/cpts/people-more.vue
  4. 101
      src/views/modules/shequ/cpts/xuqiu-info.vue
  5. 2
      src/views/modules/shequ/index.vue

118
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;
}
}
}
}
}

120
src/views/main-shuju/main.vue

@ -6,8 +6,8 @@
'g-bd',
{ 'z-sidebar--fold': $store.state.sidebarFold },
{
'z-sidebar--noside':true
}
'z-sidebar--noside': true,
},
]"
>
<template v-if="!loading">
@ -23,29 +23,30 @@
</template>
<script>
import MainNavbar from './main-navbar'
import MainContent from './main-content'
import debounce from 'lodash/debounce'
import { mapGetters } from 'vuex'
import nextTick from 'dai-js/tools/nextTick'
import MainNavbar from "./main-navbar";
import MainContent from "./main-content";
import debounce from "lodash/debounce";
import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request";
export default {
provide() {
return {
//
refresh() {
this.$store.state.contentIsNeedRefresh = true
this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false
})
}
}
this.$store.state.contentIsNeedRefresh = false;
});
},
};
},
data() {
return {
loading: true,
userType: localStorage.getItem('userType')
}
userType: localStorage.getItem("userType"),
};
},
components: {
MainNavbar,
@ -53,105 +54,70 @@ export default {
},
watch: {
$route: 'routeHandle'
$route: "routeHandle",
},
async created() {
this.windowResizeHandle()
this.routeHandle(this.$route)
this.windowResizeHandle();
this.routeHandle(this.$route);
Promise.all([this.getWorkUserInfo()]).then(() => {
this.loading = false
})
this.loading = false;
});
},
computed: {},
methods: {
changeCustomerName(customerName) {
this.$refs['ref_navbar'].changeCustomerName(customerName)
this.$refs["ref_navbar"].changeCustomerName(customerName);
},
//
windowResizeHandle() {
this.$store.state.sidebarFold =
document.documentElement['clientWidth'] <= 992 || false
document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener(
'resize',
"resize",
debounce(() => {
this.$store.state.sidebarFold =
document.documentElement['clientWidth'] <= 992 || false
document.documentElement["clientWidth"] <= 992 || false;
}, 150)
)
);
},
// ,
routeHandle(route) {
if (!route.meta.isTab) {
return false
return false;
}
var tab = this.$store.state.contentTabs.filter(
(item) => item.name === route.name
)[0]
)[0];
if (!tab) {
tab = {
...window.SITE_CONFIG['contentTabDefault'],
...window.SITE_CONFIG["contentTabDefault"],
...route.meta,
name: route.name,
params: { ...route.params },
query: { ...route.query }
}
query: { ...route.query },
};
this.$store.state.contentTabs =
this.$store.state.contentTabs.concat(tab)
this.$store.state.contentTabs.concat(tab);
}
this.$store.state.mainShuju.activeName = tab.menuId
this.$store.state.mainShuju.contentTabsActiveName = tab.name
this.$store.state.mainShuju.activeName = tab.menuId;
this.$store.state.mainShuju.contentTabsActiveName = tab.name;
},
//
getUserInfo() {
const url = '/epmetuser/operuser/queryOperUserDto'
async getWorkUserInfo() {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};
return this.$http
.get(url)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$store.state.user = { ...data };
localStorage.setItem("roleList", data.roleList);
localStorage.setItem("customerId", data.customerId);
}
this.$store.state.user.id = res.data.id
this.$store.state.user.realName = res.data.realName
this.$store.state.user.superAdmin = res.data.superAdmin
this.$store.state.user.gender = data.gender
localStorage.setItem('customerId', '')
})
.catch(() => {})
},
//
getWorkUserInfo() {
const url = '/epmetuser/customerstaff/staffbasicinfo'
let params = {}
window.app.ajax.post(
url,
params,
(data, rspMsg) => {
this.$store.state.user = { ...data }
// this.$store.state.user.id = data.id
// this.$store.state.user.realName = data.realName
// this.$store.state.user.superAdmin = data.superAdmin
// this.$store.state.user.gender = data.gender
localStorage.setItem('roleList', data.roleList)
localStorage.setItem('customerId', data.customerId)
// this.$store.state.user.roleList = data.roleList
// this.$store.state.user.customerId = data.customerId
},
(rspMsg, data) => {
this.$message.error(rspMsg)
}
)
// return this.$http.get(url).then(({ data: res }) => {
// if (res.code !== 0) {
// return this.$message.error(res.msg)
// }
// }).catch(() => { })
}
}
}
};
</script>
<style lang="scss" src="@/assets/scss/main-shuju.scss" scoped></style>

11
src/views/modules/shequ/cpts/people-more.vue

@ -1,9 +1,7 @@
<template>
<div class="m-pop">
<div class="wrap">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>更多信息</span>
</div>
@ -139,11 +137,7 @@
</div>
</div>
<div class="list" v-else>
<div
class="item"
:key="field.itemId"
v-for="field in group.itemList"
>
<div class="item" :key="field.itemId" v-for="field in group.itemList">
<span class="item-field">{{ field.label }}</span>
<span
v-if="
@ -173,7 +167,6 @@
</div>
</div>
</div>
</cpt-card>
</div>
</div>
</template>
@ -508,6 +501,6 @@ export default {
<style
lang="scss"
src="@/assets/scss/modules/visual/people.scss"
src="@/assets/scss/people-info.scss"
scoped
></style>

101
src/views/modules/shequ/cpts/xuqiu-info.vue

@ -8,11 +8,7 @@
:disabled="formType === 'detail'"
class="form"
>
<el-form-item
label="状态"
label-width="150px"
style="display: block"
>
<el-form-item label="状态" label-width="150px" style="display: block">
<span>{{ dataForm.statusName }}</span>
</el-form-item>
@ -48,11 +44,7 @@
<span>{{ dataForm.reportTypeName }}</span>
</el-form-item>
<el-form-item
label="上报人"
label-width="150px"
style="display: block"
>
<el-form-item label="上报人" label-width="150px" style="display: block">
<span>{{ dataForm.reportUserName }}</span>
</el-form-item>
@ -64,15 +56,12 @@
<span>{{ dataForm.reportTime }}</span>
</el-form-item>
<el-form-item
label="需求人"
label-width="150px"
style="display: block"
>
<el-form-item label="需求人" label-width="150px" style="display: block">
<span>{{ dataForm.demandUserName }}</span>
</el-form-item>
<el-form-item
v-if="dataForm.serviceShowName"
label="服务方"
label-width="150px"
style="display: block"
@ -81,12 +70,68 @@
</el-form-item>
<el-form-item
v-if="dataForm.wantServiceTime"
label="服务时间"
label-width="150px"
style="display: block"
>
<span>{{ dataForm.wantServiceTime }}</span>
</el-form-item>
<el-form-item
v-if="
dataForm.serviceStartTime &&
dataForm.serviceEndTime &&
dataForm.status == 'finished'
"
label="实际服务时间"
label-width="150px"
style="display: block"
>
<span
>{{ dataForm.serviceStartTime }}{{
dataForm.serviceEndTime
}}</span
>
</el-form-item>
<el-form-item
v-if="dataForm.finishResult && dataForm.status == 'finished'"
label="完成情况"
label-width="150px"
style="display: block"
>
<span>{{
dataForm.finishResult == "resolved" ? "已解决" : "未解决"
}}</span>
</el-form-item>
<el-form-item
v-if="dataForm.score && dataForm.status == 'finished'"
label="评价得分"
label-width="150px"
style="display: block"
>
<span>{{ dataForm.score }}</span>
</el-form-item>
<el-form-item
v-if="dataForm.finishDesc && dataForm.status == 'finished'"
label="评价备注"
label-width="150px"
style="display: block"
>
<span>{{ dataForm.finishDesc }}</span>
</el-form-item>
<el-form-item
v-if="dataForm.cancelTime && dataForm.status == 'canceled'"
label="取消时间"
label-width="150px"
style="display: block"
>
<span>{{ dataForm.cancelTime }}</span>
</el-form-item>
</el-form>
</div>
<div class="div_btn">
@ -105,18 +150,7 @@ export default {
data() {
return {
formType: "detail", // addeditdetail
dataForm: {
neighborHoodId: "", // ID
buildingId: "", //ID
buildingUnitId: "", //ID
doorName: "", //
houseType: "", //
purpose: "", //
rentFlag: 1, //10
ownerPhone: "", //
ownerName: "", //
ownerIdCard: "", //
},
dataForm: {},
};
},
components: {},
@ -138,18 +172,7 @@ export default {
},
resetData() {
this.dataForm = {
neighborHoodId: "", // ID
buildingId: "", //ID
buildingUnitId: "", //ID
doorName: "", //
houseType: "1", //
purpose: "1", //
rentFlag: 1, //10
ownerPhone: "", //
ownerName: "", //
ownerIdCard: "", //
};
this.dataForm = {};
},
//
startLoading() {

2
src/views/modules/shequ/index.vue

@ -478,7 +478,7 @@ import { requestPost } from "@/js/dai/request";
import panChart from "@/views/modules/shequ/cpts/pan-chart";
import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick";
import peopleMore from "@/views/modules/visual/basicinfo/cpts/people-more";
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import fangwuInfo from "@/views/modules/shequ/cpts/fangwu-info";
import xuqiuInfo from "@/views/modules/shequ/cpts/xuqiu-info";

Loading…
Cancel
Save