Browse Source

Merge remote-tracking branch 'origin/dev' into preview

* origin/dev:
  修改地图加载方式;
  删除小区,编辑小区字段拼接
  移除多余的*号
  表单验证触发修改
  bug
  自组织
feature
luyan 3 years ago
parent
commit
e074a666cb
  1. 2
      .env.development
  2. 4
      src/views/modules/base/community/buildDetail.vue
  3. 188
      src/views/modules/base/community/buildForm.vue
  4. 4
      src/views/modules/base/community/buildTable.vue
  5. 6
      src/views/modules/base/community/communityTable.vue
  6. 2
      src/views/modules/home/index.vue
  7. 57
      src/views/modules/shequzhili/tuceng/anquan/yinhuan/index.vue
  8. 4
      src/views/modules/shequzhili/tuceng/chengshiguanli/addForm.vue
  9. 17
      src/views/modules/shequzhili/tuceng/chengshiguanli/index.vue
  10. 11
      src/views/modules/shequzhili/tuceng/gonggongfuwu/addForm.vue
  11. 54
      src/views/modules/shequzhili/tuceng/gonggongfuwu/index.vue
  12. 22
      src/views/modules/shequzhili/tuceng/yingji/changsuo/addForm.vue
  13. 8
      src/views/modules/shequzhili/tuceng/yingji/changsuo/index.vue
  14. 6
      src/views/modules/shequzhili/tuceng/yingji/wuzi/index.vue
  15. 141
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue
  16. 55
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/index.vue
  17. 602
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/scoreRecord.vue
  18. 2
      vue.config.js

2
.env.development

@ -1,6 +1,6 @@
NODE_ENV=development
VUE_APP_API_SERVER = http://192.168.1.144/api
VUE_APP_API_SERVER = http://dcommunity-dev.elinkservice.cn:30801/api
# VUE_APP_API_SERVER = http://118.190.150.119:41080/api
# VUE_APP_API_SERVER = https://epmet-yantai.elinkservice.cn/api
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api

4
src/views/modules/base/community/buildDetail.vue

@ -7,7 +7,7 @@
<div class="m-info-prop">
<span class="u-info-title u-info-title-100">所属小区</span>
<span>{{ agencyObj.agencyName }}{{ agencyObj.gridName }}{{ agencyObj.label }}</span>
<span>{{ dataForm.agencyName }}{{ agencyObj.gridName }}{{ agencyObj.label }}</span>
</div>
<div class="m-info-prop">
@ -247,7 +247,7 @@ export default {
{ required: true, message: '单元数不能为空', trigger: 'blur' }
],
coding: [
{ required: true, message: '楼栋编码不能为空', trigger: 'blur' }
{ required: true, message: '楼栋编码不能为空', trigger: 'change' }
]
// totalFloorNum: [
// { required: true, message: '', trigger: 'blur' }

188
src/views/modules/base/community/buildForm.vue

@ -2,46 +2,24 @@
<div>
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form"
:inline="true"
:model="dataForm"
:rules="dataRule"
label-width="150px"
class="g-edit-form">
<el-form-item label="所属小区"
style="display: block">
<el-form ref="ref_form" :inline="true" :model="dataForm" :rules="dataRule" label-width="150px" class="g-edit-form">
<el-form-item label="所属小区" style="display: block">
<span>{{ agencyObj.agencyName }}{{ agencyObj.gridName }}{{ agencyObj.label }}</span>
</el-form-item>
<el-form-item label="楼栋名称"
prop="buildingName"
style="display: block">
<el-input class="u-edit-width-normal"
maxlength="10"
placeholder="请输入楼栋名称"
v-model="dataForm.buildingName">
<el-form-item label="楼栋名称" prop="buildingName" style="display: block">
<el-input class="u-edit-width-normal" maxlength="10" placeholder="请输入楼栋名称" v-model="dataForm.buildingName">
</el-input>
</el-form-item>
<el-form-item label="楼栋编码"
prop="coding"
style="display: block">
<el-input class="u-edit-width-normal"
maxlength="50"
placeholder="请输入楼栋编码"
v-model="dataForm.coding">
<el-form-item label="楼栋编码" prop="coding" style="display: block">
<el-input class="u-edit-width-normal" maxlength="50" placeholder="请输入楼栋编码" v-model="dataForm.coding">
</el-input>
<el-button style="margin-left: 10px"
type="text"
class="div-table-button--blue"
icon="el-icon-upload2"
size="small"
@click="handleCode">生成</el-button>
<el-button style="margin-left: 10px" type="text" class="div-table-button--blue" icon="el-icon-upload2"
size="small" @click="handleCode">生成</el-button>
</el-form-item>
<el-form-item label="楼栋类型"
prop="type"
style="display: block">
<el-form-item label="楼栋类型" prop="type" style="display: block">
<el-radio-group v-model="buildType">
<el-radio :label="'1'">商品房</el-radio>
@ -57,103 +35,55 @@
v-model="dataForm.sort"
label="排序"></el-input-number>
</el-form-item> -->
<el-form-item label="单元数"
style="display: block"
prop="totalUnitNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalUnitNum"
:min="1"
:max="9999"
label="单元数"></el-input-number>
<el-form-item label="单元数" style="display: block" prop="totalUnitNum">
<el-input-number class="item_width_4" v-model="dataForm.totalUnitNum" :min="1" :max="9999"
label="单元数"></el-input-number>
</el-form-item>
<el-form-item label="层数"
style="display: block"
prop="totalFloorNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalFloorNum"
:min="0"
:max="9999"
label="层数"></el-input-number>
<el-form-item label="层数" style="display: block" prop="totalFloorNum">
<el-input-number class="item_width_4" v-model="dataForm.totalFloorNum" :min="0" :max="9999"
label="层数"></el-input-number>
</el-form-item>
<el-form-item label="总户数"
style="display: block"
prop="totalHouseNum">
<el-input-number class="item_width_4"
v-model="dataForm.totalHouseNum"
:min="0"
:max="9999"
label="总户数"></el-input-number>
<el-form-item label="总户数" style="display: block" prop="totalHouseNum">
<el-input-number class="item_width_4" v-model="dataForm.totalHouseNum" :min="0" :max="9999"
label="总户数"></el-input-number>
</el-form-item>
<el-form-item label="人口数"
style="display: block"
prop="realPerson">
<el-input-number class="item_width_4"
v-model="dataForm.realPerson"
:min="0"
:max="9999"
label="人口数"></el-input-number>
<el-form-item label="人口数" style="display: block" prop="realPerson">
<el-input-number class="item_width_4" v-model="dataForm.realPerson" :min="0" :max="9999"
label="人口数"></el-input-number>
</el-form-item>
<el-form-item label="楼长姓名"
prop="buildingLeaderName"
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入楼长姓名"
v-model="dataForm.buildingLeaderName">
<el-form-item label="楼长姓名" prop="buildingLeaderName" style="display: block">
<el-input class="u-edit-width-normal" placeholder="请输入楼长姓名" v-model="dataForm.buildingLeaderName">
</el-input>
</el-form-item>
<el-form-item label="楼长电话"
prop="buildingLeaderMobile"
style="display: block">
<el-input class="u-edit-width-normal"
type='number'
placeholder="请输入楼长电话"
v-model="dataForm.buildingLeaderMobile">
<el-form-item label="楼长电话" prop="buildingLeaderMobile" style="display: block">
<el-input class="u-edit-width-normal" type='number' placeholder="请输入楼长电话"
v-model="dataForm.buildingLeaderMobile">
</el-input>
</el-form-item>
<el-form-item label="地图位置"
prop="longitude"
style="display: block">
<el-form-item label="地图位置" prop="longitude" style="display: block">
<div class="u-edit-width-normal m-edit-map">
<el-select v-model="searchValue"
filterable
class="u-edit-width-normal m-edit-map-search"
remote
:reserve-keyword="true"
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option v-for="(item,index) in searchOptions"
@click.native="handleClickKey(index)"
:key="item.value"
:label="item.label"
:value="item.value">
<el-select v-model="searchValue" filterable class="u-edit-width-normal m-edit-map-search" remote
:reserve-keyword="true" placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading">
<el-option v-for="(item, index) in searchOptions" @click.native="handleClickKey(index)" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
<div id="app_build"
class="m-map-item"></div>
<div id="app_build" class="m-map-item"></div>
</div>
</el-form-item>
<el-form-item label="楼栋地址"
prop="coordinatePosition"
style="display: block">
<el-form-item label="楼栋地址" prop="coordinatePosition" style="display: block">
<!-- <span>{{ dataForm.coordinatePosition }}</span> -->
<el-input class="u-edit-width-normal"
placeholder="请选择楼栋地址"
v-model="dataForm.coordinatePosition" />
<el-input class="u-edit-width-normal" placeholder="请选择楼栋地址" v-model="dataForm.coordinatePosition" />
</el-form-item>
</el-form>
</div>
<div class="m-edit-btn">
<el-button size="small"
@click="handleCancle"> </el-button>
<el-button size="small"
type="primary"
class="diy-button--blue"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" type="primary" class="diy-button--blue" :disabled="btnDisable" @click="handleComfirm">
</el-button>
</div>
</div>
</template>
@ -169,7 +99,7 @@ var markers
var infoWindowList
let loading //
export default {
data () {
data() {
return {
formType: 'add', // addeditdetail
searchOptions: [],
@ -208,12 +138,12 @@ export default {
}
},
components: {},
mounted () {
mounted() {
},
methods: {
async initForm (type, row, agencyObj) {
async initForm(type, row, agencyObj) {
this.$refs.ref_form.resetFields();
let { latitude, longitude } = this.$store.state.user;
this.agencyObj = agencyObj
@ -233,16 +163,11 @@ export default {
this.dataForm.longitude = longitude
}
this.$nextTick(() => {
if (!map) {
this.initMap(this.dataForm.latitude, this.dataForm.longitude);
} else {
map.setCenter(this.dataForm.latitude, this.dataForm.longitude);
map.setMarker(this.dataForm.latitude, this.dataForm.longitude);
}
this.initMap(this.dataForm.latitude, this.dataForm.longitude);
})
},
async handleComfirm () {
async handleComfirm() {
this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
@ -258,19 +183,16 @@ export default {
})
},
async handleCode () {
async handleCode() {
const { data, code, msg } = await requestPost(
"/actual/base/communityBuilding/getBuildingCoding/" + this.dataForm.neighborHoodId);
console.log('data----', data)
console.log('code----', code)
console.log('msg----', msg)
if (msg == "success" && code == 0) {
this.dataForm.coding = data.coding
this.dataForm.sysCoding = data.sysCoding
}
},
async addBuild () {
async addBuild() {
if (this.dataForm.buildingLeaderMobile) {
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; //
if (this.dataForm.buildingLeaderMobile && regPhone.test(this.dataForm.buildingLeaderMobile) === false) {
@ -288,7 +210,6 @@ export default {
url = '/actual/base/communityBuilding/saveCommunityBuilding'
} else {
url = '/actual/base/communityBuilding/updateCommunityBuilding'
this.dataForm.buildingId = this.buildingId
}
@ -310,14 +231,13 @@ export default {
},
handleCancle () {
handleCancle() {
this.resetData()
this.$emit('dialogCancle')
},
// init
initMap (latitude, longitude) {
initMap(latitude, longitude) {
map = new daiMap(
document.getElementById("app_build"),
{ latitude, longitude },
@ -339,7 +259,7 @@ export default {
},
async handleMoveCenter () {
async handleMoveCenter() {
//
const { lat, lng } = map.getCenter();
this.dataForm.latitude = lat;
@ -355,7 +275,7 @@ export default {
}
},
async remoteMethod (query) {
async remoteMethod(query) {
if (query !== '') {
this.loading = true;
@ -386,7 +306,7 @@ export default {
}
},
handleClickKey (index) {
handleClickKey(index) {
let selPosition = this.resultList[index]
let lonlat = selPosition.lonlat.split(" ")
map.setCenter(lonlat[1], lonlat[0]);
@ -397,7 +317,7 @@ export default {
},
resetData () {
resetData() {
this.searchValue = ''
this.searchOptions = []
this.resultList = []
@ -426,7 +346,7 @@ export default {
}
},
//
startLoading () {
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
@ -434,7 +354,7 @@ export default {
})
},
//
endLoading () {
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
@ -442,7 +362,7 @@ export default {
}
},
computed: {
dataRule () {
dataRule() {
return {
buildingName: [
{ required: true, message: '楼栋名称不能为空', trigger: 'blur' },
@ -460,7 +380,7 @@ export default {
{ required: true, message: '单元数不能为空', trigger: 'blur' }
],
coding: [
{ required: true, message: '楼栋编码不能为空', trigger: 'blur' }
{ required: true, message: '楼栋编码不能为空', trigger: 'change' }
]
// totalFloorNum: [
// { required: true, message: '', trigger: 'blur' }

4
src/views/modules/base/community/buildTable.vue

@ -233,15 +233,15 @@
class="div-table-button--blue"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<!-- v-if="scope.row.showBtn"
v-if="scope.row.showBtn" -->
<el-button
v-if="scope.row.showBtn"
type="text"
class="div-table-button--blue"
size="small"
@click="handleEdit(scope.row)">编辑</el-button>
<el-button
v-if="scope.row.showBtn"
type="text"
class="div-table-button--blue"
size="small"

6
src/views/modules/base/community/communityTable.vue

@ -320,7 +320,7 @@
>查看</el-button
>
<el-button
v-if="scope.row.showBtn"
v-if="scope.row.showBtn"
type="text"
class="div-table-button--blue"
size="small"
@ -329,7 +329,7 @@
>
<el-button
v-if="scope.row.showBtn"
v-if="scope.row.showBtn"
type="text"
class="div-table-button--blue"
size="small"
@ -938,7 +938,7 @@ export default {
const url = "/actual/base/communityQuarters/deleteQuarters";
let params = {
quartersId: row.neighborHoodId,
neighborHoodId: row.neighborHoodId,
};
const { data, code, msg } = await requestPost(url, params);

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

@ -99,7 +99,7 @@
class="hint"
v-if="resiCategory.list.length > 0"
>
<i>*</i> 根据数据分析结果建议重点关注
根据数据分析结果建议重点关注
<b
>{{ resiCategory.list[0].name }}{{
resiCategory.list[1].name

57
src/views/modules/shequzhili/tuceng/anquan/yinhuan/index.vue

@ -1,10 +1,10 @@
<template>
<div class="g-main">
<div >
<div>
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
<el-form-item label="所属组织" prop="gridId">
<el-form-item label="所属网格" prop="gridId">
<el-select class="u-item-width-normal" v-model="formData.gridId" placeholder="全部" size="small" clearable>
<el-option v-for="item in gridList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
@ -19,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item label="隐患内容" prop="dangerContent">
<el-input v-model="formData.dangerContent" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-input v-model="formData.dangerContent" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="上报人" prop="reportPerson">
<el-input v-model="formData.reportPerson" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
@ -28,9 +28,7 @@
<el-input v-model="formData.location" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="上报时间" prop="reportTime">
<el-date-picker v-model="formData.reportTime" type="date" class="input-width" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="formData.reportTime" type="date" class="input-width" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-row>
<el-col :span="24" align="right">
@ -69,21 +67,36 @@
<el-table :data="tableData" border class="m-table-item" style="width: 100%" @selection-change="handleSelectionChange" :height="maxTableHeight">
<!-- <el-table-column label="" fixed="left" type="selection" align="center" width="50" /> -->
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="gridName" align="center" label="所属组织" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="gridName" align="center" label="所属网格" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="location" align="center" width="80" label="隐患位置"></el-table-column>
<el-table-column prop="dangerPlaceName" label="隐患场所" min-width="140" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="reportPerson" align="center" width="110" label="上报人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="mobile" align="center" :show-overflow-tooltip="true" label="联系电话"></el-table-column>
<el-table-column prop="reportTime" align="center" :show-overflow-tooltip="true" label="上报时间"></el-table-column>
<el-table-column prop="dangerContent" align="center" :show-overflow-tooltip="true" label="隐患内容"></el-table-column>
<el-table-column prop="handleStateName" align="center" label="处理结果" :show-overflow-tooltip="true"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button @click="handleAdd(scope.row, 'view')" type="text" size="small">查看</el-button>
<el-button v-if="scope.row.latitude&&agencyId==scope.row.agencyId" style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small" type="text">编辑</el-button>
<el-button v-if="!scope.row.latitude&&agencyId==scope.row.agencyId" style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small" type="text">待完善</el-button>
<el-button @click="handleDel(scope.row)" v-if="agencyId==scope.row.agencyId" type="text" size="small" class="">删除</el-button>
<el-button
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')"
size="small"
type="text"
>
编辑
</el-button>
<el-button
v-if="!scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')"
size="small"
type="text"
>
待完善
</el-button>
<el-button @click="handleDel(scope.row)" v-if="agencyId == scope.row.agencyId" type="text" size="small" class="">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -101,8 +114,10 @@
</div>
</div>
</div>
<div >
<addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
<div>
<addForm
v-if="dialogVisible"
:dialogVisible="dialogVisible"
:pageType="pageType"
:disabled="disabled"
:detailId="detailId"
@ -124,7 +139,8 @@ import axios from 'axios';
export default {
data() {
return {dialogVisible: false,
return {
dialogVisible: false,
importLoading: false,
disabled: false,
user: '',
@ -150,8 +166,7 @@ export default {
detailId: '',
detailData: {},
multipleSelection: [],
rowObj: {},
rowObj: {}
};
},
components: { addForm },
@ -232,7 +247,6 @@ export default {
handleAdd(row, type) {
if (row.id) {
this.detailId = row.id;
}
this.pageType = type;
if (type == 'view') {
@ -240,9 +254,10 @@ export default {
} else {
this.disabled = false;
}
this.dialogVisible=true;
this.dialogVisible = true;
},
handleClose() {this.dialogVisible = false;
handleClose() {
this.dialogVisible = false;
this.pageType = 'list';
this.detailId = '';
this.getTableData();
@ -271,7 +286,7 @@ export default {
},
async del(id) {
const url = '/actual/base/hiddenDangerRecord/delete';
let idArr=[id]
let idArr = [id];
const { data, code, msg } = await requestPost(url, idArr);
if (code === 0) {
this.$message.success('删除成功!');

4
src/views/modules/shequzhili/tuceng/chengshiguanli/addForm.vue

@ -32,7 +32,7 @@
<el-form-item label="场所地址" prop="address" style="display: block">
<el-select
v-model="formData.address"
style="width: 500px;"
:disabled="disabled"
filterable
remote
@ -293,7 +293,7 @@ export default {
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success('操作成功');
this.resetData();
this.handleCancle();
} else if (code >= 8000) {
this.$message.error(msg);

17
src/views/modules/shequzhili/tuceng/chengshiguanli/index.vue

@ -1,6 +1,6 @@
<template>
<div class="g-main">
<div >
<div>
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
@ -105,8 +105,10 @@
</div>
</div>
</div>
<div >
<addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
<div>
<addForm
v-if="dialogVisible"
:dialogVisible="dialogVisible"
:pageType="pageType"
:disabled="disabled"
:detailId="detailId"
@ -128,7 +130,8 @@ import axios from 'axios';
export default {
data() {
return {dialogVisible: false,
return {
dialogVisible: false,
disabled: false,
user: '',
agencyId: '',
@ -248,7 +251,6 @@ export default {
handleAdd(row, type) {
if (row.id) {
this.detailId = row.id;
}
this.pageType = type;
if (type == 'view') {
@ -256,9 +258,10 @@ export default {
} else {
this.disabled = false;
}
this.dialogVisible=true;
this.dialogVisible = true;
},
handleClose() {this.dialogVisible = false;
handleClose() {
this.dialogVisible = false;
this.pageType = 'list';
this.detailId = '';
this.getTableData();

11
src/views/modules/shequzhili/tuceng/gonggongfuwu/addForm.vue

@ -36,12 +36,11 @@
<el-input v-model="formData.contactNum" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="18">
<el-form-item label="所处位置" prop="location" style="display: block">
<!-- <el-input v-model="formData.location" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input> -->
<el-select
v-model="formData.location"
style="width: 500px;"
:disabled="disabled"
filterable
remote
@ -65,7 +64,7 @@
</el-form>
<el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
</el-col>
<el-col :span="6">
@ -199,7 +198,7 @@ export default {
this.agencyId = this.user.agencyId;
this.startLoading();
// this.loadGrid();
// this.loadplaceType();
this.loadplaceType();
if (this.pageType != 'add') {
this.getDetail();
} else {
@ -227,7 +226,7 @@ export default {
async loadplaceType() {
const url = '/sys/dict/data/dictlist';
let params = {
dict_type: 'common_service_equipment_category'
dictType: 'common_service_equipment_category'
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
@ -291,7 +290,7 @@ export default {
if (code === 0) {
this.$message.success('添加成功');
// this.resetData();
// this.$emit('handleComfirm');
this.$emit('handleComfirm');
} else if (code >= 8000) {
this.$message.error(msg);
}

54
src/views/modules/shequzhili/tuceng/gonggongfuwu/index.vue

@ -1,6 +1,6 @@
<template>
<div class="g-main">
<div >
<div>
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
@ -53,21 +53,36 @@
<el-table :data="tableData" border class="m-table-item" style="width: 100%" @selection-change="handleSelectionChange" :height="maxTableHeight">
<!-- <el-table-column label="" fixed="left" type="selection" align="center" width="50" /> -->
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<!-- <el-table-column label="序号" prop="agencyId" fixed="left" align="center" width="50" /> -->
<el-table-column label="所属社区" prop="agencyName" align="center" width="100" />
<el-table-column prop="equipmentName" align="center" label="设备名称" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="equipmentNum" align="center" label="设备编号" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="equipmentCategoryCode" align="center" width="80" label="设备类型"></el-table-column>
<el-table-column prop="location" label="所处位置" min-width="140" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="principalName" align="center" width="110" label="负责人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="equipmentCategoryName" align="center" width="80" label="设备类型"></el-table-column>
<el-table-column prop="location" label="所处位置" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="principalName" align="center"label="负责人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="contactNum" align="center" :show-overflow-tooltip="true" label="联系电话"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button @click="handleAdd(scope.row, 'view')" type="text" size="small">查看</el-button>
<el-button v-if="scope.row.latitude&&agencyId==scope.row.agencyId" style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small" type="text">编辑</el-button>
<el-button v-if="!scope.row.latitude&&agencyId==scope.row.agencyId" style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small" type="text">待完善</el-button>
<el-button @click="handleDel(scope.row)" v-if="agencyId==scope.row.agencyId" type="text" size="small" class="">删除</el-button>
<el-button
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')"
size="small"
type="text"
>
编辑
</el-button>
<el-button
v-if="!scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')"
size="small"
type="text"
>
待完善
</el-button>
<el-button @click="handleDel(scope.row)" v-if="agencyId == scope.row.agencyId" type="text" size="small" class="">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -85,8 +100,10 @@
</div>
</div>
</div>
<div >
<addForm v-if="dialogVisible" :dialogVisible="dialogVisible"
<div>
<addForm
v-if="dialogVisible"
:dialogVisible="dialogVisible"
:pageType="pageType"
:disabled="disabled"
:detailId="detailId"
@ -108,7 +125,8 @@ import axios from 'axios';
export default {
data() {
return {dialogVisible: false,
return {
dialogVisible: false,
importLoading: false,
disabled: false,
user: '',
@ -185,7 +203,7 @@ export default {
async loadplaceType() {
const url = '/sys/dict/data/dictlist';
let params = {
dict_type: 'common_service_equipment_category'
dictType: 'common_service_equipment_category'
};
const { data, code, msg } = await requestPost(url, params);
@ -236,7 +254,6 @@ export default {
console.log(row);
if (row.id) {
this.detailId = row.id;
}
this.pageType = type;
if (type == 'view') {
@ -244,9 +261,10 @@ export default {
} else {
this.disabled = false;
}
this.dialogVisible=true;
this.dialogVisible = true;
},
handleClose() {this.dialogVisible = false;
handleClose() {
this.dialogVisible = false;
this.pageType = 'list';
this.detailId = '';
this.getTableData();
@ -275,7 +293,7 @@ export default {
},
async del(id) {
const url = '/actual/base/commonServiceEquipment/delete';
let idArr=[id]
let idArr = [id];
const { data, code, msg } = await requestPost(url, idArr);
if (code === 0) {
this.$message.success('删除成功!');

22
src/views/modules/shequzhili/tuceng/yingji/changsuo/addForm.vue

@ -28,7 +28,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="场所规模" prop="capacity">
<el-input v-model="formData.capacity" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-input v-model="formData.capacity" type="number" :disabled="disabled" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -58,20 +58,20 @@
</el-form>
<el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-row>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
<el-col :span="6">
<el-form-item label="场所名称" prop="name">{{ formData.name }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item>
<el-form-item label="场所类型" prop="categoryName">{{ formData.categoryName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item>
<el-form-item label="占地面积" prop="areaCovered">{{ formData.areaCovered }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
<el-form-item label="场所规模" prop="capacity">{{ formData.capacity }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所地址" prop="location" style="display: block">{{ formData.location }}</el-form-item>
<el-form-item label="场所地址" prop="address" style="display: block">{{ formData.address }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
@ -189,7 +189,7 @@ export default {
this.agencyId = this.user.agencyId;
this.startLoading();
// this.loadGrid();
// this.loadplaceType();
this.loadplaceType();
if (this.pageType != 'add') {
this.getDetail();
} else {
@ -217,7 +217,9 @@ export default {
async loadplaceType() {
const url = '/sys/dict/data/dictlist';
let params = {
dict_type: 'emergency_site_type'
dictType: 'emergency_site_type'
// purpose: 'query'
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
@ -227,7 +229,7 @@ export default {
}
},
async getDetail() {
const url = `/actual/base/safetyEquipment/detail/${this.detailId}`;
const url = `/actual/base/emergencySites/detail/${this.detailId}`;
const { data, code, msg } = await requestPost(url);
if (code === 0) {
console.log('详情数据', data);

8
src/views/modules/shequzhili/tuceng/yingji/changsuo/index.vue

@ -177,7 +177,7 @@ export default {
async loadplaceType() {
const url = '/sys/dict/data/dictlist';
let params = {
dict_type: 'emergency_site_type'
dictType: 'emergency_site_type'
// purpose: 'query'
};
@ -226,8 +226,8 @@ export default {
});
},
handleAdd(row, type) {
if (row.equipmentId) {
this.detailId = row.equipmentId;
if (row.id) {
this.detailId = row.id;
}
this.pageType = type;
@ -261,7 +261,7 @@ export default {
type: 'warning'
})
.then(() => {
this.del(rowData.equipmentId);
this.del(rowData.id);
})
.catch(err => {});
},

6
src/views/modules/shequzhili/tuceng/yingji/wuzi/index.vue

@ -64,15 +64,15 @@
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="equipmentName" align="center" label="设备名称" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="equipmentNum" align="center" label="设备编号" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="equipmentCategoryCode" align="center" width="80" label="设备类型"></el-table-column>
<el-table-column prop="equipmentCategoryName" align="center" width="80" label="设备类型"></el-table-column>
<el-table-column prop="location" label="所处位置" min-width="140" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="principalName" align="center" width="110" label="负责人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="contactNum" align="center" :show-overflow-tooltip="true" label="联系电话"></el-table-column>
<el-table-column prop="latestInspectTime" align="center" width="100" label="最新检查时间" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="latestInspectResult" align="center" label="最新巡查结果" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.latestResult === '0'">异常</span>
<span v-else-if="scope.row.latestResult === '1'">正常</span>
<span v-if="scope.row.latestInspectResult === '0'">异常</span>
<span v-else-if="scope.row.latestInspectResult === '1'">正常</span>
<span v-else>--</span>
</template>
</el-table-column>

141
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue

@ -10,7 +10,7 @@
<el-form :inline="true" :model="formData" ref="form" :rules="dataRule" :label-width="'90px'" v-if="pageType != 'view'">
<el-row>
<el-col :span="6">
<el-form-item label="组织名称" prop="name">
<el-form-item label="组织名称" prop="organizationName">
<el-input v-model="formData.organizationName" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
@ -22,13 +22,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="组织人数" prop="areaCovered">
<el-form-item label="组织人数" prop="organizationPersonCount">
<el-input
v-model="formData.organizationPersonCount"
:disabled="disabled"
class="u-item-width-normal"
size="small"
clearable
type="number"
placeholder="请输入"
></el-input>
</el-form-item>
@ -36,31 +37,33 @@
<el-col :span="24">
<el-form-item label="组织成员" prop="organizationPersonnel">
<div class="m-staffs">
<div class="item" :key="'staff' + index" v-for="(item, index) in formData.organizationPersonnel">
<el-autocomplete
class="item_width_1"
v-model="item.personName"
:fetch-suggestions="querySearchVolunteer"
placeholder="成员姓名"
:maxlength="50"
show-word-limit
@select="vItem => handleSelectVolunteer(index, vItem)"
:disabled="item.icResiUserId != ''"
></el-autocomplete>
<el-input
style="margin-left: 10px"
class="item_width_1"
show-word-limit
placeholder="联系电话"
:disabled="item.icResiUserId != ''"
v-model="item.personPhone"
/>
<el-button style="margin-left: 10px" size="small" @click="handleDelStaff(index)">删除</el-button>
<div style="width:500px;" :key="'staff' + index" v-for="(item, index) in formData.organizationPersonnel">
<el-row :gutter="10" style="margin-bottom: 10px;">
<el-col :span="8">
<el-autocomplete
class="item_width_1"
v-model="item.personName"
:fetch-suggestions="querySearchVolunteer"
placeholder="成员姓名"
:maxlength="50"
show-word-limit
@select="vItem => handleSelectVolunteer(index, vItem)"
:disabled="item.icResiUserId != ''"
></el-autocomplete>
</el-col>
<el-col :span="8">
<el-input
class="item_width_1"
show-word-limit
placeholder="联系电话"
:disabled="item.icResiUserId != ''"
v-model="item.personPhone"
/>
</el-col>
<el-col :span="8"><el-button type="danger" size="small" @click="handleDelStaff(index)">删除</el-button></el-col>
</el-row>
</div>
<div class="item-add"><el-button size="small" @click="handleAddStaff">添加</el-button></div>
<el-button size="small" @click="handleAddStaff" type="primary">添加</el-button>
</div>
</el-form-item>
</el-col>
@ -81,19 +84,11 @@
</el-col>
<el-col :span="6">
<el-form-item label="创建时间" prop="organizationCreatedTime">
<el-date-picker
v-model="formData.organizationCreatedTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
<el-date-picker v-model="formData.organizationCreatedTime" type="date" style="width: 150px;" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所地址" prop="address" style="display: block">
<el-col :span="24">
<el-form-item label="详细地址" prop="address">
<el-select
v-model="formData.address"
filterable
@ -122,7 +117,7 @@
show-word-limit
:rows="3"
v-model="formData.remark"
class="u-item-width-normal"
class="textarea"
size="small"
clearable
placeholder="请输入"
@ -134,19 +129,40 @@
<el-form :inline="false" :model="formData" ref="form" :label-width="'90px'" v-if="pageType == 'view'">
<el-row>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentName">{{ formData.equipmentName }}</el-form-item>
<el-form-item label="组织名称" prop="organizationName">{{ formData.organizationName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备类型" prop="equipmentCategoryCode">{{ formData.equipmentCategoryName }}</el-form-item>
<el-form-item label="分类名称" prop="categoryName">{{ formData.categoryName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="负责人" prop="principalName">{{ formData.principalName }}</el-form-item>
<el-form-item label="组织人数" prop="organizationPersonCount">{{ formData.organizationPersonCount }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="contactNum">{{ formData.contactNum }}</el-form-item>
<el-form-item label="组织成员" prop="organizationPersonnel">
<div class="m-staffs">
<div style="width:500px;" :key="'staff' + index" v-for="(item, index) in formData.organizationPersonnel">
<el-row :gutter="10" style="margin-bottom: 10px;">
<el-col :span="8">{{ item.personName }}</el-col>
<el-col :span="8">{{ item.personPhone }}</el-col>
</el-row>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="场所地址" prop="location" style="display: block">{{ formData.location }}</el-form-item>
<el-form-item label="服务事项" prop="serviceItem" style="display: block">{{ formData.serviceItem }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="负责人" prop="principalName" style="display: block">{{ formData.principalName }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="principalPhone" style="display: block">{{ formData.principalPhone }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="创建时间" prop="organizationCreatedTime" style="display: block">{{ formData.organizationCreatedTime }}</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="详细地址" prop="address" style="display: block">{{ formData.address }}</el-form-item>
</el-col>
</el-row>
<div id="app_event" class="div_map"></div>
@ -289,24 +305,24 @@ export default {
},
methods: {
querySearchVolunteer (queryString, cb) {
const { volunteerList } = this;
var results = queryString
? volunteerList.filter((item) => {
return item.value.indexOf(queryString) !== -1;
})
: volunteerList;
// callback
cb(results);
querySearchVolunteer(queryString, cb) {
const { volunteerList } = this;
var results = queryString
? volunteerList.filter(item => {
return item.value.indexOf(queryString) !== -1;
})
: volunteerList;
// callback
cb(results);
},
handleSelectVolunteer (index, vItem) {
this.formData.organizationPersonnel[index] = {
personName: vItem.name,
personPhone: vItem.mobile,
icResiUserId: vItem.icResiUserId,
};
handleSelectVolunteer(index, vItem) {
this.formData.organizationPersonnel[index] = {
personName: vItem.name,
personPhone: vItem.mobile,
icResiUserId: vItem.icResiUserId
};
},
async getVolunteerList() {
const url = '/epmetuser/icresiuser/volunteer-list';
const params = {};
@ -426,8 +442,8 @@ export default {
url = '/actual/base/iccommunityselforganization/editcommunityselforganization';
// this.dataForm.orgId = this.orgId;
}
params = { ...this.formData };
console.log('this.', this.formData);
let params = { ...this.formData };
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success('添加成功');
@ -549,4 +565,7 @@ export default {
@import '@/assets/scss/modules/management/form-main.scss';
@import '@/assets/scss/modules/management/form.scss';
@import '@/assets/scss/modules/visual/a_customize.scss';
.textarea {
width: 500px;
}
</style>

55
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/index.vue

@ -68,26 +68,20 @@
<el-table-column prop="address" align="center" :show-overflow-tooltip="true" label="地址"></el-table-column>
<el-table-column prop="remark" align="center" :show-overflow-tooltip="true" label="备注"></el-table-column>
<el-table-column prop="organizationCreatedTime" align="center" :show-overflow-tooltip="true" label="创建时间"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200">
<el-table-column fixed="right" label="操作" align="center" width="300">
<template slot-scope="scope">
<el-button @click="handleAdd(scope.row, 'view')" type="text" size="small">查看</el-button>
<el-button type="text" class="div-table-button--detail" size="small" @click="handleScore(scope.row)">积分记录</el-button>
<el-button @click="handleSync(scope.row)" v-if="scope.row.syncType === 'not_sync'" type="text" size="small" class="div-table-button--edit">
同步
</el-button>
<el-button @click="handleNoSync(scope.row)" v-if="scope.row.syncType === 'sync'" type="text" size="small" class="div-table-button--edit">
取消同步
</el-button>
<el-button @click="handleAdd(scope.row, 'view')" size="small" type="text">查看</el-button>
<el-button size="small" @click="handleScore(scope.row)" type="text">积分记录</el-button>
<el-button @click="handleSync(scope.row)" v-if="scope.row.syncType === 'not_sync'" size="small" type="text">同步</el-button>
<el-button @click="handleNoSync(scope.row)" v-if="scope.row.syncType === 'sync'" size="small" type="text">取消同步</el-button>
<el-button
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')"
size="small"
type="text"
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
>
编辑
修改
</el-button>
<el-button
v-if="!scope.row.latitude && agencyId == scope.row.agencyId"
@ -130,16 +124,8 @@
/>
</div>
<!-- 积分记录 -->
<el-dialog :visible.sync="scoreDiaShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="scoreDiaTitle"
width="70%"
top="5vh"
@closed="diaClose">
<score-record ref="ref_score"
:serviceType="'community_org'"></score-record>
</el-dialog>
<score-record :detailId="orgId" v-if="scoreDiaShow" @diaClose="diaClose" :scoreDiaShow="scoreDiaShow" :serviceType="'community_org'"></score-record>
</div>
</template>
@ -149,11 +135,11 @@ import nextTick from 'dai-js/tools/nextTick';
import { mapGetters } from 'vuex';
import addForm from './addForm.vue';
import axios from 'axios';
import scoreRecord from "./scoreRecord.vue";
import scoreRecord from './scoreRecord.vue';
export default {
data() {
return {
scoreDiaShow:false,
scoreDiaShow: false,
dialogVisible: false,
importLoading: false,
disabled: false,
@ -176,10 +162,11 @@ export default {
detailId: '',
detailData: {},
multipleSelection: [],
rowObj: {}
rowObj: {},
orgId: ''
};
},
components: { addForm,scoreRecord },
components: { addForm, scoreRecord },
created() {},
computed: {
maxTableHeight() {
@ -197,15 +184,13 @@ export default {
},
methods: {
//
handleScore (row) {
this.scoreDiaShow = true;
this.$nextTick(() => {
this.$refs.ref_score.initForm(row.orgId);
});
handleScore(row) {
this.orgId = row.orgId;
this.scoreDiaShow = true;
},
diaClose () {
this.scoreDiaShow = false;
diaClose() {
this.scoreDiaShow = false;
},
handleSelectionChange(val) {
this.multipleSelection = [];

602
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/scoreRecord.vue

@ -1,351 +1,303 @@
<template>
<div class="g-main">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item label="查询时间"
prop="startTime">
<el-date-picker v-model="timeRange"
type="daterange"
:clearable="false"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd"
@change="handleTimeChange">
</el-date-picker>
</el-form-item>
<div>
<el-form-item label="总计:"
prop="startTime">
<span>{{totalPoint}}</span>
</el-form-item>
</div>
</el-form>
<el-table class="table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"></el-table-column>
<el-table-column prop="categoryName"
header-align="center"
align="center"
label="需求类型"
width="180">
</el-table-column>
<el-table-column prop="demandUserName"
header-align="center"
align="center"
label="需求人"
width="120">
</el-table-column>
<el-table-column prop="content"
header-align="center"
align="center"
label="需求内容"
:show-overflow-tooltip="true"
min-width="230">
</el-table-column>
<el-table-column prop="pointTime"
header-align="center"
align="center"
label="时间"
width="150">
</el-table-column>
<el-table-column prop="score"
header-align="center"
align="center"
label="评价"
width="120">
</el-table-column>
<el-table-column prop="point"
header-align="center"
align="center"
label="积分"
width="100">
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="积分记录" :visible.sync="scoreDiaShow" width="1370px" :before-close="handleCancle">
<div>
<div class="dialog-h-content scroll-h">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<el-form-item label="查询时间" prop="startTime">
<el-date-picker
v-model="timeRange"
type="daterange"
:clearable="false"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd"
@change="handleTimeChange"
></el-date-picker>
</el-form-item>
<div>
<el-form-item label="总计:" prop="startTime">
<span>{{ totalPoint }}</span>
</el-form-item>
</div>
</el-form>
<el-table class="m-table-item" :data="tableData" v-loading="tableLoading" style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="categoryName" header-align="center" align="center" label="需求类型" width="180"></el-table-column>
<el-table-column prop="demandUserName" header-align="center" align="center" label="需求人" width="120"></el-table-column>
<el-table-column prop="content" header-align="center" align="center" label="需求内容" :show-overflow-tooltip="true" min-width="230"></el-table-column>
<el-table-column prop="pointTime" header-align="center" align="center" label="时间" width="150"></el-table-column>
<el-table-column prop="score" header-align="center" align="center" label="评价" width="120"></el-table-column>
<el-table-column prop="point" header-align="center" align="center" label="积分" width="100"></el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
></el-pagination>
</div>
</div>
<!-- <div class="div_btn" v-if="pageType != 'view'">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button>
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> </el-button>
</div> -->
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCancle"> </el-button>
<!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</span>
</el-dialog>
</template>
<script>
import util from '@js/util.js';
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request';
import { mapGetters } from 'vuex';
import { Loading } from 'element-ui'; // Loading
let loading //
let loading; //
export default {
data () {
return {
loading: false,
totalPoint: 100,
total: 0,
pageSize: 10,
pageNo: 0,
tableLoading: false,
serviceId: '',
pickerOptions: { //
disabledDate (time) {
return time.getTime() > (Date.now())
}
},
timeRange: [],
unitId: '',
formData: {
startTime: '',
endTime: ''
},
tableData: [],
}
},
components: {
},
async created () {
},
async mounted () {
},
methods: {
async initForm (serviceId) {
this.initDate()
this.serviceId = serviceId
//
await this.loadTable()
},
handleSearch () {
this.loadTable()
},
async loadTable () {
this.tableLoading = true
const url = "/governance/userdemand/recordList"
// const url = "http://yapi.elinkservice.cn/mock/245/governance/userdemand/recordList"
let params = {
serviceType: this.serviceType,
serviceId: this.serviceId,
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.totalPoint = data.totalPoint
this.total = data.page.total
this.tableData = data.page.list
} else {
this.$message.error(msg)
}
this.tableLoading = false
},
//
initDate () {
let today = new Date((new Date).getTime())
let year = today.getFullYear()
let month = today.getMonth() + 1 //
let day = today.getDate() //
let days = new Date(year, month, 0);
days = days.getDate(); //
let year2 = year;
let month2 = parseInt(month) - 1;
if (month2 == 0) {
year2 = parseInt(year2) - 1;
month2 = 12;
}
let day2 = day;
let days2 = new Date(year2, month2, 0);
days2 = days2.getDate();
if (day2 > days2) {
day2 = days2;
}
if (month2 < 10) {
month2 = '0' + month2;
}
if (month < 10) {
month = '0' + month;
}
if (day < 10) {
day = '0' + day;
}
if (day2 < 10) {
day2 = '0' + day2;
}
let t2 = year2 + '-' + month2 + '-' + day2;
let t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style);
this.formData.startTime = t2 + ' 00:00:00'
this.formData.endTime = t1 + ' 23:59:59'
this.timeRange = [t2, t1]
},
handleTimeChange (time) {
if (time) {
const startTimeArray = util.dateFormatter(time[0], 'date').split('-')
const endTimeArray = util.dateFormatter(time[1], 'date').split('-')
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00'
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59'
// this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + ''
// this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + ''
} else {
this.formData.startTime = ''
this.formData.endTime = ''
// this.startTimeShow = ''
// this.endTimeShow = ''
}
this.loadTable()
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.loadTable()
},
handleCurrentChange (val) {
this.pageNo = val
this.loadTable()
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
tableHeight () {
return (this.clientHeight - 460)
},
rowHeight () {
return (this.clientHeight - 200) + 'px'
},
...mapGetters(['clientHeight'])
},
watch: {
},
props: {
serviceType: {
type: String,
default: ''
}
}
}
data() {
return {
loading: false,
totalPoint: 100,
total: 0,
pageSize: 10,
pageNo: 0,
tableLoading: false,
serviceId: '',
pickerOptions: {
//
disabledDate(time) {
return time.getTime() > Date.now();
}
},
timeRange: [],
unitId: '',
formData: {
startTime: '',
endTime: ''
},
btnDisable: false,
tableData: []
};
},
components: {},
props: {
scoreDiaShow: {
type: Boolean,
default: ''
},
detailId: {
type: String,
default: ''
},
serviceType: {
type: String,
default: ''
}
},
async created() {},
async mounted() {
this.initForm();
},
methods: {
handleCancle() {
this.$emit('diaClose');
},
async initForm() {
this.initDate();
//
await this.loadTable();
},
handleSearch() {
this.loadTable();
},
async loadTable() {
this.tableLoading = true;
const url = '/governance/userdemand/recordList';
// const url = "http://yapi.elinkservice.cn/mock/245/governance/userdemand/recordList"
let params = {
serviceType: this.serviceType,
serviceId: this.detailId,
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.totalPoint = data.totalPoint;
this.total = data.page.total;
this.tableData = data.page.list;
} else {
this.$message.error(msg);
}
this.tableLoading = false;
},
//
initDate() {
let today = new Date(new Date().getTime());
let year = today.getFullYear();
let month = today.getMonth() + 1; //
let day = today.getDate(); //
let days = new Date(year, month, 0);
days = days.getDate(); //
let year2 = year;
let month2 = parseInt(month) - 1;
if (month2 == 0) {
year2 = parseInt(year2) - 1;
month2 = 12;
}
let day2 = day;
let days2 = new Date(year2, month2, 0);
days2 = days2.getDate();
if (day2 > days2) {
day2 = days2;
}
if (month2 < 10) {
month2 = '0' + month2;
}
if (month < 10) {
month = '0' + month;
}
if (day < 10) {
day = '0' + day;
}
if (day2 < 10) {
day2 = '0' + day2;
}
let t2 = year2 + '-' + month2 + '-' + day2;
let t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style);
this.formData.startTime = t2 + ' 00:00:00';
this.formData.endTime = t1 + ' 23:59:59';
this.timeRange = [t2, t1];
},
handleTimeChange(time) {
if (time) {
const startTimeArray = util.dateFormatter(time[0], 'date').split('-');
const endTimeArray = util.dateFormatter(time[1], 'date').split('-');
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00';
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59';
// this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + ''
// this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + ''
} else {
this.formData.startTime = '';
this.formData.endTime = '';
// this.startTimeShow = ''
// this.endTimeShow = ''
}
this.loadTable();
},
handleSizeChange(val) {
this.pageSize = val;
this.pageNo = 1;
this.loadTable();
},
handleCurrentChange(val) {
this.pageNo = val;
this.loadTable();
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
});
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close();
}
}
},
computed: {
tableHeight() {
return this.clientHeight - 460;
},
rowHeight() {
return this.clientHeight - 200 + 'px';
},
...mapGetters(['clientHeight'])
},
watch: {}
};
</script>
<style lang="scss" scoped >
@import "@/assets/scss/buttonstyle.scss";
<style lang="scss" scoped>
@import '@/assets/scss/buttonstyle.scss';
.g-main {
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
}
.m-search {
background: #ffffff;
border-radius: 4px;
padding: 30px 20px 5px;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
background: #ffffff;
border-radius: 4px;
padding: 30px 20px 5px;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
}
.item_width_1 {
width: 260px;
width: 260px;
}
.item_width_2 {
width: 495px;
width: 495px;
}
.m-table {
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
.table {
margin-top: 20px;
}
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
.table {
margin-top: 20px;
}
}
.el-row {
/* margin-bottom: 20px; */
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-right: 50px;
/* margin-bottom: 20px; */
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-right: 50px;
}
</style>

2
vue.config.js

@ -33,7 +33,7 @@ module.exports = {
target: "http://bipaas.elinkservice.cn", // 我们要代理的真实接口地址
},
},
open: true,
open: false,
port: 9001,
overlay: {
errors: true,

Loading…
Cancel
Save