浏览代码

客人留言/客人物品管理

gqx 2 年之前
父节点
当前提交
8d07b40cc5

+ 229 - 200
src/views/room/membergoodsmanage.vue

@@ -4,6 +4,31 @@
     <div class="table-page-search-wrapper">
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
         <a-row :gutter="24">
+          <a-col :span="3">
+            <a-form-item label="">
+              <a-input
+                placeholder="姓名"
+                v-model="queryParam.userName"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <span
+              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="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+                >重置</a-button
+              > -->
+            </span>
+          </a-col>
         </a-row>
         </a-row>
       </a-form>
       </a-form>
     </div>
     </div>
@@ -12,256 +37,260 @@
     <!-- 操作按钮区域 -->
     <!-- 操作按钮区域 -->
     <div class="table-operator">
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
       <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('bus_member_goods_manage')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <!-- 高级查询区域 -->
-      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
     </div>
     </div>
 
 
     <!-- table区域-begin -->
     <!-- table区域-begin -->
     <div>
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
       <a-table
       <a-table
         ref="table"
         ref="table"
         size="middle"
         size="middle"
-        :scroll="{x:true}"
+        :scroll="{ x: true }"
         bordered
         bordered
         rowKey="id"
         rowKey="id"
         :columns="columns"
         :columns="columns"
         :dataSource="dataSource"
         :dataSource="dataSource"
         :pagination="ipagination"
         :pagination="ipagination"
         :loading="loading"
         :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        :rowSelection="{
+          selectedRowKeys: selectedRowKeys,
+          onChange: onSelectChange,
+        }"
         class="j-table-force-nowrap"
         class="j-table-force-nowrap"
-        @change="handleTableChange">
-
+        @change="handleTableChange"
+      >
         <template slot="htmlSlot" slot-scope="text">
         <template slot="htmlSlot" slot-scope="text">
           <div v-html="text"></div>
           <div v-html="text"></div>
         </template>
         </template>
-        <template slot="imgSlot" slot-scope="text,record">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        <template slot="imgSlot" slot-scope="text, record">
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无图片</span
+          >
+          <img
+            v-else
+            :src="getImgView(text)"
+            :preview="record.id"
+            height="25px"
+            alt=""
+            style="max-width: 80px; font-size: 12px; font-style: italic"
+          />
         </template>
         </template>
         <template slot="fileSlot" slot-scope="text">
         <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无文件</span
+          >
           <a-button
           <a-button
             v-else
             v-else
             :ghost="true"
             :ghost="true"
             type="primary"
             type="primary"
             icon="download"
             icon="download"
             size="small"
             size="small"
-            @click="downloadFile(text)">
+            @click="downloadFile(text)"
+          >
             下载
             下载
           </a-button>
           </a-button>
         </template>
         </template>
 
 
         <span slot="action" slot-scope="text, record">
         <span slot="action" slot-scope="text, record">
+          <template v-if="!record.receiverUser">
+            <a @click="receiver(record)">领取</a>
+
+            <a-divider type="vertical" />
+          </template>
           <a @click="handleEdit(record)">编辑</a>
           <a @click="handleEdit(record)">编辑</a>
 
 
           <a-divider type="vertical" />
           <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">详情</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
+          <a-popconfirm
+            title="确定删除吗?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>删除</a>
+          </a-popconfirm>
         </span>
         </span>
-
       </a-table>
       </a-table>
     </div>
     </div>
 
 
-    <bus-member-goods-manage-modal ref="modalForm" @ok="modalFormOk"></bus-member-goods-manage-modal>
+    <bus-member-goods-manage-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></bus-member-goods-manage-modal>
+
+    <customer-modal ref="modalCustomerForm" @ok="modalFormOk"></customer-modal>
   </a-card>
   </a-card>
 </template>
 </template>
 
 
 <script>
 <script>
-
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import BusMemberGoodsManageModal from './modules/membergoodsmanage/BusMemberGoodsManageModal'
-
-  export default {
-    name: 'BusMemberGoodsManageList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      BusMemberGoodsManageModal
-    },
-    data () {
-      return {
-        description: 'bus_member_goods_manage管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'关联租户',
-            align:"center",
-            dataIndex: 'tenantId'
-          },
-          {
-            title:'关联酒店',
-            align:"center",
-            dataIndex: 'hotelId'
-          },
-          {
-            title:'物品类型',
-            align:"center",
-            dataIndex: 'goodsType'
-          },
-          {
-            title:'物品名称',
-            align:"center",
-            dataIndex: 'goodsName'
-          },
-          {
-            title:'参考价值',
-            align:"center",
-            dataIndex: 'reference Value'
-          },
-          {
-            title:'客人类型',
-            align:"center",
-            dataIndex: 'customerType'
-          },
-          {
-            title:'入住订单id',
-            align:"center",
-            dataIndex: 'livingOrderId'
-          },
-          {
-            title:'房号号',
-            align:"center",
-            dataIndex: 'roomNo'
-          },
-          {
-            title:'客人姓名',
-            align:"center",
-            dataIndex: 'customerName'
-          },
-          {
-            title:'电话',
-            align:"center",
-            dataIndex: 'mobile'
-          },
-          {
-            title:'登记单号',
-            align:"center",
-            dataIndex: 'orderNo'
+import "@/assets/less/TableExpand.less";
+import { mixinDevice } from "@/utils/mixin";
+import { JeecgListMixin } from "@/mixins/JeecgListMixin";
+import BusMemberGoodsManageModal from "./modules/membergoodsmanage/BusMemberGoodsManageModal";
+import CustomerModal from "./modules/membergoodsmanage/CustomerModal";
+export default {
+  name: "BusMemberGoodsManageList",
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    BusMemberGoodsManageModal,
+    CustomerModal,
+  },
+  data() {
+    return {
+      description: "bus_member_goods_manage管理页面",
+      // 表头
+      columns: [
+        {
+          title: "物品类型",
+          align: "center",
+          dataIndex: "goodsType",
+          customRender: function (text) {
+            return text == 1 ? "贵重物品" : "遗失物品";
           },
           },
-          {
-            title:'备注',
-            align:"center",
-            dataIndex: 'remark'
-          },
-          {
-            title:'创建时间',
-            align:"center",
-            dataIndex: 'createDate',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
+        },
+        {
+          title: "物品名称",
+          align: "center",
+          dataIndex: "goodsName",
+        },
+        {
+          title: "参考价值",
+          align: "center",
+          dataIndex: "referenceValue",
+        },
+        {
+          title: "客人类型",
+          align: "center",
+          dataIndex: "customerType",
+          customRender: function (text) {
+            var msg = "";
+            if (text == 1) {
+              msg = "在住客人";
+            } else if (text == 2) {
+              msg = "离店客人";
+            } else {
+              msg = "其他";
             }
             }
+            return msg;
           },
           },
-          {
-            title:'创建人',
-            align:"center",
-            dataIndex: 'createUser'
-          },
-          {
-            title:'领取人',
-            align:"center",
-            dataIndex: 'receiverUser'
+        },
+        {
+          title: "房号",
+          align: "center",
+          dataIndex: "roomNo",
+        },
+        {
+          title: "客人姓名",
+          align: "center",
+          dataIndex: "customerName",
+        },
+        {
+          title: "电话",
+          align: "center",
+          dataIndex: "mobile",
+        },
+        {
+          title: "登记单号",
+          align: "center",
+          dataIndex: "orderNo",
+        },
+        {
+          title: "备注",
+          align: "center",
+          dataIndex: "remark",
+        },
+        {
+          title: "存放时间",
+          align: "center",
+          dataIndex: "createDate",
+          customRender: function (text) {
+            return !text ? "" : text.length > 10 ? text.substr(0, 10) : text;
           },
           },
-          {
-            title:'领取时间',
-            align:"center",
-            dataIndex: 'receiverDate',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
+        },
+        {
+          title: "存放操作员",
+          align: "center",
+          dataIndex: "createUser",
+        },
+        {
+          title: "领取人",
+          align: "center",
+          dataIndex: "receiverUser",
+        },
+        {
+          title: "领取时间",
+          align: "center",
+          dataIndex: "receiverDate",
+          customRender: function (text) {
+            return !text ? "" : text.length > 10 ? text.substr(0, 10) : text;
           },
           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
-          }
-        ],
-        url: {
-          list: "/business/busMemberGoodsManage/list",
-          delete: "/business/busMemberGoodsManage/delete",
-          deleteBatch: "/business/busMemberGoodsManage/deleteBatch",
-          exportXlsUrl: "/business/busMemberGoodsManage/exportXls",
-          importExcelUrl: "business/busMemberGoodsManage/importExcel",
-          
         },
         },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
+        {
+          title: "操作",
+          dataIndex: "action",
+          align: "center",
+          fixed: "right",
+          width: 147,
+          scopedSlots: { customRender: "action" },
+        },
+      ],
+      url: {
+        list: "/business/busMemberGoodsManage/list",
+        delete: "/business/busMemberGoodsManage/delete",
+        deleteBatch: "/business/busMemberGoodsManage/deleteBatch",
+        exportXlsUrl: "/business/busMemberGoodsManage/exportXls",
+        importExcelUrl: "business/busMemberGoodsManage/importExcel",
+      },
+      dictOptions: {},
+      superFieldList: [],
+    };
+  },
+  created() {
     this.getSuperFieldList();
     this.getSuperFieldList();
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG["domianURL"]}/${this.url.importExcelUrl}`;
     },
     },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      },
+  },
+  methods: {
+    receiver(row) {
+      this.$refs.modalCustomerForm.edit(row);
+      this.$refs.modalCustomerForm.title = "领取";
+      this.$refs.modalCustomerForm.disableSubmit = false;
     },
     },
-    methods: {
-      initDictConfig(){
-      },
-      getSuperFieldList(){
-        let fieldList=[];
-        fieldList.push({type:'string',value:'tenantId',text:'关联租户'})
-        fieldList.push({type:'string',value:'hotelId',text:'关联酒店'})
-        fieldList.push({type:'int',value:'goodsType',text:'物品类型'})
-        fieldList.push({type:'string',value:'goodsName',text:'物品名称'})
-        fieldList.push({type:'string',value:'reference Value',text:'参考价值'})
-        fieldList.push({type:'int',value:'customerType',text:'客人类型'})
-        fieldList.push({type:'string',value:'livingOrderId',text:'入住订单id'})
-        fieldList.push({type:'string',value:'roomNo',text:'房号号'})
-        fieldList.push({type:'string',value:'customerName',text:'客人姓名'})
-        fieldList.push({type:'string',value:'mobile',text:'电话'})
-        fieldList.push({type:'string',value:'orderNo',text:'登记单号'})
-        fieldList.push({type:'string',value:'remark',text:'备注'})
-        fieldList.push({type:'date',value:'createDate',text:'创建时间'})
-        fieldList.push({type:'string',value:'createUser',text:'创建人'})
-        fieldList.push({type:'string',value:'receiverUser',text:'领取人'})
-        fieldList.push({type:'date',value:'receiverDate',text:'领取时间'})
-        this.superFieldList = fieldList
-      }
-    }
-  }
+    initDictConfig() {},
+    getSuperFieldList() {
+      let fieldList = [];
+      fieldList.push({ type: "string", value: "tenantId", text: "关联租户" });
+      fieldList.push({ type: "string", value: "hotelId", text: "关联酒店" });
+      fieldList.push({ type: "int", value: "goodsType", text: "物品类型" });
+      fieldList.push({ type: "string", value: "goodsName", text: "物品名称" });
+      fieldList.push({
+        type: "string",
+        value: "reference Value",
+        text: "参考价值",
+      });
+      fieldList.push({ type: "int", value: "customerType", text: "客人类型" });
+      fieldList.push({
+        type: "string",
+        value: "livingOrderId",
+        text: "入住订单id",
+      });
+      fieldList.push({ type: "string", value: "roomNo", text: "房号号" });
+      fieldList.push({
+        type: "string",
+        value: "customerName",
+        text: "客人姓名",
+      });
+      fieldList.push({ type: "string", value: "mobile", text: "电话" });
+      fieldList.push({ type: "string", value: "orderNo", text: "登记单号" });
+      fieldList.push({ type: "string", value: "remark", text: "备注" });
+      fieldList.push({ type: "date", value: "createDate", text: "创建时间" });
+      fieldList.push({ type: "string", value: "createUser", text: "创建人" });
+      fieldList.push({ type: "string", value: "receiverUser", text: "领取人" });
+      fieldList.push({ type: "date", value: "receiverDate", text: "领取时间" });
+      this.superFieldList = fieldList;
+    },
+  },
+};
 </script>
 </script>
 <style scoped>
 <style scoped>
-  @import '~@assets/less/common.less';
+@import "~@assets/less/common.less";
 </style>
 </style>

+ 186 - 166
src/views/room/membermessage.vue

@@ -4,6 +4,39 @@
     <div class="table-page-search-wrapper">
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
         <a-row :gutter="24">
+          <a-col :span="3">
+            <a-form-item label="">
+              <a-input placeholder="姓名" v-model="queryParam.userName"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-item label="">
+              <a-range-picker
+                format="YYYY-MM-DD"
+                :placeholder="['提醒开始日期', '提醒结束日期']"
+                @change="onChange"
+                v-model="datetime"
+                :allowClear="false"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <span
+              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="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+                >重置</a-button
+              > -->
+            </span>
+          </a-col>
         </a-row>
         </a-row>
       </a-form>
       </a-form>
     </div>
     </div>
@@ -12,57 +45,57 @@
     <!-- 操作按钮区域 -->
     <!-- 操作按钮区域 -->
     <div class="table-operator">
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
       <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('bus_member_message')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <!-- 高级查询区域 -->
-      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
+      
     </div>
     </div>
 
 
     <!-- table区域-begin -->
     <!-- table区域-begin -->
     <div>
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
 
 
       <a-table
       <a-table
         ref="table"
         ref="table"
         size="middle"
         size="middle"
-        :scroll="{x:true}"
+        :scroll="{ x: true }"
         bordered
         bordered
         rowKey="id"
         rowKey="id"
         :columns="columns"
         :columns="columns"
         :dataSource="dataSource"
         :dataSource="dataSource"
         :pagination="ipagination"
         :pagination="ipagination"
         :loading="loading"
         :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        :rowSelection="{
+          selectedRowKeys: selectedRowKeys,
+          onChange: onSelectChange,
+        }"
         class="j-table-force-nowrap"
         class="j-table-force-nowrap"
-        @change="handleTableChange">
-
+        @change="handleTableChange"
+      >
         <template slot="htmlSlot" slot-scope="text">
         <template slot="htmlSlot" slot-scope="text">
           <div v-html="text"></div>
           <div v-html="text"></div>
         </template>
         </template>
-        <template slot="imgSlot" slot-scope="text,record">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        <template slot="imgSlot" slot-scope="text, record">
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无图片</span
+          >
+          <img
+            v-else
+            :src="getImgView(text)"
+            :preview="record.id"
+            height="25px"
+            alt=""
+            style="max-width: 80px; font-size: 12px; font-style: italic"
+          />
         </template>
         </template>
         <template slot="fileSlot" slot-scope="text">
         <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无文件</span
+          >
           <a-button
           <a-button
             v-else
             v-else
             :ghost="true"
             :ghost="true"
             type="primary"
             type="primary"
             icon="download"
             icon="download"
             size="small"
             size="small"
-            @click="downloadFile(text)">
+            @click="downloadFile(text)"
+          >
             下载
             下载
           </a-button>
           </a-button>
         </template>
         </template>
@@ -71,164 +104,151 @@
           <a @click="handleEdit(record)">编辑</a>
           <a @click="handleEdit(record)">编辑</a>
 
 
           <a-divider type="vertical" />
           <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">详情</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
+          <a-popconfirm
+            title="确定删除吗?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>删除</a>
+          </a-popconfirm>
         </span>
         </span>
-
       </a-table>
       </a-table>
     </div>
     </div>
 
 
-    <bus-member-message-modal ref="modalForm" @ok="modalFormOk"></bus-member-message-modal>
+    <bus-member-message-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></bus-member-message-modal>
   </a-card>
   </a-card>
 </template>
 </template>
 
 
 <script>
 <script>
+import "@/assets/less/TableExpand.less";
+import { mixinDevice } from "@/utils/mixin";
+import { JeecgListMixin } from "@/mixins/JeecgListMixin";
+import BusMemberMessageModal from "./modules/membermessage/BusMemberMessageModal";
 
 
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import BusMemberMessageModal from './modules/membermessage/BusMemberMessageModal'
-
-  export default {
-    name: 'BusMemberMessageList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      BusMemberMessageModal
-    },
-    data () {
-      return {
-        description: 'bus_member_message管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'关联租户',
-            align:"center",
-            dataIndex: 'tenantId'
-          },
-          {
-            title:'关联酒店',
-            align:"center",
-            dataIndex: 'hotelId'
-          },
-          {
-            title:'房号id',
-            align:"center",
-            dataIndex: 'roomId'
-          },
-          {
-            title:'入住订单id',
-            align:"center",
-            dataIndex: 'livingOrderId'
-          },
-          {
-            title:'留言人',
-            align:"center",
-            dataIndex: 'userName'
-          },
-          {
-            title:'自动提醒时间',
-            align:"center",
-            dataIndex: 'remindDate',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
-          },
-          {
-            title:'有效时间',
-            align:"center",
-            dataIndex: 'validDate',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
+export default {
+  name: "BusMemberMessageList",
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    BusMemberMessageModal,
+  },
+  data() {
+    return {
+      description: "bus_member_message管理页面",
+      // 表头
+      columns: [
+        {
+          title: "房号",
+          align: "center",
+          dataIndex: "roomNo",
+        },
+        {
+          title: "留言人",
+          align: "center",
+          dataIndex: "userName",
+        },
+        {
+          title: "自动提醒时间",
+          align: "center",
+          dataIndex: "remindDate",
+          customRender: function (text) {
+            return !text ? "" : text.length > 10 ? text.substr(0, 10) : text;
           },
           },
-          {
-            title:'是否传达',
-            align:"center",
-            dataIndex: 'relay'
+        },
+        {
+          title: "有效时间",
+          align: "center",
+          dataIndex: "validDate",
+          customRender: function (text) {
+            return !text ? "" : text.length > 10 ? text.substr(0, 10) : text;
           },
           },
-          {
-            title:'留言内容',
-            align:"center",
-            dataIndex: 'contentBody'
+        },
+        {
+          title: "是否传达",
+          align: "center",
+          dataIndex: "relay",
+          customRender: function (text) {
+            return !text ? "否" : "是";
           },
           },
-          {
-            title:'创建时间',
-            align:"center",
-            dataIndex: 'createDate',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
+        },
+        {
+          title: "留言内容",
+          align: "center",
+          dataIndex: "contentBody",
+        },
+        {
+          title: "创建时间",
+          align: "center",
+          dataIndex: "createDate",
+          customRender: function (text) {
+            return !text ? "" : text.length > 10 ? text.substr(0, 10) : text;
           },
           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
-          }
-        ],
-        url: {
-          list: "/business/busMemberMessage/list",
-          delete: "/business/busMemberMessage/delete",
-          deleteBatch: "/business/busMemberMessage/deleteBatch",
-          exportXlsUrl: "/business/busMemberMessage/exportXls",
-          importExcelUrl: "business/busMemberMessage/importExcel",
-          
         },
         },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
+        {
+          title: "操作",
+          dataIndex: "action",
+          align: "center",
+          fixed: "right",
+          width: 147,
+          scopedSlots: { customRender: "action" },
+        },
+      ],
+      url: {
+        list: "/business/busMemberMessage/list",
+        delete: "/business/busMemberMessage/delete",
+        deleteBatch: "/business/busMemberMessage/deleteBatch",
+        exportXlsUrl: "/business/busMemberMessage/exportXls",
+        importExcelUrl: "business/busMemberMessage/importExcel",
+      },
+      dictOptions: {},
+      superFieldList: [],
+      datetime: [],
+    };
+  },
+  created() {
     this.getSuperFieldList();
     this.getSuperFieldList();
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG["domianURL"]}/${this.url.importExcelUrl}`;
     },
     },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      },
+  },
+  methods: {
+    onChange(e, dateString) {
+      this.queryParam.startTime = dateString[0];
+      this.queryParam.endTime = dateString[1];
     },
     },
-    methods: {
-      initDictConfig(){
-      },
-      getSuperFieldList(){
-        let fieldList=[];
-        fieldList.push({type:'string',value:'tenantId',text:'关联租户'})
-        fieldList.push({type:'string',value:'hotelId',text:'关联酒店'})
-        fieldList.push({type:'string',value:'roomId',text:'房号id'})
-        fieldList.push({type:'string',value:'livingOrderId',text:'入住订单id'})
-        fieldList.push({type:'string',value:'userName',text:'留言人'})
-        fieldList.push({type:'date',value:'remindDate',text:'自动提醒时间'})
-        fieldList.push({type:'date',value:'validDate',text:'有效时间'})
-        fieldList.push({type:'int',value:'relay',text:'是否传达'})
-        fieldList.push({type:'string',value:'contentBody',text:'留言内容'})
-        fieldList.push({type:'date',value:'createDate',text:'创建时间'})
-        this.superFieldList = fieldList
-      }
-    }
-  }
+    initDictConfig() {},
+    getSuperFieldList() {
+      let fieldList = [];
+      fieldList.push({ type: "string", value: "tenantId", text: "关联租户" });
+      fieldList.push({ type: "string", value: "hotelId", text: "关联酒店" });
+      fieldList.push({ type: "string", value: "roomId", text: "房号id" });
+      fieldList.push({
+        type: "string",
+        value: "livingOrderId",
+        text: "入住订单id",
+      });
+      fieldList.push({ type: "string", value: "userName", text: "留言人" });
+      fieldList.push({
+        type: "date",
+        value: "remindDate",
+        text: "自动提醒时间",
+      });
+      fieldList.push({ type: "date", value: "validDate", text: "有效时间" });
+      fieldList.push({ type: "int", value: "relay", text: "是否传达" });
+      fieldList.push({
+        type: "string",
+        value: "contentBody",
+        text: "留言内容",
+      });
+      fieldList.push({ type: "date", value: "createDate", text: "创建时间" });
+      this.superFieldList = fieldList;
+    },
+  },
+};
 </script>
 </script>
 <style scoped>
 <style scoped>
-  @import '~@assets/less/common.less';
+@import "~@assets/less/common.less";
 </style>
 </style>

+ 9 - 1
src/views/room/modules/checkIn/BillRoomForm.vue

@@ -1332,7 +1332,15 @@ export default {
     },
     },
     paymentTabsChange(e) {},
     paymentTabsChange(e) {},
     pulsFee() {
     pulsFee() {
-      this.data2.push({ id: this.data2.length });
+      var payType = this.payTypeList[0];
+      this.model.orderFees.push({
+        subjectType: 2,
+        subjectTypeLabel: "预收房费",
+        payType: payType ? payType.id : "",
+        payTypeLabel: payType ? payType.name : "",
+        receivable: 0,
+        money: 0,
+      });
     },
     },
     onCellChange(key, dataIndex, value) {
     onCellChange(key, dataIndex, value) {
       const dataSource = [...this.model.roomPrices];
       const dataSource = [...this.model.roomPrices];

+ 227 - 156
src/views/room/modules/membergoodsmanage/BusMemberGoodsManageForm.vue

@@ -1,86 +1,160 @@
 <template>
 <template>
   <a-spin :spinning="confirmLoading">
   <a-spin :spinning="confirmLoading">
     <j-form-container :disabled="formDisabled">
     <j-form-container :disabled="formDisabled">
-      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+        slot="detail"
+      >
         <a-row>
         <a-row>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="关联租户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId">
-              <a-input v-model="model.tenantId" placeholder="请输入关联租户"  ></a-input>
+            <a-form-model-item
+              label="物品类型"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="goodsType"
+            >
+              <a-select placeholder="请选择" v-model="model.goodsType">
+                <a-select-option :value="1"> 贵重物品 </a-select-option>
+                <a-select-option :value="2"> 遗失物品 </a-select-option>
+              </a-select>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="关联酒店" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hotelId">
-              <a-input v-model="model.hotelId" placeholder="请输入关联酒店"  ></a-input>
+            <a-form-model-item
+              label="物品名称"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="goodsName"
+            >
+              <a-input
+                v-model="model.goodsName"
+                placeholder="请输入物品名称"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="物品类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsType">
-              <a-input-number v-model="model.goodsType" placeholder="请输入物品类型" style="width: 100%" />
+            <a-form-model-item
+              label="参考价值"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="referenceValue"
+            >
+              <a-input
+                v-model="model.referenceValue"
+                placeholder="请输入参考价值"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="物品名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsName">
-              <a-input v-model="model.goodsName" placeholder="请输入物品名称"  ></a-input>
+            <a-form-model-item
+              label="客人类型"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="customerType"
+            >
+              <a-select placeholder="请选择" v-model="model.customerType">
+                <a-select-option :value="1"> 在住客人 </a-select-option>
+                <a-select-option :value="2"> 离店客人 </a-select-option>
+                <a-select-option :value="3"> 其他 </a-select-option>
+              </a-select>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="参考价值" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="referenceValue">
-              <a-input v-model="model.referenceValue" placeholder="请输入参考价值"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="客人类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="customerType">
-              <a-input-number v-model="model.customerType" placeholder="请输入客人类型" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="入住订单id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="livingOrderId">
-              <a-input v-model="model.livingOrderId" placeholder="请输入入住订单id"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="房号号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="roomNo">
-              <a-input v-model="model.roomNo" placeholder="请输入房号号"  ></a-input>
+          <a-col
+            :span="24"
+            v-if="model.customerType == 1 || model.customerType == 2"
+          >
+            <a-form-model-item
+              label="房号"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="roomId"
+            >
+              <a-select
+                v-model="model.roomId"
+                placeholder="请选择房号"
+                @change="roomChange"
+              >
+                <a-select-option
+                  :value="item.id"
+                  v-for="(item, index) in roomsList"
+                  :key="item.id"
+                >
+                  {{ item.name }}
+                </a-select-option>
+              </a-select>
+              <a-input
+                v-show="false"
+                v-model="model.roomNo"
+                placeholder="请输入房号"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="客人姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="customerName">
-              <a-input v-model="model.customerName" placeholder="请输入客人姓名"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mobile">
-              <a-input v-model="model.mobile" placeholder="请输入电话"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="登记单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNo">
-              <a-input v-model="model.orderNo" placeholder="请输入登记单号"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
-              <a-textarea v-model="model.remark" rows="4" placeholder="请输入备注" />
+          <a-col :span="24" v-else>
+            <a-form-model-item
+              label="房号"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="roomNo"
+            >
+              <a-input
+                v-model="model.roomNo"
+                placeholder="请输入房号"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createDate">
-              <j-date placeholder="请选择创建时间" v-model="model.createDate"  style="width: 100%" />
+            <a-form-model-item
+              label="客人姓名"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="customerName"
+            >
+              <a-input
+                v-model="model.customerName"
+                placeholder="请输入客人姓名"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="创建人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createUser">
-              <a-input v-model="model.createUser" placeholder="请输入创建人"  ></a-input>
+            <a-form-model-item
+              label="电话"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="mobile"
+            >
+              <a-input
+                v-model="model.mobile"
+                placeholder="请输入电话"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="领取人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiverUser">
-              <a-input v-model="model.receiverUser" placeholder="请输入领取人"  ></a-input>
+            <a-form-model-item
+              label="登记单号"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="orderNo"
+            >
+              <a-input
+                v-model="model.orderNo"
+                placeholder="请输入登记单号"
+              ></a-input>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
-            <a-form-model-item label="领取时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiverDate">
-              <j-date placeholder="请选择领取时间" v-model="model.receiverDate"  style="width: 100%" />
+            <a-form-model-item
+              label="备注"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="remark"
+            >
+              <a-textarea
+                v-model="model.remark"
+                rows="4"
+                placeholder="请输入备注"
+              />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
         </a-row>
         </a-row>
@@ -90,117 +164,114 @@
 </template>
 </template>
 
 
 <script>
 <script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
-
-  export default {
-    name: 'BusMemberGoodsManageForm',
-    components: {
+import { httpAction, getAction } from "@/api/manage";
+import { validateDuplicateValue } from "@/utils/util";
+export default {
+  name: "BusMemberGoodsManageForm",
+  components: {},
+  props: {
+    //表单禁用
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false,
     },
     },
-    props: {
-      //表单禁用
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
+  },
+  data() {
+    return {
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        tenantId: [{ required: true, message: "请输入关联租户!" }],
+        hotelId: [{ required: true, message: "请输入关联酒店!" }],
+        goodsType: [{ required: true, message: "请输入物品类型!" }],
+        goodsName: [{ required: true, message: "请输入物品名称!" }],
+        referenceValue: [{ required: true, message: "请输入参考价值!" }],
+        customerType: [{ required: true, message: "请输入客人类型!" }],
+        roomNo: [{ required: true, message: "请输入房号!" }],
+        roomId: [{ required: true, message: "请输入房号!" }],
+        customerName: [{ required: true, message: "请输入客人姓名!" }],
+        createDate: [{ required: true, message: "请输入创建时间!" }],
+      },
+      url: {
+        add: "/business/busMemberGoodsManage/add",
+        edit: "/business/busMemberGoodsManage/edit",
+        queryById: "/business/busMemberGoodsManage/queryById",
+      },
+      roomsList: [],
+    };
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled;
     },
     },
-    data () {
-      return {
-        model:{
-         },
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-           tenantId: [
-              { required: true, message: '请输入关联租户!'},
-           ],
-           hotelId: [
-              { required: true, message: '请输入关联酒店!'},
-           ],
-           goodsType: [
-              { required: true, message: '请输入物品类型!'},
-           ],
-           goodsName: [
-              { required: true, message: '请输入物品名称!'},
-           ],
-           referenceValue: [
-              { required: true, message: '请输入参考价值!'},
-           ],
-           customerType: [
-              { required: true, message: '请输入客人类型!'},
-           ],
-           roomNo: [
-              { required: true, message: '请输入房号号!'},
-           ],
-           customerName: [
-              { required: true, message: '请输入客人姓名!'},
-           ],
-           createDate: [
-              { required: true, message: '请输入创建时间!'},
-           ],
-        },
-        url: {
-          add: "/business/busMemberGoodsManage/add",
-          edit: "/business/busMemberGoodsManage/edit",
-          queryById: "/business/busMemberGoodsManage/queryById"
-        }
+  },
+  created() {
+    var _info = JSON.parse(localStorage.getItem("storeInfo"));
+    if (_info) {
+      this.model.hotelId = _info.id;
+    }
+    //备份model原始值
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    getAction("/rooms/cesRooms/list", {
+      pageNo: 1,
+      pageSize: 100,
+    }).then((res) => {
+      if (res.success) {
+        this.roomsList = res.result.records;
       }
       }
+    });
+  },
+  methods: {
+    roomChange(e) {
+      console.log(e);
+      this.model.roomNo = this.roomsList.find((t) => t.id == e).name;
     },
     },
-    computed: {
-      formDisabled(){
-        return this.disabled
-      },
+    add() {
+      this.edit(this.modelDefault);
     },
     },
-    created () {
-       //备份model原始值
-      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    edit(record) {
+      this.model = Object.assign({}, record);
+      this.visible = true;
     },
     },
-    methods: {
-      add () {
-        this.edit(this.modelDefault);
-      },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
-      },
-      submitForm () {
-        const that = this;
-        // 触发表单验证
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            httpAction(httpurl,this.model,method).then((res)=>{
-              if(res.success){
+    submitForm() {
+      const that = this;
+      // 触发表单验证
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          that.confirmLoading = true;
+          let httpurl = "";
+          let method = "";
+          if (!this.model.id) {
+            httpurl += this.url.add;
+            method = "post";
+          } else {
+            httpurl += this.url.edit;
+            method = "put";
+          }
+          httpAction(httpurl, this.model, method)
+            .then((res) => {
+              if (res.success) {
                 that.$message.success(res.message);
                 that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
+                that.$emit("ok");
+              } else {
                 that.$message.warning(res.message);
                 that.$message.warning(res.message);
               }
               }
-            }).finally(() => {
-              that.confirmLoading = false;
             })
             })
-          }
-         
-        })
-      },
-    }
-  }
+            .finally(() => {
+              that.confirmLoading = false;
+            });
+        }
+      });
+    },
+  },
+};
 </script>
 </script>

+ 125 - 0
src/views/room/modules/membergoodsmanage/CustomerForm.vue

@@ -0,0 +1,125 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+        slot="detail"
+      >
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item
+              label="领取人"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="receiverUser"
+            >
+              <a-input
+                v-model="model.receiverUser"
+                placeholder="请输入领取人"
+              ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+import { httpAction, getAction } from "@/api/manage";
+import { validateDuplicateValue } from "@/utils/util";
+
+export default {
+  name: "BusMemberCardForm",
+  components: {},
+  props: {
+    //表单禁用
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false,
+    },
+  },
+  data() {
+    return {
+      model: { payType: 1 },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        receiverUser: [{ required: true, message: "请输入领取人!" }],
+      },
+      url: {
+        add: "/business/busMemberGoodsManage/add",
+        edit: "/business/busMemberGoodsManage/edit",
+        queryById: "/business/busMemberGoodsManage/queryById",
+      },
+      gradeList: [],
+      paymentMethodList: [],
+      staffList: [],
+      customerList: [],
+      oldcustomerList: [],
+    };
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled;
+    },
+  },
+  created() {
+    var _info = JSON.parse(localStorage.getItem("storeInfo"));
+    if (_info) {
+      this.model.hotelId = _info.id;
+    }
+    //备份model原始值
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+  },
+  methods: {
+    add() {
+      this.edit(this.modelDefault);
+    },
+    edit(record) {
+      this.model = Object.assign({}, record);
+      this.visible = true;
+    },
+    submitForm() {
+      const that = this;
+      // 触发表单验证
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          that.confirmLoading = true;
+          let httpurl = "";
+          let method = "";
+          if (!this.model.id) {
+            httpurl += this.url.add;
+            method = "post";
+          } else {
+            httpurl += this.url.edit;
+            method = "put";
+          }
+          httpAction(httpurl, this.model, method)
+            .then((res) => {
+              if (res.success) {
+                that.$message.success(res.message);
+                that.$emit("ok");
+              } else {
+                that.$message.warning(res.message);
+              }
+            })
+            .finally(() => {
+              that.confirmLoading = false;
+            });
+        }
+      });
+    },
+  },
+};
+</script>

+ 60 - 0
src/views/room/modules/membergoodsmanage/CustomerModal.vue

@@ -0,0 +1,60 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭">
+    <bus-member-card-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></bus-member-card-form>
+  </j-modal>
+</template>
+
+<script>
+
+  import BusMemberCardForm from './CustomerForm'
+  export default {
+    name: 'BusMemberCardModal',
+    components: {
+      BusMemberCardForm
+    },
+    data () {
+      return {
+        title:'',
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+        this.$refs.realForm.submitForm();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>

+ 23 - 37
src/views/room/modules/membermessage/BusMemberMessageForm.vue

@@ -10,28 +10,20 @@
         <a-row>
         <a-row>
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item
             <a-form-model-item
-              label="房号id"
+              label="房号"
               :labelCol="labelCol"
               :labelCol="labelCol"
               :wrapperCol="wrapperCol"
               :wrapperCol="wrapperCol"
               prop="roomId"
               prop="roomId"
             >
             >
-              <a-input
-                v-model="model.roomId"
-                placeholder="请输入房号id"
-              ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item
-              label="入住订单id"
-              :labelCol="labelCol"
-              :wrapperCol="wrapperCol"
-              prop="livingOrderId"
-            >
-              <a-input
-                v-model="model.livingOrderId"
-                placeholder="请输入入住订单id"
-              ></a-input>
+              <a-select v-model="model.roomId" placeholder="请选择房号">
+                <a-select-option
+                  :value="item.id"
+                  v-for="(item, index) in roomsList"
+                  :key="item.id"
+                >
+                  {{ item.name }}
+                </a-select-option>
+              </a-select>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
@@ -82,11 +74,10 @@
               :wrapperCol="wrapperCol"
               :wrapperCol="wrapperCol"
               prop="relay"
               prop="relay"
             >
             >
-              <a-input-number
-                v-model="model.relay"
-                placeholder="请输入是否传达"
-                style="width: 100%"
-              />
+              <a-select placeholder="请选择" v-model="model.relay">
+                <a-select-option :value="1"> 是 </a-select-option>
+                <a-select-option :value="2"> 否 </a-select-option>
+              </a-select>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
@@ -103,20 +94,6 @@
               />
               />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
-          <a-col :span="24">
-            <a-form-model-item
-              label="创建时间"
-              :labelCol="labelCol"
-              :wrapperCol="wrapperCol"
-              prop="createDate"
-            >
-              <j-date
-                placeholder="请选择创建时间"
-                v-model="model.createDate"
-                style="width: 100%"
-              />
-            </a-form-model-item>
-          </a-col>
         </a-row>
         </a-row>
       </a-form-model>
       </a-form-model>
     </j-form-container>
     </j-form-container>
@@ -163,6 +140,7 @@ export default {
         edit: "/business/busMemberMessage/edit",
         edit: "/business/busMemberMessage/edit",
         queryById: "/business/busMemberMessage/queryById",
         queryById: "/business/busMemberMessage/queryById",
       },
       },
+      roomsList: [],
     };
     };
   },
   },
   computed: {
   computed: {
@@ -177,6 +155,14 @@ export default {
     }
     }
     //备份model原始值
     //备份model原始值
     this.modelDefault = JSON.parse(JSON.stringify(this.model));
     this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    getAction("/rooms/cesRooms/list", {
+      pageNo: 1,
+      pageSize: 100,
+    }).then((res) => {
+      if (res.success) {
+        this.roomsList = res.result.records;
+      }
+    });
   },
   },
   methods: {
   methods: {
     add() {
     add() {