Browse Source

自定义时间显示

dev-用户反馈
jiangyy 3 years ago
parent
commit
ba6f61ed53
  1. 261
      src/views/modules/communityService/dqfwzx/index.vue

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

@ -2,24 +2,26 @@
<div>
<el-card class="resi-card-table">
<div class="resi-row-btn">
<el-button class="diy-button--add" size="small" @click="handleAdd"
>新增</el-button
>
<el-button class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
</div>
<div class="m-center" v-if="tableData.length > 0">
<div class="m-center"
v-if="tableData.length > 0">
<div class="center-left">
<div class="list" :class="{ 'z-iframe': $store.state.inIframe }">
<div
@click="currentIndex = index"
class="item"
:class="{ 'z-on': currentIndex == index }"
:key="'ct' + index"
v-for="(item, index) in tableData"
>
<div class="list"
:class="{ 'z-iframe': $store.state.inIframe }">
<div @click="currentIndex = index"
class="item"
:class="{ 'z-on': currentIndex == index }"
:key="'ct' + index"
v-for="(item, index) in tableData">
<div class="item-btns">
<a v-if="currentIndex == index" @click="handleEdit">修改</a>
<a v-if="currentIndex == index" @click="handleDel">删除</a>
<a v-if="currentIndex == index"
@click="handleEdit">修改</a>
<a v-if="currentIndex == index"
@click="handleDel">删除</a>
</div>
<div class="item-name">{{ item.centerName }}</div>
@ -49,108 +51,93 @@
>
</div> -->
<div id="centerIndexApp" class="div_map"></div>
<el-table
:data="tableData[currentIndex].matterList"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight"
>
<el-table-column
label="序号"
type="index"
align="center"
width="50"
/>
<el-table-column prop="matterName" label="事项名称">
<div id="centerIndexApp"
class="div_map"></div>
<el-table :data="tableData[currentIndex].matterList"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight">
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column prop="matterName"
label="事项名称">
</el-table-column>
<el-table-column prop="allowTime" label="可预约时间 ">
<el-table-column prop="allowTime"
label="可预约时间 ">
<template slot-scope="scope">
<span v-if="scope.row.appointmentType==='custom'">{{scope.row.showName}}</span>
<span v-else>{{scope.row.allowTime}}</span>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="120"
>
<el-table-column fixed="right"
label="操作"
align="center"
width="120">
<template slot-scope="scope">
<el-button
@click="handleOrder(scope.$index)"
type="text"
size="small"
style="color: #1c6afd"
>预约</el-button
>
<el-button
@click="handleOrderList(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #1c6afd"
>预约记录</el-button
>
<el-button @click="handleOrder(scope.$index)"
type="text"
size="small"
style="color: #1c6afd">预约</el-button>
<el-button @click="handleOrderList(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #1c6afd">预约记录</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="m-hint" v-else>
<el-empty description="暂无内容" :image-size="200"></el-empty>
<div class="m-hint"
v-else>
<el-empty description="暂无内容"
:image-size="200"></el-empty>
</div>
</el-card>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleClose"
>
<edit-form
ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"
></edit-form>
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleClose">
<edit-form ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"></edit-form>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="form2Show"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="预约"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleCloseForm2"
>
<order-form
ref="eleOrderForm"
@dialogCancle="handleCloseForm2"
@dialogOk="handleOrderSuccess"
></order-form>
<el-dialog :visible.sync="form2Show"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="预约"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleCloseForm2">
<order-form ref="eleOrderForm"
@dialogCancle="handleCloseForm2"
@dialogOk="handleOrderSuccess"></order-form>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="orderListShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="预约记录"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleCloseOrderList"
>
<order-list
ref="eleOrderList"
@dialogCancle="handleCloseOrderList"
></order-list>
<el-dialog :visible.sync="orderListShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="预约记录"
width="850px"
top="5vh"
class="dialog-h"
@closed="handleCloseOrderList">
<order-list ref="eleOrderList"
@dialogCancle="handleCloseOrderList"></order-list>
</el-dialog>
</div>
</template>
@ -168,7 +155,7 @@ var map;
export default {
components: { editForm, orderForm, orderList },
data() {
data () {
return {
openSearch: false,
@ -185,7 +172,7 @@ export default {
};
},
computed: {
maxTableHeight() {
maxTableHeight () {
return this.$store.state.inIframe
? this.clientHeight - 520 + 120
: this.clientHeight - 520;
@ -193,17 +180,17 @@ export default {
...mapGetters(["clientHeight"]),
},
watch: {
currentIndex() {
currentIndex () {
this.setMap();
},
},
async mounted() {
async mounted () {
await this.loadAgency();
await this.getTableData();
},
methods: {
// init
initMap() {
initMap () {
let { latitude, longitude } = this.$store.state.user;
map = new daiMap(
@ -217,7 +204,7 @@ export default {
);
},
setMap() {
setMap () {
const { tableData, currentIndex } = this;
let item = tableData[currentIndex];
if (item) {
@ -226,24 +213,24 @@ export default {
}
},
handleClose() {
handleClose () {
this.formShow = false;
},
handleCloseForm2() {
handleCloseForm2 () {
this.form2Show = false;
},
handleCloseOrderList() {
handleCloseOrderList () {
this.orderListShow = false;
},
async handleAdd() {
async handleAdd () {
this.formShow = true;
await nextTick();
console.log(this.$refs);
this.$refs.eleEditForm.initForm("add");
},
async handleWatch() {
async handleWatch () {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm(
@ -252,7 +239,7 @@ export default {
);
},
async handleEdit() {
async handleEdit () {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm(
@ -261,12 +248,12 @@ export default {
);
},
handleEditSuccess() {
handleEditSuccess () {
this.handleClose();
this.getTableData();
},
async handleOrder(index) {
async handleOrder (index) {
this.form2Show = true;
await nextTick();
this.$refs.eleOrderForm.initForm(
@ -276,18 +263,18 @@ export default {
);
},
handleOrderSuccess() {
handleOrderSuccess () {
this.handleCloseForm2();
},
async handleOrderList(index) {
async handleOrderList (index) {
this.orderListShow = true;
await nextTick(0);
console.log(this.$refs);
this.$refs.eleOrderList.init(this.tableData[this.currentIndex], index);
},
async handleDel() {
async handleDel () {
if (!confirm("删除后不可恢复,确定删除?")) return;
const item = this.tableData[this.currentIndex];
@ -303,7 +290,7 @@ export default {
}
},
async getTableData() {
async getTableData () {
const oldLen = this.tableData.length;
const url = "/gov/org/icpartyservicecenter/partyservicecenterlist";
const { data, code, msg } = await requestPost(url, {
@ -312,6 +299,46 @@ export default {
});
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
data.forEach(tableItem => {
if (tableItem.matterList.length > 0) {
tableItem.matterList.forEach(element => {
if (element.appointmentType === 'custom') {
let showName = ''
let customList = element.customDay.split(',')
let customNameList = []
customList.forEach(customItem => {
if (customItem === '1') {
customNameList.push('周日')
}
if (customItem === '2') {
customNameList.push('周一')
}
if (customItem === '3') {
customNameList.push('周二')
}
if (customItem === '4') {
customNameList.push('周三')
}
if (customItem === '5') {
customNameList.push('周四')
}
if (customItem === '6') {
customNameList.push('周五')
}
if (customItem === '7') {
customNameList.push('周六')
}
});
showName = customNameList.join('、')
showName = showName + ' ' + element.startTime + '-' + element.endTime
element.showName = showName
}
});
}
});
this.tableData = data;
@ -324,7 +351,7 @@ export default {
},
//
async loadAgency() {
async loadAgency () {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};

Loading…
Cancel
Save