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
|
||||
VUE_APP_PREVIEW=false
|
||||
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
|
||||
VUE_APP_PREVIEW=true
|
||||
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
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=/api
|
||||
VUE_APP_MODEL_BASE_URL=http://127.0.0.1:8080
|
||||
VUE_APP_API_BASE_URL=/saas-ics
|
||||
VUE_APP_MODEL_BASE_URL=http://localhost/saas-ics
|
@ -3,10 +3,10 @@
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
|
||||
"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
||||
"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: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-tab-pane>
|
||||
<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>
|
||||
<a-button style='margin-left: 30px' type='success' @click='importUser'>
|
||||
导入用户
|
||||
</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>
|
||||
<a-table :pagination='false' :columns='contactsItemColumns'
|
||||
<a-table :pagination='true' :columns='contactsItemColumns'
|
||||
:dataSource='contactsItemData'
|
||||
ref='userTable'
|
||||
rowKey='id'>
|
||||
@ -483,7 +491,7 @@ export default {
|
||||
// 联系人列表表头
|
||||
contactsItemColumns: [
|
||||
{
|
||||
title: '昵称',
|
||||
title: '姓名',
|
||||
dataIndex: 'username'
|
||||
},
|
||||
{
|
||||
@ -553,6 +561,9 @@ export default {
|
||||
orderReturnsData: [],
|
||||
contactsItemData: [],
|
||||
|
||||
queryParam:{
|
||||
keyword:''
|
||||
},
|
||||
selectedDeviceRowKeys: [],
|
||||
selectedRowKeys: [],
|
||||
uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload',
|
||||
@ -609,6 +620,16 @@ export default {
|
||||
this.getUserDetail()
|
||||
},
|
||||
methods: {
|
||||
//查询企业用户数据
|
||||
searchData(){
|
||||
let param = {
|
||||
username:this.queryParam.keyword,
|
||||
customerId: this.$route.query.customerId
|
||||
}
|
||||
selectCustomerStaffList(param).then(res => {
|
||||
this.contactsItemData = res.rows
|
||||
})
|
||||
},
|
||||
|
||||
// 获取用户详细信息
|
||||
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,
|
||||
// 查询参数
|
||||
queryParam: {},
|
||||
itemQueryParam: {},
|
||||
itemQueryParam: {
|
||||
},
|
||||
serveQueryParam: {},
|
||||
capacityList: [],
|
||||
shapeList: [],
|
||||
@ -329,10 +330,18 @@ export default {
|
||||
return getRoomContentList(Object.assign(parameter, this.queryParam))
|
||||
},
|
||||
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) => {
|
||||
return getRoomServeList(Object.assign(parameter, this.serveQueryParam))
|
||||
let param ={
|
||||
parkId:this.parkId
|
||||
}
|
||||
return getRoomServeList(Object.assign(parameter, param))
|
||||
},
|
||||
selectedRowKeys: [],
|
||||
selectedRows: [],
|
||||
@ -424,8 +433,10 @@ export default {
|
||||
},
|
||||
handleItemTable(record) {
|
||||
let params = {
|
||||
roomContentId: record.id
|
||||
roomContentId: record.id,
|
||||
}
|
||||
this.parkId = record.parkId
|
||||
|
||||
selectRoomItemByRoom(params).then((res) => {
|
||||
this.selectedItemRowKeys = res.data.map(d => d.itemId)
|
||||
this.selectedItemRows = res.data
|
||||
@ -436,8 +447,10 @@ export default {
|
||||
},
|
||||
handleServeTable(record) {
|
||||
let params = {
|
||||
romeContentId: record.id
|
||||
romeContentId: record.id,
|
||||
|
||||
}
|
||||
this.parkId = record.parkId
|
||||
selectRoomServeByRoom(params).then((res) => {
|
||||
this.selectedServeRowKeys = res.data.map(d => d.serveId)
|
||||
this.selectedServeRows = res.data
|
||||
|
@ -3,6 +3,8 @@
|
||||
<div class='table-page-search-wrapper'>
|
||||
<a-form layout='inline'>
|
||||
<a-row :gutter='48'>
|
||||
|
||||
|
||||
<a-col :md='5' :sm='15'>
|
||||
<a-form-item label='名称'>
|
||||
<a-input placeholder='请输入名称' v-model='queryParam.name' />
|
||||
@ -54,7 +56,8 @@
|
||||
|
||||
<script>
|
||||
import { STable } from '@/components'
|
||||
|
||||
import { getTenantList } from '@/api/tenant'
|
||||
import { getParkList } from '@/api/admin/park'
|
||||
import { delRoomItem,getRoomItemList } from '@/api/admin/meeting/roomItem'
|
||||
import RoomItemModal from './modules/RoomItemModal.vue'
|
||||
import { checkPermission } from '@/utils/permissions'
|
||||
@ -77,6 +80,13 @@ export default {
|
||||
},
|
||||
form: this.$form.createForm(this),
|
||||
mdl: {},
|
||||
tenantList: [], // 地区
|
||||
parkList: [], // 园区
|
||||
buildingList: [], // 楼宇
|
||||
buildingDetailList: [], // 楼层
|
||||
roomList: [], // 房间
|
||||
tenantEnable: false,
|
||||
parkEnable: false,
|
||||
// 高级搜索 展开/关闭
|
||||
advanced: false,
|
||||
// 查询参数
|
||||
@ -91,26 +101,7 @@ export default {
|
||||
title: '品牌',
|
||||
dataIndex: 'brand'
|
||||
},
|
||||
// {
|
||||
// title: '规格',
|
||||
// dataIndex: 'specification'
|
||||
// },
|
||||
// {
|
||||
// title: '图片url',
|
||||
// dataIndex: 'picUrl'
|
||||
// },
|
||||
// {
|
||||
// title: '附件url',
|
||||
// dataIndex: 'fileUrl'
|
||||
// },
|
||||
// {
|
||||
// title: '备注',
|
||||
// dataIndex: 'remark'
|
||||
// },
|
||||
// {
|
||||
// title: '删除标志',
|
||||
// dataIndex: 'delFlag'
|
||||
// },
|
||||
|
||||
{
|
||||
title: '操作',
|
||||
width: '200px',
|
||||
@ -133,6 +124,55 @@ export default {
|
||||
created() {
|
||||
},
|
||||
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) {
|
||||
this.selectedRowKeys = selectedRowKeys
|
||||
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>
|
||||
<a-modal
|
||||
title="操作"
|
||||
style="top: 20px;"
|
||||
:width="800"
|
||||
v-model="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
@ok="handleSubmit"
|
||||
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 :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 style='display:none'>
|
||||
<a-input v-decorator="['version']" />
|
||||
</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 :labelCol="labelCol" :wrapperCol="wrapperCol" label="品牌">
|
||||
<a-input placeholder="品牌" v-decorator="['brand', {rules: [{required: true, message: '请输入品牌'}]}]"/>
|
||||
<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-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-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='名称'>
|
||||
<a-input placeholder='名称' v-decorator="['name' ,{rules: [{required: true, message: '请输入名称'}]}]" />
|
||||
</a-form-item>
|
||||
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='品牌'>
|
||||
<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
|
||||
v-decorator="['picUrl', {rules: [{required: true, message: '请输入图片url'}]}]"
|
||||
list-type="picture-card"
|
||||
class="avatar-uploader"
|
||||
:show-upload-list="false"
|
||||
:action="uploadUrl"
|
||||
:headers="headers"
|
||||
:before-upload="beforeUpload"
|
||||
@change="handleChange"
|
||||
list-type='picture-card'
|
||||
class='avatar-uploader'
|
||||
:show-upload-list='false'
|
||||
:action='uploadUrl'
|
||||
:headers='headers'
|
||||
:before-upload='beforeUpload'
|
||||
@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>
|
||||
<a-icon :type="loading ? 'loading' : 'plus'" />
|
||||
<div class="ant-upload-text"> 上传 </div>
|
||||
<div class='ant-upload-text'> 上传</div>
|
||||
</div>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="备注">
|
||||
<a-input placeholder="备注" v-decorator="['remark']"/>
|
||||
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='备注'>
|
||||
<a-input placeholder='备注' v-decorator="['remark']" />
|
||||
</a-form-item>
|
||||
|
||||
</a-form>
|
||||
</a-modal>
|
||||
</template>
|
||||
<script>
|
||||
import {saveRoomItem} from '@/api/admin/meeting/roomItem'
|
||||
import { saveRoomItem } from '@/api/admin/meeting/roomItem'
|
||||
import pick from 'lodash.pick'
|
||||
import storage from 'store'
|
||||
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 {
|
||||
name: 'RoomItemModal',
|
||||
props: {
|
||||
},
|
||||
components: {
|
||||
},
|
||||
data () {
|
||||
props: {},
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
labelCol: {
|
||||
@ -81,15 +99,94 @@ export default {
|
||||
loading1: false,
|
||||
confirmLoading: false,
|
||||
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: {
|
||||
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'
|
||||
if (!isJpgOrPng) {
|
||||
this.$message.error('You can only upload JPG file!')
|
||||
@ -100,7 +197,7 @@ export default {
|
||||
}
|
||||
return isJpgOrPng && isLt2M
|
||||
},
|
||||
handleChange (info) {
|
||||
handleChange(info) {
|
||||
if (info.file.status === 'uploading') {
|
||||
this.loading = true
|
||||
return
|
||||
@ -123,21 +220,40 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
add () {
|
||||
add() {
|
||||
this.form.resetFields()
|
||||
this.edit({ id: 0 })
|
||||
},
|
||||
edit (record) {
|
||||
edit(record) {
|
||||
this.getTenantData()
|
||||
this.mdl = Object.assign(record)
|
||||
if (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.$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()
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
@ -175,7 +291,8 @@ export default {
|
||||
*/
|
||||
}
|
||||
}
|
||||
function getBase64 (img, callback) {
|
||||
|
||||
function getBase64(img, callback) {
|
||||
const reader = new FileReader()
|
||||
reader.addEventListener('load', () => callback(reader.result))
|
||||
reader.readAsDataURL(img)
|
||||
|
@ -14,6 +14,20 @@
|
||||
<a-form-item style='display:none'>
|
||||
<a-input v-decorator="['version']" />
|
||||
</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-input placeholder='服务名称'
|
||||
v-decorator="['serveName',{rules:[{required: true, message: '请输入服务名称' }]}]" />
|
||||
@ -59,6 +73,9 @@
|
||||
import { saveRoomServe } from '@/api/admin/meeting/roomServe'
|
||||
import pick from 'lodash.pick'
|
||||
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'
|
||||
|
||||
export default {
|
||||
@ -84,7 +101,15 @@ export default {
|
||||
},
|
||||
confirmLoading: false,
|
||||
mdl: {},
|
||||
form: this.$form.createForm(this)
|
||||
form: this.$form.createForm(this),
|
||||
userDetail: {},
|
||||
tenantList: [], // 地区
|
||||
parkList: [], // 园区
|
||||
buildingList: [], // 楼宇
|
||||
buildingDetailList: [], // 楼层
|
||||
roomList: [], // 房间
|
||||
tenantEnable: false,
|
||||
parkEnable: false
|
||||
}
|
||||
},
|
||||
beforeCreate() {
|
||||
@ -92,6 +117,77 @@ export default {
|
||||
created() {
|
||||
},
|
||||
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) {
|
||||
this.mdl.serveType = value
|
||||
},
|
||||
@ -134,13 +230,33 @@ export default {
|
||||
this.edit({ id: 0 })
|
||||
},
|
||||
edit(record) {
|
||||
this.getTenantData()
|
||||
this.mdl = Object.assign(record)
|
||||
if (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.$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) {
|
||||
|
@ -436,6 +436,7 @@ export default {
|
||||
if (copyMdl.buildId) {
|
||||
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||
this.getRoomListByFloorIdMethod(copyMdl.buildId, copyMdl.roomId)
|
||||
this.selectRoom(copyMdl.roomId)
|
||||
}
|
||||
// 防止替换
|
||||
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
||||
@ -461,7 +462,7 @@ export default {
|
||||
'indoorPicUrl', 'address', 'startTime', 'endDate', 'isShow',
|
||||
'headName', 'headPhone', 'content', 'createBy', 'createTime',
|
||||
'updateBy', 'updateTime', 'version', 'deleteFlag',
|
||||
'tenantId', 'parkId', 'buildingId', 'buildId', 'roomId', 'area'))
|
||||
'tenantId', 'parkId', 'buildingId', 'buildId', 'roomId'))
|
||||
})
|
||||
},
|
||||
handleSubmit(e) {
|
||||
|
@ -33,17 +33,17 @@
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if='tenantId !== null' :labelCol='labelCol' :wrapperCol='wrapperCol' label='部门'>
|
||||
<a-tree-select
|
||||
v-decorator="['deptId', {rules: [{ required: true, message: '请选择部门' }]}]"
|
||||
:dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
|
||||
:treeData='deptTree'
|
||||
@change='onChange'
|
||||
placeholder='部门'
|
||||
treeDefaultExpandAll
|
||||
>
|
||||
</a-tree-select>
|
||||
</a-form-item>
|
||||
<!-- <a-form-item v-if='tenantId !== null' :labelCol='labelCol' :wrapperCol='wrapperCol' label='部门'>-->
|
||||
<!-- <a-tree-select-->
|
||||
<!-- v-decorator="['deptId', {rules: [{ required: true, message: '请选择部门' }]}]"-->
|
||||
<!-- :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"-->
|
||||
<!-- :treeData='deptTree'-->
|
||||
<!-- @change='onChange'-->
|
||||
<!-- placeholder='部门'-->
|
||||
<!-- treeDefaultExpandAll-->
|
||||
<!-- >-->
|
||||
<!-- </a-tree-select>-->
|
||||
<!-- </a-form-item>-->
|
||||
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='拥有角色' hasFeedback>
|
||||
<a-select
|
||||
style='width: 100%'
|
||||
|
@ -108,7 +108,7 @@ const vueConfig = {
|
||||
port: 8000,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:9227',
|
||||
target: 'https://www.chuangzhikj.com/saas-ics',
|
||||
pathRewrite: { '^/api': '' },
|
||||
ws: false,
|
||||
changeOrigin: true
|
||||
@ -118,7 +118,7 @@ const vueConfig = {
|
||||
|
||||
// disable source map in production
|
||||
productionSourceMap: false,
|
||||
lintOnSave: undefined,
|
||||
lintOnSave: false,
|
||||
// babel-loader no-ignore node_modules/*
|
||||
transpileDependencies: []
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user