|
|
@@ -28,8 +28,11 @@
|
|
|
style="float: left; overflow: hidden"
|
|
|
class="table-page-search-submitButtons"
|
|
|
>
|
|
|
- <a-button type="primary" @click="searchQuery" icon="search"
|
|
|
- >查询</a-button
|
|
|
+ <a-button
|
|
|
+ type="primary"
|
|
|
+ @click="searchQuery"
|
|
|
+ icon="search"
|
|
|
+ >查询</a-button
|
|
|
>
|
|
|
<!-- <a-button
|
|
|
type="primary"
|
|
|
@@ -53,7 +56,7 @@
|
|
|
<a-table
|
|
|
ref="table"
|
|
|
size="middle"
|
|
|
- :scroll="{ x: true }"
|
|
|
+ :scroll="{ x: 800, y: 350 }"
|
|
|
bordered
|
|
|
rowKey="id"
|
|
|
:columns="columns"
|
|
|
@@ -99,14 +102,12 @@
|
|
|
</a-button>
|
|
|
</template> -->
|
|
|
|
|
|
-
|
|
|
<template v-for="col in columns.map(item=> item.dataIndex )" :slot="col" slot-scope="text, record, index">
|
|
|
<div :key="col">
|
|
|
<a-input
|
|
|
v-if="record.editable && col == 'userName' "
|
|
|
style="margin: -5px 0;width:100px;"
|
|
|
- :value="text"
|
|
|
- @change="e => handleChange(e.target.value, record.id, col)"
|
|
|
+ v-model="record.userName"
|
|
|
/>
|
|
|
<!-- <template v-if="!record.editable && col != 'relay' ">
|
|
|
{{ text }}
|
|
|
@@ -117,13 +118,13 @@
|
|
|
<template v-if="!record.editable && col == 'relay' ">
|
|
|
{{ text==1? '是':'否' }}
|
|
|
</template> -->
|
|
|
- <template v-if=" record.editable && col != 'userName' && col != 'roomNo' && col != 'num' && col != 'deposit' && col != 'goodName' ">
|
|
|
- {{ text }}
|
|
|
- </template>
|
|
|
- <template v-if=" !record.editable ">
|
|
|
+ <!-- <template v-if=" record.editable && col != 'userName' && col != 'roomNo' && col != 'num' && col != 'deposit' && col != 'goodName' ">-->
|
|
|
+ <!-- {{ text }}-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <template v-if=" !record.editable && col != 'payType'">
|
|
|
{{ text }}
|
|
|
</template>
|
|
|
- <a-select v-if=" record.editable && col == 'roomNo' " v-model="record.livingOrderId" placeholder="请选择房号">
|
|
|
+ <a-select v-if=" record.editable && col == 'roomNo' " @change="roomChange($event, record)" v-model="record.livingOrderId" placeholder="请选择房号" style="width: 150px;">
|
|
|
<a-select-option
|
|
|
:value="item.livingOrderId"
|
|
|
v-for="(item, index) in roomsList"
|
|
|
@@ -132,35 +133,28 @@
|
|
|
{{ item.roomName }}/{{ item.customerName }}
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
|
+ <a-select v-if="col == 'payType' " v-model:value="record.payType" style="width: 110px " :disabled="!record.editable">
|
|
|
+ <a-select-option v-for="type in (record.editable ? record.payTypeList : payTypeList)" :value="type.id" :disabled="type.disable">{{ type.name }}</a-select-option>
|
|
|
+ </a-select>
|
|
|
<a-input-number
|
|
|
v-if="record.editable && (col == 'num' || col == 'deposit') "
|
|
|
- style="margin: -5px 0;width:100px;"
|
|
|
+ style="margin: -5px 0;width:100px; width: auto"
|
|
|
:value="text"
|
|
|
+ :default-value="0"
|
|
|
+ :min="0"
|
|
|
@change="e => handleChange(e, record.id, col)"
|
|
|
/>
|
|
|
- <a-select v-if=" record.editable && col == 'goodName' " v-model="record.goodsId" placeholder="请选择物品">
|
|
|
- <a-select-option
|
|
|
- :value="item.id"
|
|
|
- v-for="(item, index) in busDictItemList"
|
|
|
- :key="item.id"
|
|
|
- >
|
|
|
- {{ item.itemText }}
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
+ <a-select v-if=" record.editable && col == 'goodName' " style="width: 130px " v-model="record.goodsId" placeholder="请选择物品">
|
|
|
+ <a-select-option
|
|
|
+ :value="item.id"
|
|
|
+ v-for="(item, index) in busDictItemList"
|
|
|
+ :key="item.id"
|
|
|
+ >
|
|
|
+ {{ item.itemText }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <!-- <span slot="action" slot-scope="text, record">
|
|
|
- <template v-if="!record.revertDate">
|
|
|
- <a @click="handleEdit(record)">编辑</a>
|
|
|
-
|
|
|
- <a-divider type="vertical"
|
|
|
- /></template>
|
|
|
- <a @click="handleDelete(record.id)">删除</a>
|
|
|
- <template v-if="!record.revertDate">
|
|
|
- <a-divider type="vertical" />
|
|
|
- <a @click="handleRevert(record.id)">归还</a></template
|
|
|
- >
|
|
|
- </span> -->
|
|
|
<template slot="action" slot-scope="text, record, index">
|
|
|
<!-- <div>
|
|
|
<a @click="handleEdit(record)">编辑</a>
|
|
|
@@ -176,28 +170,21 @@
|
|
|
<a @click="() => save(record.id, record)">保存</a>
|
|
|
<a-divider :disabled="editingKey !== ''" type="vertical" />
|
|
|
<!-- <a-popconfirm title="Sure to cancel?" @confirm="() => cancel(record.id)"> -->
|
|
|
- <a @click="() => cancel(record.id)">取消</a>
|
|
|
+ <a @click="() => cancel(record.id)">取消</a>
|
|
|
<!-- </a-popconfirm> -->
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
<template v-if="!record.revertDate">
|
|
|
<a :disabled="editingKey !== ''" @click="edit(record.id)">编辑</a>
|
|
|
|
|
|
- <a-divider :disabled="editingKey !== ''" type="vertical"
|
|
|
- /></template>
|
|
|
- <a :disabled="editingKey !== ''" @click="handleDelete(record.id)">删除</a>
|
|
|
+ <a-divider
|
|
|
+ :disabled="editingKey !== ''"
|
|
|
+ type="vertical"
|
|
|
+ /></template>
|
|
|
<template v-if="!record.revertDate">
|
|
|
<a-divider :disabled="editingKey !== ''" type="vertical" />
|
|
|
<a :disabled="editingKey !== ''" @click="handleRevert(record.id)">归还</a></template
|
|
|
>
|
|
|
- <!-- <a :disabled="editingKey !== ''" @click="edit(record.id)">编辑</a>
|
|
|
- <a-divider :disabled="editingKey !== ''" type="vertical" />
|
|
|
- <a-popconfirm :disabled="editingKey !== ''"
|
|
|
- title="确定删除吗?"
|
|
|
- @confirm="() => handleDelete(record.id)"
|
|
|
- >
|
|
|
- <a :disabled="editingKey !== ''">删除</a>
|
|
|
- </a-popconfirm> -->
|
|
|
</span>
|
|
|
|
|
|
</template>
|
|
|
@@ -212,313 +199,430 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import "@/assets/less/TableExpand.less";
|
|
|
-import { mixinDevice } from "@/utils/mixin";
|
|
|
-import { JeecgListMixin } from "@/mixins/JeecgListMixin";
|
|
|
-import CesOrderLeaseGoodsModal from "./modules/leasegoods/CesOrderLeaseGoodsModal";
|
|
|
-import { httpAction, postAction, getAction } from "@/api/manage";
|
|
|
+import '@/assets/less/TableExpand.less'
|
|
|
+import { mixinDevice } from '@/utils/mixin'
|
|
|
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
|
+import CesOrderLeaseGoodsModal from './modules/leasegoods/CesOrderLeaseGoodsModal'
|
|
|
+import { httpAction, postAction, getAction } from '@/api/manage'
|
|
|
export default {
|
|
|
- name: "LeaseGoods",
|
|
|
+ name: 'LeaseGoods',
|
|
|
mixins: [JeecgListMixin, mixinDevice],
|
|
|
components: {
|
|
|
- CesOrderLeaseGoodsModal,
|
|
|
+ CesOrderLeaseGoodsModal
|
|
|
},
|
|
|
props: {
|
|
|
livingOrderId: {
|
|
|
type: String,
|
|
|
- default: null,
|
|
|
+ default: null
|
|
|
},
|
|
|
+ payTypeList: {
|
|
|
+ type: Array,
|
|
|
+ default: []
|
|
|
+ }
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- description: "客单",
|
|
|
+ description: '客单',
|
|
|
// 表头
|
|
|
columns: [
|
|
|
{
|
|
|
- title: "单号",
|
|
|
- align: "center",
|
|
|
- dataIndex: "orderNo",
|
|
|
- scopedSlots: { customRender: "orderNo" },
|
|
|
+ title: '单号',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'orderNo',
|
|
|
+ width: 147,
|
|
|
+ scopedSlots: { customRender: 'orderNo' }
|
|
|
},
|
|
|
{
|
|
|
- title: "房号",
|
|
|
- align: "center",
|
|
|
- dataIndex: "roomNo",
|
|
|
- scopedSlots: { customRender: "roomNo" },
|
|
|
+ title: '房号',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'roomNo',
|
|
|
+ width: 200,
|
|
|
+ scopedSlots: { customRender: 'roomNo' }
|
|
|
},
|
|
|
{
|
|
|
- title: "姓名",
|
|
|
- align: "center",
|
|
|
- dataIndex: "userName",
|
|
|
- scopedSlots: { customRender: "userName" },
|
|
|
+ title: '姓名',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'userName',
|
|
|
+ width: 147,
|
|
|
+ scopedSlots: { customRender: 'userName' }
|
|
|
},
|
|
|
{
|
|
|
- title: "物品",
|
|
|
- align: "center",
|
|
|
- dataIndex: "goodName",
|
|
|
- scopedSlots: { customRender: "goodName" },
|
|
|
+ title: '物品',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'goodName',
|
|
|
+ width: 170,
|
|
|
+ scopedSlots: { customRender: 'goodName' }
|
|
|
},
|
|
|
{
|
|
|
- title: "数量",
|
|
|
- align: "center",
|
|
|
- dataIndex: "num",
|
|
|
- scopedSlots: { customRender: "num" },
|
|
|
+ title: '数量',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'num',
|
|
|
+ width: 100,
|
|
|
+ scopedSlots: { customRender: 'num' }
|
|
|
},
|
|
|
{
|
|
|
- title: "押金",
|
|
|
- align: "center",
|
|
|
- dataIndex: "deposit",
|
|
|
- scopedSlots: { customRender: "deposit" },
|
|
|
+ title: '押金',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'deposit',
|
|
|
+ width: 100,
|
|
|
+ scopedSlots: { customRender: 'deposit' }
|
|
|
},
|
|
|
{
|
|
|
- title: "租借时间",
|
|
|
- align: "center",
|
|
|
- dataIndex: "createDate",
|
|
|
+ title: '支付方式',
|
|
|
+ align: 'center',
|
|
|
+ dataIndex: 'payType',
|
|
|
+ width: 130,
|
|
|
+ scopedSlots: { customRender: 'payType' }
|
|
|
},
|
|
|
{
|
|
|
- title: "归还时间",
|
|
|
- align: "center",
|
|
|
- dataIndex: "revertDate",
|
|
|
+ title: '租借时间',
|
|
|
+ align: 'center',
|
|
|
+ width: 147,
|
|
|
+ dataIndex: 'createDate'
|
|
|
},
|
|
|
{
|
|
|
- title: "操作",
|
|
|
- dataIndex: "action",
|
|
|
- align: "center",
|
|
|
- fixed: "right",
|
|
|
+ title: '归还时间',
|
|
|
+ align: 'center',
|
|
|
width: 147,
|
|
|
- scopedSlots: { customRender: "action" },
|
|
|
+ dataIndex: 'revertDate'
|
|
|
},
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'right',
|
|
|
+ width: 147,
|
|
|
+ scopedSlots: { customRender: 'action' }
|
|
|
+ }
|
|
|
],
|
|
|
url: {
|
|
|
list:
|
|
|
- "/order/cesOrderLeaseGoods/list?livingOrderId=" + this.livingOrderId,
|
|
|
- delete: "/order/cesOrderLeaseGoods/delete",
|
|
|
- deleteBatch: "/order/cesOrderLeaseGoods/deleteBatch",
|
|
|
- exportXlsUrl: "/order/cesOrderLeaseGoods/exportXls",
|
|
|
- importExcelUrl: "order/cesOrderLeaseGoods/importExcel",
|
|
|
+ '/order/cesOrderLeaseGoods/list?livingOrderId=' + this.livingOrderId,
|
|
|
+ delete: '/order/cesOrderLeaseGoods/delete',
|
|
|
+ deleteBatch: '/order/cesOrderLeaseGoods/deleteBatch',
|
|
|
+ exportXlsUrl: '/order/cesOrderLeaseGoods/exportXls',
|
|
|
+ importExcelUrl: 'order/cesOrderLeaseGoods/importExcel'
|
|
|
},
|
|
|
dictOptions: {},
|
|
|
superFieldList: [],
|
|
|
hotelList: [],
|
|
|
datetime: [],
|
|
|
- dataSourceCopy:[],
|
|
|
+ dataSourceCopy: [],
|
|
|
roomsList: [],
|
|
|
isAddOk: true,
|
|
|
- editingKey: "",
|
|
|
- busDictItemList: [],
|
|
|
- };
|
|
|
+ editingKey: '',
|
|
|
+ busDictItemList: []
|
|
|
+ }
|
|
|
},
|
|
|
created() {
|
|
|
- getAction("/business/busRoomBookingOrders/living-orders?status=-1", {
|
|
|
- current: 1,
|
|
|
- size: 99999,
|
|
|
+ // getAction("/business/busRoomBookingOrders/living-orders?status=-1", {
|
|
|
+ // current: 1,
|
|
|
+ // size: 99999,
|
|
|
+ // }).then((res) => {
|
|
|
+ // if (res.success) {
|
|
|
+ // this.roomsList = res.result.records;
|
|
|
+ // console.log(this.roomsList)
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ getAction('/business/busDictItem/list', {
|
|
|
+ dictId: '1659108818476990465'
|
|
|
}).then((res) => {
|
|
|
if (res.success) {
|
|
|
- this.roomsList = res.result.records;
|
|
|
+ this.busDictItemList = res.result.records
|
|
|
}
|
|
|
- });
|
|
|
- getAction("/business/busDictItem/list", {
|
|
|
- dictId: "1659108818476990465",
|
|
|
- }).then((res) => {
|
|
|
- if (res.success) {
|
|
|
- this.busDictItemList = res.result.records;
|
|
|
- }
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
computed: {
|
|
|
importExcelUrl: function () {
|
|
|
- return `${window._CONFIG["domianURL"]}/${this.url.importExcelUrl}`;
|
|
|
- },
|
|
|
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
-
|
|
|
+ roomChange(value, record) {
|
|
|
+ let find = this.roomsList.find(
|
|
|
+ (t) => t.livingOrderId === value
|
|
|
+ )
|
|
|
+ console.log(find)
|
|
|
+ record.payTypeList = find.payTypeList
|
|
|
+ this.$forceUpdate()
|
|
|
+ },
|
|
|
handleChange(value, key, column) {
|
|
|
- const newData = [...this.dataSource];
|
|
|
- const target = newData.find(item => key === item.id);
|
|
|
+ console.log('fff', value, key, column)
|
|
|
+ debugger
|
|
|
+ const newData = [...this.dataSource]
|
|
|
+ const target = newData.find(item => key === item.id)
|
|
|
if (target) {
|
|
|
- target[column] = value;
|
|
|
- this.dataSource = newData;
|
|
|
+ target[column] = value
|
|
|
+ this.dataSource = newData
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ add(record) {
|
|
|
+ console.log(record)
|
|
|
+ let roomInfoList = []
|
|
|
+ var vipIndex = this.payTypeList.findIndex((t) => t.name.includes('会员'))
|
|
|
+ var danweiIndex = this.payTypeList.findIndex((t) => t.name.includes('单位'))
|
|
|
+ record.forEach(e => {
|
|
|
+ let roomInfo = {
|
|
|
+ roomName: e.roomName,
|
|
|
+ roomId: e.roomId,
|
|
|
+ customerName: e.livingCustomers[0].customerName,
|
|
|
+ vipCustomerId: e.livingOrder.vipCustomerId,
|
|
|
+ contractTeamId: e.livingOrder.contractTeamId,
|
|
|
+ livingOrderId: e.livingOrder.id,
|
|
|
+ payTypeList: []
|
|
|
+ }
|
|
|
+ let payTypeList = JSON.parse(JSON.stringify(this.payTypeList))
|
|
|
+ this.$set(payTypeList[vipIndex], 'disable', e.livingOrder.vipCustomerId == null || e.livingOrder.vipCustomerId === '')
|
|
|
+ this.$set(payTypeList[danweiIndex], 'disable', e.livingOrder.contractTeamId == null || e.livingOrder.contractTeamId == '')
|
|
|
+ roomInfo.payTypeList = payTypeList
|
|
|
+ roomInfoList.push(roomInfo)
|
|
|
+ })
|
|
|
+ this.roomsList = roomInfoList
|
|
|
+ console.log(this.roomsList)
|
|
|
+ },
|
|
|
edit(key) {
|
|
|
- const newData = [...this.dataSource];
|
|
|
- const target = newData.find(item => key === item.id);
|
|
|
- this.editingKey = key;
|
|
|
+ const newData = [...this.dataSource]
|
|
|
+
|
|
|
+ const target = newData.find(item => key === item.id)
|
|
|
+ this.editingKey = key
|
|
|
if (target) {
|
|
|
- target.editable = true;
|
|
|
- this.dataSource = newData;
|
|
|
+ console.log(this.roomsList)
|
|
|
+ let find = this.roomsList.find(
|
|
|
+ (t) => t.livingOrderId === target.livingOrderId
|
|
|
+ )
|
|
|
+ console.log(find)
|
|
|
+ this.$set(target, 'payTypeList', find.payTypeList)
|
|
|
+ target.editable = true
|
|
|
+ this.dataSource = newData
|
|
|
}
|
|
|
},
|
|
|
save(key) {
|
|
|
- const that = this;
|
|
|
- const newData = [...this.dataSource];
|
|
|
- const newCacheData = [...this.dataSourceCopy];
|
|
|
- const target = newData.find(item => key === item.id);
|
|
|
- const targetCache = newCacheData.find(item => key === item.id);
|
|
|
+ const that = this
|
|
|
+ const newData = [...this.dataSource]
|
|
|
+ const newCacheData = [...this.dataSourceCopy]
|
|
|
+ const target = newData.find(item => key === item.id)
|
|
|
+ const targetCache = newCacheData.find(item => key === item.id)
|
|
|
+ console.log(this.dataSource)
|
|
|
if (!target.goodsId) {
|
|
|
- that.$message.warning("请选择物品");
|
|
|
+ that.$message.warning('请选择物品')
|
|
|
return
|
|
|
}
|
|
|
if (!target.num) {
|
|
|
- that.$message.warning("请输入数量");
|
|
|
+ that.$message.warning('请输入数量')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (target.deposit == null) {
|
|
|
+ that.$message.warning('请输入押金')
|
|
|
return
|
|
|
}
|
|
|
- if (!target.deposit) {
|
|
|
- that.$message.warning("请输入押金");
|
|
|
+ if (target.deposit !== 0 && target.payType == null) {
|
|
|
+ that.$message.warning('请选择支付方式')
|
|
|
return
|
|
|
}
|
|
|
if (target && targetCache) {
|
|
|
- delete target.editable;
|
|
|
- this.dataSource = newData;
|
|
|
- Object.assign(targetCache, target);
|
|
|
- this.dataSourceCopy = newCacheData;
|
|
|
+ delete target.editable
|
|
|
+ this.dataSource = newData
|
|
|
+ Object.assign(targetCache, target)
|
|
|
+ this.dataSourceCopy = newCacheData
|
|
|
}
|
|
|
- that.loading = true;
|
|
|
- let httpurl = "";
|
|
|
- let method = "";
|
|
|
+ that.loading = true
|
|
|
+ let httpurl = ''
|
|
|
+ let method = ''
|
|
|
if (!target.id || target.id == 9999) {
|
|
|
- httpurl += '/order/cesOrderLeaseGoods/add';
|
|
|
- method = "post";
|
|
|
+ httpurl += '/order/cesOrderLeaseGoods/add'
|
|
|
+ method = 'post'
|
|
|
} else {
|
|
|
- httpurl += '/order/cesOrderLeaseGoods/edit';
|
|
|
- method = "put";
|
|
|
+ httpurl += '/order/cesOrderLeaseGoods/edit'
|
|
|
+ method = 'put'
|
|
|
}
|
|
|
- if (target.id==9999) {
|
|
|
+ if (target.id == 9999) {
|
|
|
delete target.id
|
|
|
+ delete target.payTypeList
|
|
|
}
|
|
|
httpAction(httpurl, target, method)
|
|
|
.then((res) => {
|
|
|
if (res.success) {
|
|
|
- that.$message.success(res.message);
|
|
|
+ that.$message.success(res.message)
|
|
|
// that.$emit("ok");
|
|
|
// 新增/修改 成功时,重载列表
|
|
|
- this.loadData();
|
|
|
- //清空列表选中
|
|
|
+ this.loadData()
|
|
|
+ // 清空列表选中
|
|
|
this.onClearSelected()
|
|
|
} else {
|
|
|
- that.$message.warning(res.message);
|
|
|
+ that.$message.warning(res.message)
|
|
|
}
|
|
|
})
|
|
|
.finally(() => {
|
|
|
- that.loading = false;
|
|
|
+ that.loading = false
|
|
|
this.isAddOk = true
|
|
|
- });
|
|
|
- console.log("target", target);
|
|
|
- this.editingKey = '';
|
|
|
+ })
|
|
|
+ console.log('target', target)
|
|
|
+ this.editingKey = ''
|
|
|
},
|
|
|
cancel(key) {
|
|
|
- const newData = [...this.dataSource];
|
|
|
- const target = newData.find(item => key === item.id);
|
|
|
- this.editingKey = '';
|
|
|
+ const newData = [...this.dataSource]
|
|
|
+ const target = newData.find(item => key === item.id)
|
|
|
+ this.editingKey = ''
|
|
|
if (target) {
|
|
|
- Object.assign(target, this.dataSourceCopy.find(item => key === item.id));
|
|
|
- delete target.editable;
|
|
|
- this.dataSource = newData;
|
|
|
+ Object.assign(target, this.dataSourceCopy.find(item => key === item.id))
|
|
|
+ delete target.editable
|
|
|
+ this.dataSource = newData
|
|
|
}
|
|
|
if (target.id == 9999) {
|
|
|
this.dataSource.pop()
|
|
|
- this.isAddOk = true;
|
|
|
+ this.isAddOk = true
|
|
|
}
|
|
|
this.loadData()
|
|
|
},
|
|
|
-
|
|
|
+ submitForm() {
|
|
|
+ console.log(this.dataSource)
|
|
|
+ if (this.dataSource.some(e => e.id === 9999 && (!e.goodsId || !e.num || e.deposit == null))) {
|
|
|
+ this.$message.warning('请先补全数据')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let params = []
|
|
|
+ this.dataSource.forEach(e => {
|
|
|
+ if (e.id === 9999) {
|
|
|
+ let target = Object.assign({}, e)
|
|
|
+ delete target.id
|
|
|
+ delete target.editable
|
|
|
+ params.push(target)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (params.length === 0) {
|
|
|
+ this.$emit('ok')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.loading = true
|
|
|
+ postAction('/order/cesOrderLeaseGoods/addBatch', params)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.success) {
|
|
|
+ this.$message.success(res.message)
|
|
|
+ this.$emit('ok')
|
|
|
+ } else {
|
|
|
+ this.$message.warning(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
handleAdd() {
|
|
|
- var id = null;
|
|
|
- console.log("this.livingOrderId", this.livingOrderId);
|
|
|
+ var id = null
|
|
|
+ console.log('this.livingOrderId', this.livingOrderId)
|
|
|
if (this.livingOrderId) {
|
|
|
- var ids = this.livingOrderId.split(",");
|
|
|
- id = ids[0];
|
|
|
+ var ids = this.livingOrderId.split(',')
|
|
|
+ id = ids[0]
|
|
|
}
|
|
|
// this.$refs.modalForm.add(id);
|
|
|
// this.$refs.modalForm.title = "新增";
|
|
|
// this.$refs.modalForm.disableSubmit = false;
|
|
|
// return
|
|
|
+ console.log(this.roomsList)
|
|
|
let find = this.roomsList.find(
|
|
|
(t) => t.livingOrderId === id
|
|
|
- );
|
|
|
+ )
|
|
|
+ debugger
|
|
|
let roomId = find.roomId
|
|
|
this.dataSource.push({
|
|
|
- id:9999,
|
|
|
+ id: 9999,
|
|
|
livingOrderId: id,
|
|
|
relay: 1,
|
|
|
editable: true,
|
|
|
- hotelId:JSON.parse(localStorage.getItem("storeInfo")).id,
|
|
|
- roomId:roomId,
|
|
|
+ hotelId: JSON.parse(localStorage.getItem('storeInfo')).id,
|
|
|
+ roomId: roomId,
|
|
|
+ deposit: 0,
|
|
|
+ num: 1,
|
|
|
+ payTypeList: find.payTypeList
|
|
|
})
|
|
|
- this.isAddOk = false;
|
|
|
- this.editingKey = 9999;
|
|
|
+ this.isAddOk = false
|
|
|
+ this.editingKey = 9999
|
|
|
},
|
|
|
onChange(e, dateString) {
|
|
|
- this.queryParam.startTime = dateString[0];
|
|
|
- this.queryParam.endTime = dateString[1];
|
|
|
+ this.queryParam.startTime = dateString[0]
|
|
|
+ this.queryParam.endTime = dateString[1]
|
|
|
},
|
|
|
handleRevert(id) {
|
|
|
- var that = this;
|
|
|
- postAction("/order/cesOrderLeaseGoods/revert", { id: id }).then((res) => {
|
|
|
- if (res.success) {
|
|
|
- that.$message.success(res.message);
|
|
|
- that.loadData();
|
|
|
- } else {
|
|
|
- that.$message.warning(res.message);
|
|
|
- }
|
|
|
- });
|
|
|
+ var that = this
|
|
|
+ this.$confirm({
|
|
|
+ title: '提示',
|
|
|
+ content: '是否归还押金?',
|
|
|
+ onOk() {
|
|
|
+ postAction('/order/cesOrderLeaseGoods/revert?returnDeposit=true', { id: id }).then((res) => {
|
|
|
+ if (res.success) {
|
|
|
+ that.$message.success(res.message)
|
|
|
+ that.loadData()
|
|
|
+ } else {
|
|
|
+ that.$message.warning(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // onCancel() {
|
|
|
+ // postAction('/order/cesOrderLeaseGoods/revert?returnDeposit=false', { id: id }).then((res) => {
|
|
|
+ // if (res.success) {
|
|
|
+ // that.$message.success(res.message)
|
|
|
+ // that.loadData()
|
|
|
+ // } else {
|
|
|
+ // that.$message.warning(res.message)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ })
|
|
|
},
|
|
|
initDictConfig() {},
|
|
|
getSuperFieldList() {
|
|
|
- let fieldList = [];
|
|
|
- fieldList.push({ type: "string", value: "tenantId", text: "关联租户" });
|
|
|
- fieldList.push({ type: "string", value: "hotelId", text: "关联酒店" });
|
|
|
- fieldList.push({ type: "int", value: "userId", text: "用户ID" });
|
|
|
+ let fieldList = []
|
|
|
+ fieldList.push({ type: 'string', value: 'tenantId', text: '关联租户' })
|
|
|
+ fieldList.push({ type: 'string', value: 'hotelId', text: '关联酒店' })
|
|
|
+ fieldList.push({ type: 'int', value: 'userId', text: '用户ID' })
|
|
|
fieldList.push({
|
|
|
- type: "int",
|
|
|
- value: "messageType",
|
|
|
- text: "留言类型 1 投诉 2建议",
|
|
|
- });
|
|
|
- fieldList.push({ type: "string", value: "images", text: "图片逗号分隔" });
|
|
|
- fieldList.push({ type: "string", value: "contentBody", text: "内容" });
|
|
|
- fieldList.push({ type: "string", value: "userName", text: "姓名" });
|
|
|
- fieldList.push({ type: "string", value: "userMobile", text: "手机号" });
|
|
|
- fieldList.push({ type: "string", value: "roomNo", text: "房号" });
|
|
|
- fieldList.push({ type: "date", value: "createDate", text: "创建时间" });
|
|
|
- this.superFieldList = fieldList;
|
|
|
+ type: 'int',
|
|
|
+ value: 'messageType',
|
|
|
+ text: '留言类型 1 投诉 2建议'
|
|
|
+ })
|
|
|
+ fieldList.push({ type: 'string', value: 'images', text: '图片逗号分隔' })
|
|
|
+ fieldList.push({ type: 'string', value: 'contentBody', text: '内容' })
|
|
|
+ fieldList.push({ type: 'string', value: 'userName', text: '姓名' })
|
|
|
+ fieldList.push({ type: 'string', value: 'userMobile', text: '手机号' })
|
|
|
+ fieldList.push({ type: 'string', value: 'roomNo', text: '房号' })
|
|
|
+ fieldList.push({ type: 'date', value: 'createDate', text: '创建时间' })
|
|
|
+ this.superFieldList = fieldList
|
|
|
},
|
|
|
loadData(arg) {
|
|
|
- if (this.url.list==2) {
|
|
|
+ if (this.url.list == 2) {
|
|
|
return
|
|
|
}
|
|
|
- if(!this.url.list){
|
|
|
- this.$message.error("请设置url.list属性!")
|
|
|
+ if (!this.url.list) {
|
|
|
+ this.$message.error('请设置url.list属性!')
|
|
|
return
|
|
|
}
|
|
|
- //加载数据 若传入参数1则加载第一页的内容
|
|
|
+ // 加载数据 若传入参数1则加载第一页的内容
|
|
|
if (arg === 1) {
|
|
|
- this.ipagination.current = 1;
|
|
|
+ this.ipagination.current = 1
|
|
|
}
|
|
|
- var params = this.getQueryParams();//查询条件
|
|
|
- this.loading = true;
|
|
|
+ var params = this.getQueryParams()// 查询条件
|
|
|
+ this.loading = true
|
|
|
getAction(this.url.list, params).then((res) => {
|
|
|
if (res.success) {
|
|
|
- //update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
- this.dataSource = res.result.records||res.result;
|
|
|
- this.dataSourceCopy = res.result.records||res.result
|
|
|
- if(res.result.total)
|
|
|
- {
|
|
|
- this.ipagination.total = res.result.total;
|
|
|
- }else{
|
|
|
- this.ipagination.total = 0;
|
|
|
+ // update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
+ this.dataSource = res.result.records || res.result
|
|
|
+ this.dataSourceCopy = res.result.records || res.result
|
|
|
+ if (res.result.total) {
|
|
|
+ this.ipagination.total = res.result.total
|
|
|
+ } else {
|
|
|
+ this.ipagination.total = 0
|
|
|
}
|
|
|
- //update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
- }else{
|
|
|
+ // update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
+ } else {
|
|
|
this.$message.warning(res.message)
|
|
|
}
|
|
|
}).finally(() => {
|
|
|
this.loading = false
|
|
|
})
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
@import "~@assets/less/common.less";
|