Browse Source

Merge branch 'master' into shibei_master

shibei_master
dai 3 years ago
parent
commit
329d35eeab
  1. 244
      src/views/modules/communityService/dqfwzx/index.vue

244
src/views/modules/communityService/dqfwzx/index.vue

@ -2,25 +2,26 @@
<div> <div>
<el-card class="resi-card-table"> <el-card class="resi-card-table">
<div class="resi-row-btn"> <div class="resi-row-btn">
<el-button class="diy-button--add" <el-button class="diy-button--add" size="small" @click="handleAdd"
size="small" >新增</el-button
@click="handleAdd">新增</el-button> >
</div> </div>
<div class="m-center" <div class="m-center" v-if="tableData.length > 0">
v-if="tableData.length > 0">
<div class="center-left"> <div class="center-left">
<div class="list"> <div class="list">
<div @click="currentIndex = index" <div
class="item" @click="currentIndex = index"
:class="{ 'z-on': currentIndex == index }" class="item"
:key="'ct' + index" :class="{ 'z-on': currentIndex == index }"
v-for="(item, index) in tableData"> :key="'ct' + index"
<div class="item-btn" v-for="(item, index) in tableData"
v-if="currentIndex == index" >
@click="handleEdit"> <div class="item-btns">
修改 <a v-if="currentIndex == index" @click="handleEdit">修改</a>
<a v-if="currentIndex == index" @click="handleDel">删除</a>
</div> </div>
<div class="item-name">{{ item.centerName }}</div> <div class="item-name">{{ item.centerName }}</div>
<div class="item-prop"> <div class="item-prop">
<div class="prop-field">社区地址</div> <div class="prop-field">社区地址</div>
@ -48,95 +49,114 @@
> >
</div> --> </div> -->
<div id="centerIndexApp" <div id="centerIndexApp" class="div_map"></div>
class="div_map"></div>
<el-table
<el-table :data="tableData[currentIndex].matterList" :data="tableData[currentIndex].matterList"
border border
style="width: 100%" style="width: 100%"
class="resi-table" class="resi-table"
:max-height="maxTableHeight"> :max-height="maxTableHeight"
<el-table-column label="序号" >
type="index" <el-table-column
align="center" label="序号"
width="50" /> type="index"
<el-table-column prop="matterName" align="center"
label="事项名称"> width="50"
/>
<el-table-column prop="matterName" label="事项名称">
</el-table-column> </el-table-column>
<el-table-column prop="allowTime" <el-table-column prop="allowTime" label="可预约时间 ">
label="可预约时间 ">
</el-table-column> </el-table-column>
<el-table-column fixed="right" <el-table-column
label="操作" fixed="right"
align="center" label="操作"
width="120"> align="center"
width="120"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleOrder(scope.$index)" <el-button
type="text" @click="handleOrder(scope.$index)"
size="small" type="text"
style="color: #1c6afd">预约</el-button> size="small"
style="color: #1c6afd"
<el-button @click="handleOrderList(scope.$index)" >预约</el-button
type="text" >
size="small"
style="margin-right: 10px; color: #1c6afd">预约记录</el-button> <el-button
@click="handleOrderList(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #1c6afd"
>预约记录</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="m-hint" <div class="m-hint" v-else>
v-else> <el-empty description="暂无内容" :image-size="200"></el-empty>
<el-empty description="暂无内容"
:image-size="200"></el-empty>
</div> </div>
</el-card> </el-card>
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
<el-dialog :visible.sync="formShow" <el-dialog
:close-on-click-modal="false" :visible.sync="formShow"
:close-on-press-escape="false" :close-on-click-modal="false"
:title="formTitle" :close-on-press-escape="false"
width="850px" :title="formTitle"
top="5vh" width="850px"
class="dialog-h" top="5vh"
@closed="handleClose"> class="dialog-h"
<edit-form ref="eleEditForm" @closed="handleClose"
@dialogCancle="handleClose" >
@dialogOk="handleEditSuccess"></edit-form> <edit-form
ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"
></edit-form>
</el-dialog> </el-dialog>
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
<el-dialog :visible.sync="form2Show" <el-dialog
:close-on-click-modal="false" :visible.sync="form2Show"
:close-on-press-escape="false" :close-on-click-modal="false"
title="预约" :close-on-press-escape="false"
width="850px" title="预约"
top="5vh" width="850px"
class="dialog-h" top="5vh"
@closed="handleCloseForm2"> class="dialog-h"
<order-form ref="eleOrderForm" @closed="handleCloseForm2"
@dialogCancle="handleCloseForm2" >
@dialogOk="handleOrderSuccess"></order-form> <order-form
ref="eleOrderForm"
@dialogCancle="handleCloseForm2"
@dialogOk="handleOrderSuccess"
></order-form>
</el-dialog> </el-dialog>
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
<el-dialog :visible.sync="orderListShow" <el-dialog
:close-on-click-modal="false" :visible.sync="orderListShow"
:close-on-press-escape="false" :close-on-click-modal="false"
title="预约记录" :close-on-press-escape="false"
width="850px" title="预约记录"
top="5vh" width="850px"
class="dialog-h" top="5vh"
@closed="handleCloseOrderList"> class="dialog-h"
<order-list ref="eleOrderList" @closed="handleCloseOrderList"
@dialogCancle="handleCloseOrderList"></order-list> >
<order-list
ref="eleOrderList"
@dialogCancle="handleCloseOrderList"
></order-list>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request2";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import editForm from "./cpts/edit"; import editForm from "./cpts/edit";
@ -151,7 +171,7 @@ let loading; // 加载动画
export default { export default {
components: { editForm, orderForm, orderList }, components: { editForm, orderForm, orderList },
data () { data() {
return { return {
openSearch: false, openSearch: false,
@ -168,23 +188,23 @@ export default {
}; };
}, },
computed: { computed: {
maxTableHeight () { maxTableHeight() {
return this.clientHeight - 520; return this.clientHeight - 520;
}, },
...mapGetters(["clientHeight"]), ...mapGetters(["clientHeight"]),
}, },
watch: { watch: {
currentIndex () { currentIndex() {
this.setMap(); this.setMap();
}, },
}, },
async mounted () { async mounted() {
await this.loadAgency(); await this.loadAgency();
await this.getTableData(); await this.getTableData();
}, },
methods: { methods: {
// init // init
initMap () { initMap() {
// //
var center = new window.TMap.LatLng(36.0722275, 120.38945519); var center = new window.TMap.LatLng(36.0722275, 120.38945519);
// map TMap.Map() // map TMap.Map()
@ -204,7 +224,7 @@ export default {
infoWindowList = Array(10); infoWindowList = Array(10);
}, },
setMarker (lat, lng, centerName) { setMarker(lat, lng, centerName) {
markers.setGeometries([]); markers.setGeometries([]);
markers.add([ markers.add([
{ {
@ -218,11 +238,11 @@ export default {
]); ]);
}, },
setCenter (lat, lng) { setCenter(lat, lng) {
map.setCenter(new window.TMap.LatLng(lat, lng)); map.setCenter(new window.TMap.LatLng(lat, lng));
}, },
setMap () { setMap() {
const { tableData, currentIndex } = this; const { tableData, currentIndex } = this;
let item = tableData[currentIndex]; let item = tableData[currentIndex];
if (item) { if (item) {
@ -231,24 +251,24 @@ export default {
} }
}, },
handleClose () { handleClose() {
this.formShow = false; this.formShow = false;
}, },
handleCloseForm2 () { handleCloseForm2() {
this.form2Show = false; this.form2Show = false;
}, },
handleCloseOrderList () { handleCloseOrderList() {
this.orderListShow = false; this.orderListShow = false;
}, },
async handleAdd () { async handleAdd() {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
console.log(this.$refs); console.log(this.$refs);
this.$refs.eleEditForm.initForm("add"); this.$refs.eleEditForm.initForm("add");
}, },
async handleWatch () { async handleWatch() {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
this.$refs.eleEditForm.initForm( this.$refs.eleEditForm.initForm(
@ -257,7 +277,7 @@ export default {
); );
}, },
async handleEdit () { async handleEdit() {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
this.$refs.eleEditForm.initForm( this.$refs.eleEditForm.initForm(
@ -266,12 +286,12 @@ export default {
); );
}, },
handleEditSuccess () { handleEditSuccess() {
this.handleClose(); this.handleClose();
this.getTableData(); this.getTableData();
}, },
async handleOrder (index) { async handleOrder(index) {
this.form2Show = true; this.form2Show = true;
await nextTick(); await nextTick();
this.$refs.eleOrderForm.initForm( this.$refs.eleOrderForm.initForm(
@ -281,36 +301,34 @@ export default {
); );
}, },
handleOrderSuccess () { handleOrderSuccess() {
this.handleCloseForm2(); this.handleCloseForm2();
}, },
async handleOrderList (index) { async handleOrderList(index) {
this.orderListShow = true; this.orderListShow = true;
await nextTick(0); await nextTick(0);
console.log(this.$refs); console.log(this.$refs);
this.$refs.eleOrderList.init(this.tableData[this.currentIndex], index); this.$refs.eleOrderList.init(this.tableData[this.currentIndex], index);
}, },
async handleDel (rowData, rowIndex) { async handleDel() {
console.log(rowData, rowIndex); if (!confirm("删除后不可恢复,确定删除?")) return;
const url =
"/heart/iccommunityselforganization/delcommunityselforganization";
const { tableData } = this;
const { data, code, msg } = await requestPost(url, { const item = this.tableData[this.currentIndex];
orgId: tableData[rowIndex].orgId, const url = "/gov/org/icpartyservicecenter/del";
});
const { data, code, msg } = await requestPost(url, [
item.partyServiceCenterId,
]);
if (code === 0) { if (code === 0) {
this.$message.success("删除成功!"); this.$message.success("删除成功!");
this.getTableData(); this.getTableData();
} else {
this.$message.success("操作失败!");
} }
}, },
async getTableData () { async getTableData() {
const oldLen = this.tableData.length; const oldLen = this.tableData.length;
const url = "/gov/org/icpartyservicecenter/partyservicecenterlist"; const url = "/gov/org/icpartyservicecenter/partyservicecenterlist";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -331,7 +349,7 @@ export default {
}, },
// //
async loadAgency () { async loadAgency() {
const url = "/epmetuser/customerstaff/staffbasicinfo"; const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {}; let params = {};
@ -339,8 +357,6 @@ export default {
if (code === 0) { if (code === 0) {
this.agencyId = data.agencyId; this.agencyId = data.agencyId;
} else {
this.$message.error(msg);
} }
}, },
}, },
@ -394,7 +410,8 @@ export default {
background-color: #ffffff; background-color: #ffffff;
box-shadow: 0 0 10px #6aa; box-shadow: 0 0 10px #6aa;
} }
.item-btn {
.item-btns {
position: absolute; position: absolute;
top: 5px; top: 5px;
right: 5px; right: 5px;
@ -423,6 +440,7 @@ export default {
} }
} }
} }
.item-name { .item-name {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;

Loading…
Cancel
Save