mirror of
https://gitee.com/elegant_wings/dbd-meeting-html.git
synced 2025-06-21 05:39:36 +08:00
修改了PC 页面
This commit is contained in:
parent
769a3c8032
commit
cd2e6792bc
2
.env
2
.env
@ -1,4 +1,4 @@
|
|||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
VUE_APP_PREVIEW=false
|
VUE_APP_PREVIEW=false
|
||||||
VUE_APP_API_BASE_URL=/api
|
VUE_APP_API_BASE_URL=/api
|
||||||
VUE_APP_MODEL_BASE_URL=http://127.0.0.1:8080
|
VUE_APP_MODEL_BASE_URL=https://www.chuangzhikj.com/saas-ics
|
@ -1,4 +1,4 @@
|
|||||||
NODE_ENV=development
|
NODE_ENV=development
|
||||||
VUE_APP_PREVIEW=true
|
VUE_APP_PREVIEW=true
|
||||||
VUE_APP_API_BASE_URL=/api
|
VUE_APP_API_BASE_URL=/api
|
||||||
VUE_APP_MODEL_BASE_URL=http://127.0.0.1:8080
|
VUE_APP_MODEL_BASE_URL=https://www.chuangzhikj.com/saas-ics
|
@ -1,4 +1,4 @@
|
|||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
VUE_APP_PREVIEW=true
|
VUE_APP_PREVIEW=true
|
||||||
VUE_APP_API_BASE_URL=/api
|
VUE_APP_API_BASE_URL=/saas-ics
|
||||||
VUE_APP_MODEL_BASE_URL=http://127.0.0.1:8080
|
VUE_APP_MODEL_BASE_URL=http://localhost/saas-ics
|
@ -3,10 +3,10 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
||||||
"report": "vue-cli-service build --report",
|
"report": "vue-cli-service build --report",
|
||||||
"build:preview": "vue-cli-service build --mode preview",
|
"build:preview": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode preview",
|
||||||
"lint": "vue-cli-service lint",
|
"lint": "vue-cli-service lint",
|
||||||
"lint:nofix": "vue-cli-service lint --no-fix"
|
"lint:nofix": "vue-cli-service lint --no-fix"
|
||||||
},
|
},
|
||||||
|
34
src/api/admin/meeting/reservationServe.js
Normal file
34
src/api/admin/meeting/reservationServe.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { axios } from '@/utils/request'
|
||||||
|
|
||||||
|
const api = {
|
||||||
|
reservationServe: '/meeting/reservationServe'
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getReservationServeList (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: api.reservationServe + '/list',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function saveReservationServe (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: api.reservationServe + (parameter.id > 0 ? '/update' : '/save'),
|
||||||
|
method: 'post',
|
||||||
|
data: parameter,
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json;charset=UTF-8'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function delReservationServe (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: api.reservationServe + '/remove',
|
||||||
|
method: 'post',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const reservationServeExport = api.reservationServe + '/export'
|
@ -319,15 +319,23 @@
|
|||||||
</a-table>
|
</a-table>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab='企业员工管理' key='3' v-if='$route.query.customerId'>
|
<a-tab-pane tab='企业员工管理' key='3' v-if='$route.query.customerId'>
|
||||||
<div style='margin: 10px'>
|
<div style='margin: 10px;display:flex; justify-content: flex-start; align-items: flex-start'>
|
||||||
<a-button type='primary' @click='$refs.contactModal.add({ customerId: $route.query.customerId })'>
|
<a-button type='primary' @click='$refs.contactModal.add({ customerId: $route.query.customerId })'>
|
||||||
新建企业员工
|
新建企业员工
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button style='margin-left: 30px' type='success' @click='importUser'>
|
<a-button style='margin-left: 30px' type='success' @click='importUser'>
|
||||||
导入用户
|
导入用户
|
||||||
</a-button>
|
</a-button>
|
||||||
|
<a-form layout='inline'>
|
||||||
|
<a-form-item style='margin-left: 200px;margin-bottom: 20px' label='关键词'>
|
||||||
|
<a-input placeholder='请输入关键词' v-model='queryParam.keyword' />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
<a-button style='margin-left: 30px;margin-top: 3px' type='success' @click='searchData' >
|
||||||
|
查询
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<a-table :pagination='false' :columns='contactsItemColumns'
|
<a-table :pagination='true' :columns='contactsItemColumns'
|
||||||
:dataSource='contactsItemData'
|
:dataSource='contactsItemData'
|
||||||
ref='userTable'
|
ref='userTable'
|
||||||
rowKey='id'>
|
rowKey='id'>
|
||||||
@ -483,7 +491,7 @@ export default {
|
|||||||
// 联系人列表表头
|
// 联系人列表表头
|
||||||
contactsItemColumns: [
|
contactsItemColumns: [
|
||||||
{
|
{
|
||||||
title: '昵称',
|
title: '姓名',
|
||||||
dataIndex: 'username'
|
dataIndex: 'username'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -553,6 +561,9 @@ export default {
|
|||||||
orderReturnsData: [],
|
orderReturnsData: [],
|
||||||
contactsItemData: [],
|
contactsItemData: [],
|
||||||
|
|
||||||
|
queryParam:{
|
||||||
|
keyword:''
|
||||||
|
},
|
||||||
selectedDeviceRowKeys: [],
|
selectedDeviceRowKeys: [],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload',
|
uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload',
|
||||||
@ -609,6 +620,16 @@ export default {
|
|||||||
this.getUserDetail()
|
this.getUserDetail()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//查询企业用户数据
|
||||||
|
searchData(){
|
||||||
|
let param = {
|
||||||
|
username:this.queryParam.keyword,
|
||||||
|
customerId: this.$route.query.customerId
|
||||||
|
}
|
||||||
|
selectCustomerStaffList(param).then(res => {
|
||||||
|
this.contactsItemData = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 获取用户详细信息
|
// 获取用户详细信息
|
||||||
getUserDetail() {
|
getUserDetail() {
|
||||||
|
170
src/views/admin/meeting/ReservationServeList.vue
Normal file
170
src/views/admin/meeting/ReservationServeList.vue
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
<template>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="48">
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="服务id">
|
||||||
|
<a-input placeholder="请输入服务id" v-model="queryParam.serveId"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="预约记录id">
|
||||||
|
<a-input placeholder="请输入预约记录id" v-model="queryParam.reservationId"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="数量">
|
||||||
|
<a-input placeholder="请输入数量" v-model="queryParam.num"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="园区ID">
|
||||||
|
<a-input placeholder="请输入园区ID" v-model="queryParam.parkId"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
||||||
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
<div class="table-operator">
|
||||||
|
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
|
||||||
|
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
|
||||||
|
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
|
||||||
|
</a-dropdown>
|
||||||
|
</div>
|
||||||
|
<s-table
|
||||||
|
size="default"
|
||||||
|
ref="table"
|
||||||
|
rowKey="id"
|
||||||
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
|
:columns="columns"
|
||||||
|
:data="loadData"
|
||||||
|
>
|
||||||
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
|
||||||
|
<a-divider type="vertical" />
|
||||||
|
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
|
||||||
|
</span>
|
||||||
|
</s-table>
|
||||||
|
<reservationServe-modal ref="modal" @ok="handleOk"/>
|
||||||
|
</a-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {STable} from '@/components'
|
||||||
|
|
||||||
|
import {delReservationServe} from '@/api/admin/meeting/reservationServe'
|
||||||
|
import ReservationServeModal from './modules/ReservationServeModal.vue'
|
||||||
|
import {checkPermission} from '@/utils/permissions'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'TableList',
|
||||||
|
components: {
|
||||||
|
STable,
|
||||||
|
ReservationServeModal
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 16 }
|
||||||
|
},
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
mdl: {},
|
||||||
|
// 高级搜索 展开/关闭
|
||||||
|
advanced: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {},
|
||||||
|
// 表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '服务id',
|
||||||
|
dataIndex: 'serveId'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '预约记录id',
|
||||||
|
dataIndex: 'reservationId'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '数量',
|
||||||
|
dataIndex: 'num'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '园区ID',
|
||||||
|
dataIndex: 'parkId'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
width: '200px',
|
||||||
|
dataIndex: 'action',
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 加载数据方法 必须为 Promise 对象
|
||||||
|
loadData: parameter => {
|
||||||
|
return getReservationServeList(Object.assign(parameter, this.queryParam))
|
||||||
|
},
|
||||||
|
selectedRowKeys: [],
|
||||||
|
selectedRows: [],
|
||||||
|
addEnable: checkPermission('meeting:reservationServe:add'),
|
||||||
|
editEnabel: checkPermission('meeting:reservationServe:edit'),
|
||||||
|
removeEnable: checkPermission('meeting:reservationServe:remove')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filters: {
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onSelectChange (selectedRowKeys, selectedRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.selectedRows = selectedRows
|
||||||
|
},
|
||||||
|
handleAdd () {
|
||||||
|
this.$refs.modal.add()
|
||||||
|
},
|
||||||
|
handleEdit (record) {
|
||||||
|
this.$refs.modal.edit(record)
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
this.$refs.table.refresh(true)
|
||||||
|
console.log('handleSaveOk')
|
||||||
|
},
|
||||||
|
delByIds (ids) {
|
||||||
|
delReservationServe({ ids: ids.join(',') }).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.handleOk()
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
}
|
||||||
|
this.selectedRowKeys = []
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
/*
|
||||||
|
'selectedRows': function (selectedRows) {
|
||||||
|
this.needTotalList = this.needTotalList.map(item => {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
total: selectedRows.reduce( (sum, val) => {
|
||||||
|
return sum + val[item.dataIndex]
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -252,7 +252,8 @@ export default {
|
|||||||
advanced: false,
|
advanced: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
itemQueryParam: {},
|
itemQueryParam: {
|
||||||
|
},
|
||||||
serveQueryParam: {},
|
serveQueryParam: {},
|
||||||
capacityList: [],
|
capacityList: [],
|
||||||
shapeList: [],
|
shapeList: [],
|
||||||
@ -329,10 +330,18 @@ export default {
|
|||||||
return getRoomContentList(Object.assign(parameter, this.queryParam))
|
return getRoomContentList(Object.assign(parameter, this.queryParam))
|
||||||
},
|
},
|
||||||
itemLoadData: (parameter) => {
|
itemLoadData: (parameter) => {
|
||||||
return getRoomItemList(Object.assign(parameter, this.itemQueryParam))
|
console.log(this.parkId)
|
||||||
|
let param ={
|
||||||
|
parkId:this.parkId
|
||||||
|
}
|
||||||
|
|
||||||
|
return getRoomItemList(Object.assign(parameter, param))
|
||||||
},
|
},
|
||||||
serveLoadData: (parameter) => {
|
serveLoadData: (parameter) => {
|
||||||
return getRoomServeList(Object.assign(parameter, this.serveQueryParam))
|
let param ={
|
||||||
|
parkId:this.parkId
|
||||||
|
}
|
||||||
|
return getRoomServeList(Object.assign(parameter, param))
|
||||||
},
|
},
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
selectedRows: [],
|
selectedRows: [],
|
||||||
@ -424,8 +433,10 @@ export default {
|
|||||||
},
|
},
|
||||||
handleItemTable(record) {
|
handleItemTable(record) {
|
||||||
let params = {
|
let params = {
|
||||||
roomContentId: record.id
|
roomContentId: record.id,
|
||||||
}
|
}
|
||||||
|
this.parkId = record.parkId
|
||||||
|
|
||||||
selectRoomItemByRoom(params).then((res) => {
|
selectRoomItemByRoom(params).then((res) => {
|
||||||
this.selectedItemRowKeys = res.data.map(d => d.itemId)
|
this.selectedItemRowKeys = res.data.map(d => d.itemId)
|
||||||
this.selectedItemRows = res.data
|
this.selectedItemRows = res.data
|
||||||
@ -436,8 +447,10 @@ export default {
|
|||||||
},
|
},
|
||||||
handleServeTable(record) {
|
handleServeTable(record) {
|
||||||
let params = {
|
let params = {
|
||||||
romeContentId: record.id
|
romeContentId: record.id,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
this.parkId = record.parkId
|
||||||
selectRoomServeByRoom(params).then((res) => {
|
selectRoomServeByRoom(params).then((res) => {
|
||||||
this.selectedServeRowKeys = res.data.map(d => d.serveId)
|
this.selectedServeRowKeys = res.data.map(d => d.serveId)
|
||||||
this.selectedServeRows = res.data
|
this.selectedServeRows = res.data
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
<div class='table-page-search-wrapper'>
|
<div class='table-page-search-wrapper'>
|
||||||
<a-form layout='inline'>
|
<a-form layout='inline'>
|
||||||
<a-row :gutter='48'>
|
<a-row :gutter='48'>
|
||||||
|
|
||||||
|
|
||||||
<a-col :md='5' :sm='15'>
|
<a-col :md='5' :sm='15'>
|
||||||
<a-form-item label='名称'>
|
<a-form-item label='名称'>
|
||||||
<a-input placeholder='请输入名称' v-model='queryParam.name' />
|
<a-input placeholder='请输入名称' v-model='queryParam.name' />
|
||||||
@ -54,7 +56,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { STable } from '@/components'
|
import { STable } from '@/components'
|
||||||
|
import { getTenantList } from '@/api/tenant'
|
||||||
|
import { getParkList } from '@/api/admin/park'
|
||||||
import { delRoomItem,getRoomItemList } from '@/api/admin/meeting/roomItem'
|
import { delRoomItem,getRoomItemList } from '@/api/admin/meeting/roomItem'
|
||||||
import RoomItemModal from './modules/RoomItemModal.vue'
|
import RoomItemModal from './modules/RoomItemModal.vue'
|
||||||
import { checkPermission } from '@/utils/permissions'
|
import { checkPermission } from '@/utils/permissions'
|
||||||
@ -77,6 +80,13 @@ export default {
|
|||||||
},
|
},
|
||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
mdl: {},
|
mdl: {},
|
||||||
|
tenantList: [], // 地区
|
||||||
|
parkList: [], // 园区
|
||||||
|
buildingList: [], // 楼宇
|
||||||
|
buildingDetailList: [], // 楼层
|
||||||
|
roomList: [], // 房间
|
||||||
|
tenantEnable: false,
|
||||||
|
parkEnable: false,
|
||||||
// 高级搜索 展开/关闭
|
// 高级搜索 展开/关闭
|
||||||
advanced: false,
|
advanced: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
@ -91,26 +101,7 @@ export default {
|
|||||||
title: '品牌',
|
title: '品牌',
|
||||||
dataIndex: 'brand'
|
dataIndex: 'brand'
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: '规格',
|
|
||||||
// dataIndex: 'specification'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '图片url',
|
|
||||||
// dataIndex: 'picUrl'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '附件url',
|
|
||||||
// dataIndex: 'fileUrl'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '备注',
|
|
||||||
// dataIndex: 'remark'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '删除标志',
|
|
||||||
// dataIndex: 'delFlag'
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: '200px',
|
width: '200px',
|
||||||
@ -133,6 +124,55 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
// 查询地区
|
||||||
|
getTenantData() {
|
||||||
|
getTenantList().then(res => {
|
||||||
|
this.tenantList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
selectTenant(id) {
|
||||||
|
console.log('selectTenant', id)
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.parkId = null // 园区
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
parkId: null, // 园区
|
||||||
|
buildingId: null, // 楼宇
|
||||||
|
buildId: null, // 楼层
|
||||||
|
roomId: null // 所属房间
|
||||||
|
})
|
||||||
|
// 查询园区
|
||||||
|
getParkList({
|
||||||
|
tenantId: id
|
||||||
|
}).then(res => {
|
||||||
|
this.parkList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
selectPark(id) {
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
buildingId: null, // 楼宇
|
||||||
|
buildId: null, // 楼层
|
||||||
|
roomId: null // 所属房间
|
||||||
|
})
|
||||||
|
// 查询楼宇
|
||||||
|
getBuildingList({
|
||||||
|
parkId: id
|
||||||
|
}).then(res => {
|
||||||
|
this.buildingList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
onSelectChange(selectedRowKeys, selectedRows) {
|
onSelectChange(selectedRowKeys, selectedRows) {
|
||||||
this.selectedRowKeys = selectedRowKeys
|
this.selectedRowKeys = selectedRowKeys
|
||||||
this.selectedRows = selectedRows
|
this.selectedRows = selectedRows
|
||||||
|
121
src/views/admin/meeting/modules/ReservationServeModal.vue
Normal file
121
src/views/admin/meeting/modules/ReservationServeModal.vue
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="操作"
|
||||||
|
style="top: 20px;"
|
||||||
|
:width="800"
|
||||||
|
v-model="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
>
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item style="display:none">
|
||||||
|
<a-input v-decorator="['id']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item style="display:none">
|
||||||
|
<a-input v-decorator="['version']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="服务id">
|
||||||
|
<a-input placeholder="服务id" v-decorator="['serveId']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="预约记录id">
|
||||||
|
<a-input placeholder="预约记录id" v-decorator="['reservationId']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="数量">
|
||||||
|
<a-input placeholder="数量" v-decorator="['num']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="数量">
|
||||||
|
<a-input placeholder="数量" v-decorator="['deleteFlag']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="创建者">
|
||||||
|
<a-input placeholder="创建者" v-decorator="['createBy']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="租户ID">
|
||||||
|
<a-input placeholder="租户ID" v-decorator="['tenantId']"/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="园区ID">
|
||||||
|
<a-input placeholder="园区ID" v-decorator="['parkId']"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {saveReservationServe} from '@/api/admin/meeting/reservationServe'
|
||||||
|
import pick from 'lodash.pick'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ReservationServeModal',
|
||||||
|
props: {
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 16 }
|
||||||
|
},
|
||||||
|
confirmLoading: false,
|
||||||
|
mdl: {},
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeCreate () {
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
add () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.edit({ id: 0 })
|
||||||
|
},
|
||||||
|
edit (record) {
|
||||||
|
this.mdl = Object.assign(record)
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue(pick(this.mdl, 'id', 'serveId', 'reservationId', 'num', 'deleteFlag', 'createBy', 'createTime', 'tenantId', 'parkId'))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleSubmit (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
console.log('Received values of form: ', values)
|
||||||
|
this.confirmLoading = true
|
||||||
|
saveReservationServe(values).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success('保存成功')
|
||||||
|
this.$emit('ok')
|
||||||
|
this.visible = false
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message.error('系统错误,请稍后再试')
|
||||||
|
}).finally(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
/*
|
||||||
|
'selectedRows': function (selectedRows) {
|
||||||
|
this.needTotalList = this.needTotalList.map(item => {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
total: selectedRows.reduce( (sum, val) => {
|
||||||
|
return sum + val[item.dataIndex]
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -1,66 +1,84 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-modal
|
<a-modal
|
||||||
title="操作"
|
title='操作'
|
||||||
style="top: 20px;"
|
style='top: 20px;'
|
||||||
:width="800"
|
:width='800'
|
||||||
v-model="visible"
|
v-model='visible'
|
||||||
:confirmLoading="confirmLoading"
|
:confirmLoading='confirmLoading'
|
||||||
@ok="handleSubmit"
|
@ok='handleSubmit'
|
||||||
>
|
>
|
||||||
<a-form :form="form">
|
<a-form :form='form'>
|
||||||
<a-form-item style="display:none">
|
<a-form-item style='display:none'>
|
||||||
<a-input v-decorator="['id']"/>
|
<a-input v-decorator="['id']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item style="display:none">
|
<a-form-item style='display:none'>
|
||||||
<a-input v-decorator="['version']"/>
|
<a-input v-decorator="['version']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="名称">
|
|
||||||
<a-input placeholder="名称" v-decorator="['name' ,{rules: [{required: true, message: '请输入名称'}]}]"/>
|
|
||||||
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属地区'>
|
||||||
|
<a-select v-decorator="['tenantId', {rules: [{ required: true, message: '请选择所属地区' }]}]"
|
||||||
|
@change='selectTenant'
|
||||||
|
:disabled='tenantEnable'>
|
||||||
|
<a-select-option v-for='item in tenantList' :key='item.id'>{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="品牌">
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属园区'>
|
||||||
<a-input placeholder="品牌" v-decorator="['brand', {rules: [{required: true, message: '请输入品牌'}]}]"/>
|
<a-select v-decorator="['parkId', {rules: [{ required: true, message: '请选择所属园区' }]}]"
|
||||||
|
@change='selectPark'
|
||||||
|
:disabled='parkEnable'>
|
||||||
|
<a-select-option v-for='item in parkList' :key='item.id'>{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="规格">-->
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='名称'>
|
||||||
<!-- <a-input placeholder="规格" v-decorator="['specification']"/>-->
|
<a-input placeholder='名称' v-decorator="['name' ,{rules: [{required: true, message: '请输入名称'}]}]" />
|
||||||
<!-- </a-form-item>-->
|
</a-form-item>
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="图片url">
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='品牌'>
|
||||||
<!-- <a-input placeholder="图片url" v-decorator="['picUrl']"/>-->
|
<a-input placeholder='品牌' v-decorator="['brand', {rules: [{required: true, message: '请输入品牌'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="规格">-->
|
||||||
|
<!-- <a-input placeholder="规格" v-decorator="['specification']"/>-->
|
||||||
|
<!-- </a-form-item>-->
|
||||||
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='图片url'>
|
||||||
|
<!-- <a-input placeholder="图片url" v-decorator="['picUrl']"/>-->
|
||||||
<a-upload
|
<a-upload
|
||||||
v-decorator="['picUrl', {rules: [{required: true, message: '请输入图片url'}]}]"
|
v-decorator="['picUrl', {rules: [{required: true, message: '请输入图片url'}]}]"
|
||||||
list-type="picture-card"
|
list-type='picture-card'
|
||||||
class="avatar-uploader"
|
class='avatar-uploader'
|
||||||
:show-upload-list="false"
|
:show-upload-list='false'
|
||||||
:action="uploadUrl"
|
:action='uploadUrl'
|
||||||
:headers="headers"
|
:headers='headers'
|
||||||
:before-upload="beforeUpload"
|
:before-upload='beforeUpload'
|
||||||
@change="handleChange"
|
@change='handleChange'
|
||||||
>
|
>
|
||||||
<img v-if="imageUrl" :src="imageUrl" style="width: 102px; height: 102px"/>
|
<img v-if='imageUrl' :src='imageUrl' style='width: 102px; height: 102px' />
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<a-icon :type="loading ? 'loading' : 'plus'" />
|
<a-icon :type="loading ? 'loading' : 'plus'" />
|
||||||
<div class="ant-upload-text"> 上传 </div>
|
<div class='ant-upload-text'> 上传</div>
|
||||||
</div>
|
</div>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="备注">
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='备注'>
|
||||||
<a-input placeholder="备注" v-decorator="['remark']"/>
|
<a-input placeholder='备注' v-decorator="['remark']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {saveRoomItem} from '@/api/admin/meeting/roomItem'
|
import { saveRoomItem } from '@/api/admin/meeting/roomItem'
|
||||||
import pick from 'lodash.pick'
|
import pick from 'lodash.pick'
|
||||||
import storage from 'store'
|
import storage from 'store'
|
||||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||||
|
import { getTenantList } from '@/api/tenant'
|
||||||
|
import { getParkList } from '@/api/admin/park'
|
||||||
|
import { getInfo } from '@/api/login'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RoomItemModal',
|
name: 'RoomItemModal',
|
||||||
props: {
|
props: {},
|
||||||
},
|
components: {},
|
||||||
components: {
|
data() {
|
||||||
},
|
|
||||||
data () {
|
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
labelCol: {
|
labelCol: {
|
||||||
@ -81,15 +99,94 @@ export default {
|
|||||||
loading1: false,
|
loading1: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
mdl: {},
|
mdl: {},
|
||||||
form: this.$form.createForm(this)
|
form: this.$form.createForm(this),
|
||||||
|
userDetail: {},
|
||||||
|
tenantList: [], // 地区
|
||||||
|
parkList: [], // 园区
|
||||||
|
buildingList: [], // 楼宇
|
||||||
|
buildingDetailList: [], // 楼层
|
||||||
|
roomList: [], // 房间
|
||||||
|
tenantEnable: false,
|
||||||
|
parkEnable: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeCreate () {
|
beforeCreate() {
|
||||||
},
|
},
|
||||||
created () {
|
created() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
beforeUpload (file) {
|
// 获取用户详细信息
|
||||||
|
getUserDetail() {
|
||||||
|
getInfo().then(res => {
|
||||||
|
console.log('getUserDetail', res)
|
||||||
|
this.userDetail = res
|
||||||
|
// 园区:5
|
||||||
|
if (this.userDetail.roleIds && this.userDetail.roleIds.length > 0 && this.userDetail.roleIds[0] == 5) {
|
||||||
|
//
|
||||||
|
// 判断:是新增就查询园区
|
||||||
|
let { id } = this.mdl
|
||||||
|
if (!id) {
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
this.selectTenant(this.userDetail.tenantId)
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
this.selectPark(this.userDetail.parkId)
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 不可编辑
|
||||||
|
this.tenantEnable = true
|
||||||
|
this.parkEnable = true
|
||||||
|
// 关联地区和园区
|
||||||
|
this.mdl.parkId = this.userDetail.parkId
|
||||||
|
this.mdl.tenantId = this.userDetail.tenantId
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
parkId: this.mdl.parkId,
|
||||||
|
tenantId: this.mdl.tenantId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 查询地区
|
||||||
|
getTenantData() {
|
||||||
|
getTenantList().then(res => {
|
||||||
|
this.tenantList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
selectTenant(id) {
|
||||||
|
console.log('selectTenant', id)
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.parkId = null // 园区
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
parkId: null, // 园区
|
||||||
|
|
||||||
|
})
|
||||||
|
// 查询园区
|
||||||
|
getParkList({
|
||||||
|
tenantId: id
|
||||||
|
}).then(res => {
|
||||||
|
this.parkList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
selectPark(id) {
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
buildingId: null, // 楼宇
|
||||||
|
buildId: null, // 楼层
|
||||||
|
roomId: null // 所属房间
|
||||||
|
})
|
||||||
|
// 查询楼宇
|
||||||
|
this.parkId = id
|
||||||
|
},
|
||||||
|
beforeUpload(file) {
|
||||||
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'
|
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'
|
||||||
if (!isJpgOrPng) {
|
if (!isJpgOrPng) {
|
||||||
this.$message.error('You can only upload JPG file!')
|
this.$message.error('You can only upload JPG file!')
|
||||||
@ -100,7 +197,7 @@ export default {
|
|||||||
}
|
}
|
||||||
return isJpgOrPng && isLt2M
|
return isJpgOrPng && isLt2M
|
||||||
},
|
},
|
||||||
handleChange (info) {
|
handleChange(info) {
|
||||||
if (info.file.status === 'uploading') {
|
if (info.file.status === 'uploading') {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
return
|
return
|
||||||
@ -123,21 +220,40 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
add () {
|
add() {
|
||||||
this.form.resetFields()
|
this.form.resetFields()
|
||||||
this.edit({ id: 0 })
|
this.edit({ id: 0 })
|
||||||
},
|
},
|
||||||
edit (record) {
|
edit(record) {
|
||||||
|
this.getTenantData()
|
||||||
this.mdl = Object.assign(record)
|
this.mdl = Object.assign(record)
|
||||||
if (this.mdl.picUrl) {
|
if (this.mdl.picUrl) {
|
||||||
this.imageUrl = process.env.VUE_APP_API_BASE_URL + this.mdl.picUrl
|
this.imageUrl = process.env.VUE_APP_API_BASE_URL + this.mdl.picUrl
|
||||||
}
|
}
|
||||||
|
let copyMdl = JSON.parse(JSON.stringify(this.mdl))
|
||||||
|
|
||||||
|
this.getTenantData()
|
||||||
|
//
|
||||||
|
if (record.id != 0) { // 编辑
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
if (copyMdl.tenantId) {
|
||||||
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
|
this.selectTenant(copyMdl.tenantId)
|
||||||
|
}
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
if (copyMdl.parkId) {
|
||||||
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
|
this.selectPark(copyMdl.parkId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getUserDetail()
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.mdl, 'id', 'name', 'brand', 'specification', 'picUrl', 'fileUrl', 'remark', 'delFlag', 'createBy', 'createTime', 'updateBy', 'updateTime'))
|
this.form.setFieldsValue(pick(this.mdl, 'id', 'name', 'brand', 'specification', 'picUrl', 'fileUrl', 'remark',
|
||||||
|
'delFlag', 'createBy', 'createTime', 'updateBy', 'updateTime','tenantId', 'parkId',))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleSubmit (e) {
|
handleSubmit(e) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
@ -175,7 +291,8 @@ export default {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function getBase64 (img, callback) {
|
|
||||||
|
function getBase64(img, callback) {
|
||||||
const reader = new FileReader()
|
const reader = new FileReader()
|
||||||
reader.addEventListener('load', () => callback(reader.result))
|
reader.addEventListener('load', () => callback(reader.result))
|
||||||
reader.readAsDataURL(img)
|
reader.readAsDataURL(img)
|
||||||
|
@ -14,6 +14,20 @@
|
|||||||
<a-form-item style='display:none'>
|
<a-form-item style='display:none'>
|
||||||
<a-input v-decorator="['version']" />
|
<a-input v-decorator="['version']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属地区'>
|
||||||
|
<a-select v-decorator="['tenantId', {rules: [{ required: true, message: '请选择所属地区' }]}]"
|
||||||
|
@change='selectTenant'
|
||||||
|
:disabled='tenantEnable'>
|
||||||
|
<a-select-option v-for='item in tenantList' :key='item.id'>{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属园区'>
|
||||||
|
<a-select v-decorator="['parkId', {rules: [{ required: true, message: '请选择所属园区' }]}]"
|
||||||
|
@change='selectPark'
|
||||||
|
:disabled='parkEnable'>
|
||||||
|
<a-select-option v-for='item in parkList' :key='item.id'>{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='服务名称'>
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='服务名称'>
|
||||||
<a-input placeholder='服务名称'
|
<a-input placeholder='服务名称'
|
||||||
v-decorator="['serveName',{rules:[{required: true, message: '请输入服务名称' }]}]" />
|
v-decorator="['serveName',{rules:[{required: true, message: '请输入服务名称' }]}]" />
|
||||||
@ -59,6 +73,9 @@
|
|||||||
import { saveRoomServe } from '@/api/admin/meeting/roomServe'
|
import { saveRoomServe } from '@/api/admin/meeting/roomServe'
|
||||||
import pick from 'lodash.pick'
|
import pick from 'lodash.pick'
|
||||||
import storage from 'store'
|
import storage from 'store'
|
||||||
|
import { getTenantList } from '@/api/tenant'
|
||||||
|
import { getParkList } from '@/api/admin/park'
|
||||||
|
import { getInfo } from '@/api/login'
|
||||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -84,7 +101,15 @@ export default {
|
|||||||
},
|
},
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
mdl: {},
|
mdl: {},
|
||||||
form: this.$form.createForm(this)
|
form: this.$form.createForm(this),
|
||||||
|
userDetail: {},
|
||||||
|
tenantList: [], // 地区
|
||||||
|
parkList: [], // 园区
|
||||||
|
buildingList: [], // 楼宇
|
||||||
|
buildingDetailList: [], // 楼层
|
||||||
|
roomList: [], // 房间
|
||||||
|
tenantEnable: false,
|
||||||
|
parkEnable: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeCreate() {
|
beforeCreate() {
|
||||||
@ -92,6 +117,77 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取用户详细信息
|
||||||
|
getUserDetail() {
|
||||||
|
getInfo().then(res => {
|
||||||
|
console.log('getUserDetail', res)
|
||||||
|
this.userDetail = res
|
||||||
|
// 园区:5
|
||||||
|
if (this.userDetail.roleIds && this.userDetail.roleIds.length > 0 && this.userDetail.roleIds[0] == 5) {
|
||||||
|
//
|
||||||
|
// 判断:是新增就查询园区
|
||||||
|
let { id } = this.mdl
|
||||||
|
if (!id) {
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
this.selectTenant(this.userDetail.tenantId)
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
this.selectPark(this.userDetail.parkId)
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 不可编辑
|
||||||
|
this.tenantEnable = true
|
||||||
|
this.parkEnable = true
|
||||||
|
// 关联地区和园区
|
||||||
|
this.mdl.parkId = this.userDetail.parkId
|
||||||
|
this.mdl.tenantId = this.userDetail.tenantId
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
parkId: this.mdl.parkId,
|
||||||
|
tenantId: this.mdl.tenantId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 查询地区
|
||||||
|
getTenantData() {
|
||||||
|
getTenantList().then(res => {
|
||||||
|
this.tenantList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
selectTenant(id) {
|
||||||
|
console.log('selectTenant', id)
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.parkId = null // 园区
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
parkId: null, // 园区
|
||||||
|
|
||||||
|
})
|
||||||
|
// 查询园区
|
||||||
|
getParkList({
|
||||||
|
tenantId: id
|
||||||
|
}).then(res => {
|
||||||
|
this.parkList = res.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
selectPark(id) {
|
||||||
|
// 清空数据
|
||||||
|
this.mdl.buildingId = null // 楼宇
|
||||||
|
this.mdl.buildId = null // 楼层
|
||||||
|
this.mdl.roomId = null // 所属房间
|
||||||
|
|
||||||
|
this.form.setFieldsValue({
|
||||||
|
buildingId: null, // 楼宇
|
||||||
|
buildId: null, // 楼层
|
||||||
|
roomId: null // 所属房间
|
||||||
|
})
|
||||||
|
// 查询楼宇
|
||||||
|
this.parkId = id
|
||||||
|
},
|
||||||
changeServeType(value) {
|
changeServeType(value) {
|
||||||
this.mdl.serveType = value
|
this.mdl.serveType = value
|
||||||
},
|
},
|
||||||
@ -134,13 +230,33 @@ export default {
|
|||||||
this.edit({ id: 0 })
|
this.edit({ id: 0 })
|
||||||
},
|
},
|
||||||
edit(record) {
|
edit(record) {
|
||||||
|
this.getTenantData()
|
||||||
this.mdl = Object.assign(record)
|
this.mdl = Object.assign(record)
|
||||||
if (this.mdl.pic) {
|
if (this.mdl.pic) {
|
||||||
this.imageUrl = process.env.VUE_APP_API_BASE_URL + this.mdl.pic
|
this.imageUrl = process.env.VUE_APP_API_BASE_URL + this.mdl.pic
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let copyMdl = JSON.parse(JSON.stringify(this.mdl))
|
||||||
|
|
||||||
|
this.getTenantData()
|
||||||
|
//
|
||||||
|
if (record.id != 0) { // 编辑
|
||||||
|
// 选择地区 -> 查询园区
|
||||||
|
if (copyMdl.tenantId) {
|
||||||
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
|
this.selectTenant(copyMdl.tenantId)
|
||||||
|
}
|
||||||
|
// 选择园区 -> 查询楼宇
|
||||||
|
if (copyMdl.parkId) {
|
||||||
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
|
this.selectPark(copyMdl.parkId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getUserDetail()
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.mdl, 'id', 'serveName', 'serveType', 'serveTime', 'remake', 'type', 'createBy', 'createTime', 'updateBy', 'updateTime', 'version', 'deleteFlag'))
|
this.form.setFieldsValue(pick(this.mdl, 'id', 'serveName', 'serveType','money', 'serveTime', 'remake', 'type', 'createBy',
|
||||||
|
'createTime', 'updateBy', 'updateTime', 'version', 'deleteFlag','tenantId', 'parkId',))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleSubmit(e) {
|
handleSubmit(e) {
|
||||||
|
@ -436,6 +436,7 @@ export default {
|
|||||||
if (copyMdl.buildId) {
|
if (copyMdl.buildId) {
|
||||||
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
this.getRoomListByFloorIdMethod(copyMdl.buildId, copyMdl.roomId)
|
this.getRoomListByFloorIdMethod(copyMdl.buildId, copyMdl.roomId)
|
||||||
|
this.selectRoom(copyMdl.roomId)
|
||||||
}
|
}
|
||||||
// 防止替换
|
// 防止替换
|
||||||
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||||
@ -461,7 +462,7 @@ export default {
|
|||||||
'indoorPicUrl', 'address', 'startTime', 'endDate', 'isShow',
|
'indoorPicUrl', 'address', 'startTime', 'endDate', 'isShow',
|
||||||
'headName', 'headPhone', 'content', 'createBy', 'createTime',
|
'headName', 'headPhone', 'content', 'createBy', 'createTime',
|
||||||
'updateBy', 'updateTime', 'version', 'deleteFlag',
|
'updateBy', 'updateTime', 'version', 'deleteFlag',
|
||||||
'tenantId', 'parkId', 'buildingId', 'buildId', 'roomId', 'area'))
|
'tenantId', 'parkId', 'buildingId', 'buildId', 'roomId'))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleSubmit(e) {
|
handleSubmit(e) {
|
||||||
|
@ -33,17 +33,17 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item v-if='tenantId !== null' :labelCol='labelCol' :wrapperCol='wrapperCol' label='部门'>
|
<!-- <a-form-item v-if='tenantId !== null' :labelCol='labelCol' :wrapperCol='wrapperCol' label='部门'>-->
|
||||||
<a-tree-select
|
<!-- <a-tree-select-->
|
||||||
v-decorator="['deptId', {rules: [{ required: true, message: '请选择部门' }]}]"
|
<!-- v-decorator="['deptId', {rules: [{ required: true, message: '请选择部门' }]}]"-->
|
||||||
:dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
|
<!-- :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"-->
|
||||||
:treeData='deptTree'
|
<!-- :treeData='deptTree'-->
|
||||||
@change='onChange'
|
<!-- @change='onChange'-->
|
||||||
placeholder='部门'
|
<!-- placeholder='部门'-->
|
||||||
treeDefaultExpandAll
|
<!-- treeDefaultExpandAll-->
|
||||||
>
|
<!-- >-->
|
||||||
</a-tree-select>
|
<!-- </a-tree-select>-->
|
||||||
</a-form-item>
|
<!-- </a-form-item>-->
|
||||||
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='拥有角色' hasFeedback>
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='拥有角色' hasFeedback>
|
||||||
<a-select
|
<a-select
|
||||||
style='width: 100%'
|
style='width: 100%'
|
||||||
|
@ -108,7 +108,7 @@ const vueConfig = {
|
|||||||
port: 8000,
|
port: 8000,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:9227',
|
target: 'https://www.chuangzhikj.com/saas-ics',
|
||||||
pathRewrite: { '^/api': '' },
|
pathRewrite: { '^/api': '' },
|
||||||
ws: false,
|
ws: false,
|
||||||
changeOrigin: true
|
changeOrigin: true
|
||||||
@ -118,7 +118,7 @@ const vueConfig = {
|
|||||||
|
|
||||||
// disable source map in production
|
// disable source map in production
|
||||||
productionSourceMap: false,
|
productionSourceMap: false,
|
||||||
lintOnSave: undefined,
|
lintOnSave: false,
|
||||||
// babel-loader no-ignore node_modules/*
|
// babel-loader no-ignore node_modules/*
|
||||||
transpileDependencies: []
|
transpileDependencies: []
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user