MONSTER-ygh 1 yıl önce
ebeveyn
işleme
6d4d01e597

+ 3 - 109
src/views/tourism/membershipManagement/electronicMembership/detailsBox/memberInformationDetails.vue

@@ -19,7 +19,7 @@
             <span style="display: block; min-width: 250px;">{{ form.realName }}</span>
           </el-form-item>
           <el-form-item label="性别:">
-            <span style="display: block;min-width: 250px;">{{ form.sex }}</span>
+            <dict-tag :options="dict.type.tourism_memberInformation_sex" :value="form.sex"/>
           </el-form-item>
         </div>
         <div style="display: flex;">
@@ -73,13 +73,11 @@
 <script>
 import { 
   getTableDeatilsByIdApi,
-  updateTableApi,
-  addTableApi
  } from '@/api/CURD'
 
 export default {
   name: "addAndEdit",
-  dicts: [],
+  dicts: ['tourism_memberInformation_sex'],
   data() {
     return {
       title: "",
@@ -96,40 +94,8 @@ export default {
       form: {
         id: undefined,
       },
-      rules: {
-        name: [{ required: false, message: "请输入等级名称", trigger: ["change","blur"] }],
-        imgUrl: [{ required: false, message: "选上传图片", trigger: ["change","blur"] }],
-        openDate: [{ required: false, message: "选择开/闭园时间范围", trigger: ["change","blur"] }],
-        goodId: [{ required: false, message: "请输入景点产品", trigger: ["change","blur"] }],
-        status: [{ required: false, message: "请输入开放状态", trigger: ["change","blur"] }],
-        content: [{ required: false, message: "请输入开放状态", trigger: ["change","blur"] }],
-      },
+      rules: {},
       scenicAreaProducts: [],// 景点产品关联
-      // 富文本编辑器配置
-      editorOption: {
-        modules: {
-          toolbar: [
-            ['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线
-            ['blockquote', 'code-block'], // 引用  代码块
-            [{ header: 1 }, { header: 2 }], // 1、2 级标题
-            [{ list: 'ordered' }, { list: 'bullet' }], // 有序、无序列表
-            [{ script: 'sub' }, { script: 'super' }], // 上标/下标
-            [{ indent: '-1' }, { indent: '+1' }], // 缩进
-            [{ direction: 'rtl' }], // 文本方向
-            [{ size: ['12', '14', '16', '18', '20', '22', '24', '28', '32', '36'] }], // 字体大小
-            [{ header: [1, 2, 3, 4, 5, 6] }], // 标题
-            [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
-            // [{ font: ['songti'] }], // 字体种类
-            [{ align: [] }], // 对齐方式
-            ['clean'], // 清除文本格式
-            ['image', 'video'] // 链接、图片、视频
-          ]
-        },
-        placeholder: '请输入正文'
-      },
-      //  上传文件
-      actionUrl: process.env.VUE_APP_BASE_API + process.env.VUE_APP_UPLOAD_IMAGE,
-      actionUrlLoading: false,
     };
   },
   methods: {
@@ -188,47 +154,6 @@ export default {
         this.open = false;
       }
     },
-    /**
-     * 保存
-     * @date 2023-11-22
-     * @returns {any}
-     */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          this.loadingText = "提交数据中..."
-          this.loading = true
-          if (this.model != 'ADD') {
-            addTableApi(
-              this.configUrl.edit,{
-                ...this.form,
-                imgUrl: this.form.imgUrl ? this.form.imgUrl.join(','):''
-              }).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.loading = false
-              this.open = false;
-              this.$emit('refresh')
-            }).catch(()=>{
-              this.$message.error("修改失败!!!");
-              this.loading = false
-            })
-          } else {
-            addTableApi(this.configUrl.edit,{
-                ...this.form,
-                imgUrl: this.form.imgUrl ? this.form.imgUrl.join(','):''
-              }).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.loading = false
-              this.open = false;
-              this.$emit('refresh')
-            }).catch(()=>{
-              this.$message.error("新增失败!!!");
-              this.loading = false
-            })
-          }
-        }
-      });
-    },
     /**
      * 重置
      * @date 2023-11-22
@@ -248,37 +173,6 @@ export default {
       this.reset();
       this.open = false;
     },
-
-    /**  上传图片 单张  */
-    handleAvatarSuccess(response, file, fileList) {
-      console.log("res, file",response, file, fileList)
-      this.actionUrlLoading = false
-      if(response.code == 200) {
-        this.form.imgUrl.push(response.data.url)
-      }
-    },
-    beforeAvatarUpload(file) {
-      const isLt2M = file.size / 1024 / 1024 < 1;
-      let testmsg = file.name.substring(file.name.lastIndexOf('.')+1)
-      let typeList = ['png','jepg','jpg']
-      const isJPG = typeList.includes(testmsg);
-      if (!isJPG) {
-        this.$message.error(`上传头像图片只能是 ${typeList} 格式!`);
-      }
-      if (!isLt2M) {
-        this.$message.error('上传头像图片大小不能超过 1MB!');
-      }
-      return isJPG && isLt2M;
-    },
-    handleAvatarProgress(){
-      this.actionUrlLoading = true
-    },
-    handleAvatarError() {
-      this.actionUrlLoading = false
-    },
-    handleRemove(index) {
-      this.form.imgUrl.splice(index,1)
-    },
   },
 };
 </script>

+ 2 - 2
src/views/tourism/membershipManagement/electronicMembership/formBox/setIntegralForm.vue

@@ -22,7 +22,7 @@
           </el-radio-group>
           </el-form-item>
           <el-form-item label="变动量" prop="num">
-            <el-input-number v-model="form.num" controls-position="right"  placeholder="请输入变动量"></el-input-number>
+            <el-input-number v-model="form.num" controls-position="right" :min="0" placeholder="请输入变动量"></el-input-number>
           </el-form-item>
           <el-form-item label="变动原因说明" prop="remark">
             <el-input style="width: 350px;" type="textarea" v-model="form.remark" placeholder="请输入变动原因说明" maxlength="200" show-word-limit />
@@ -95,7 +95,7 @@ export default {
           ...row
         }
         this.$set(this,'form',{
-          merchantId: row.merchantId
+          memberId: row.id
         })
         this.formStatus = 1
       }else if(model=='EDITInit') { // 新增

+ 7 - 6
src/views/tourism/membershipManagement/electronicMembership/formBox/setStoredValue.vue

@@ -17,7 +17,7 @@
           <span>{{ form.balance }}</span>
         </el-form-item>
         <el-form-item label="可退余额">
-          <span>{{ form.balance }}</span>
+          <span>{{ form.refundBalance }}</span>
         </el-form-item>
         <el-form-item label="储值变动" prop="type">
           <el-radio-group v-model="form.type">
@@ -28,7 +28,7 @@
           </el-radio-group>
           </el-form-item>
           <el-form-item label="变动量" prop="num">
-            <el-input-number v-model="form.num" controls-position="right"  placeholder="请输入变动量"></el-input-number>
+            <el-input-number v-model="form.num" controls-position="right" :min="0"  placeholder="请输入变动量"></el-input-number>
           </el-form-item>
           <el-form-item label="变动原因说明" prop="remark">
             <el-input style="width: 350px;" type="textarea" v-model="form.remark" placeholder="请输入变动原因说明" maxlength="200" show-word-limit />
@@ -71,15 +71,15 @@ export default {
       loadingText: "拼命加载数据中...",
       formStatus: null, // 0/null : 加载中 1 : 获取详情成功 2  : 获取详情失败 
       configUrl: {
-        add: '/member/memberInfo/updateCredit', // 新增地址
+        add: '/member/memberInfo/updateBalance', // 新增地址
         details: '/member/memberInfo/detail', // 详情地址
-        edit: '/member/memberInfo/updateCredit', // 编辑地址
+        edit: '/member/memberInfo/updateBalance', // 编辑地址
       },
       form: {
         id: undefined,
       },
       rules: {
-        type: [{ required: true, message: "请选择积分变动", trigger: ["change","blur"] }],
+        type: [{ required: true, message: "请选择储值变动", trigger: ["change","blur"] }],
         num: [{ required: true, message: "请输入变动量", trigger: ["change","blur"] }],
         remark: [{ required: true, message: "请输入变动原因说明", trigger: ["change","blur"] }],
       },
@@ -102,7 +102,8 @@ export default {
         }
         this.$set(this,'form',{
           balance: row.balance,
-          merchantId: row.merchantId
+          refundBalance: row.refundBalance,
+          memberId: row.id 
         })
         this.formStatus = 1
       }else if(model=='EDITInit') { // 新增

+ 66 - 11
src/views/tourism/membershipManagement/electronicMembership/memberInformation.vue

@@ -4,15 +4,62 @@
         <!--用户数据-->
         <el-col :span="24" :xs="24">
           <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="等级名称" prop="name">
+            <el-form-item label="用户名" prop="realName">
               <el-input
-                v-model="queryParams.name"
-                placeholder="请输入等级名称"
+                v-model="queryParams.realName"
+                placeholder="请输入用户名"
                 clearable
                 style="width: 240px"
                 @keyup.enter.native="handleQuery"
               />
             </el-form-item>
+            <el-form-item label="会员号" prop="memberCode">
+              <el-input
+                v-model="queryParams.memberCode"
+                placeholder="请输入会员号"
+                clearable
+                style="width: 240px"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+            <el-form-item label="手机号" prop="mobile">
+              <el-input
+                v-model="queryParams.mobile"
+                placeholder="请输入手机号"
+                clearable
+                style="width: 240px"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+            <el-form-item label="身份证" prop="cardId">
+              <el-input
+                v-model="queryParams.cardId"
+                placeholder="请输入身份证"
+                clearable
+                style="width: 240px"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+            <el-form-item label="会员类型" prop="type">
+              <el-select v-model="queryParams.type" placeholder="请选择会员类型">
+                  <el-option
+                      v-for="dict in dict.type.tourism_memberInformation_user_type"
+                      :key="dict.value"
+                      :label="dict.label"
+                      :value="dict.value">
+                  </el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="状态" prop="status">
+              <el-select v-model="queryParams.status" placeholder="请选择状态">
+                  <el-option
+                      v-for="dict in dict.type.tourism_memberInformation_status"
+                      :key="dict.value"
+                      :label="dict.label"
+                      :value="dict.value">
+                  </el-option>
+                </el-select>
+            </el-form-item>
             <el-form-item>
               <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
               <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -26,15 +73,23 @@
           <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
             <el-table-column type="index" label="序号" align="center"  />
             <el-table-column label="用户名" align="center" key="realName" prop="realName" v-if="columns[0].visible" />
-            <el-table-column label="会员号" align="center" key="upIntegral" prop="upIntegral" v-if="columns[1].visible" :show-overflow-tooltip="true" />
-            <el-table-column label="会员类型" align="center" key="upIntegral1" prop="upIntegral1" v-if="columns[2].visible" :show-overflow-tooltip="true" />
+            <el-table-column label="会员号" align="center" key="memberCode" prop="memberCode" v-if="columns[1].visible" :show-overflow-tooltip="true" />
+            <el-table-column label="会员类型" align="center" key="type" prop="type" v-if="columns[2].visible" :show-overflow-tooltip="true">
+              <template slot-scope="scope">
+                <dict-tag :options="dict.type.tourism_memberInformation_user_type" :value="scope.row.type"/>
+              </template>
+            </el-table-column>
             <el-table-column label="手机号" align="center" key="mobile" prop="mobile" v-if="columns[3].visible" :show-overflow-tooltip="true" />
             <el-table-column label="身份证号" align="center" key="cardId" prop="cardId" v-if="columns[4].visible" :show-overflow-tooltip="true" />
             <el-table-column label="积分" align="center" key="credit" prop="credit" v-if="columns[5].visible" :show-overflow-tooltip="true" />
             <el-table-column label="余额" align="center" key="balance" prop="balance" v-if="columns[6].visible" :show-overflow-tooltip="true" />
             <el-table-column label="购买次数" align="center" key="buyCount" prop="buyCount" v-if="columns[7].visible" :show-overflow-tooltip="true" />
             <el-table-column label="消费总额" align="center" key="consumeTotal" prop="consumeTotal" v-if="columns[8].visible" :show-overflow-tooltip="true" />
-            <el-table-column label="状态" align="center" key="status" prop="status" v-if="columns[9].visible" :show-overflow-tooltip="true" />
+            <el-table-column label="状态" align="center" key="status" prop="status" v-if="columns[9].visible" :show-overflow-tooltip="true">
+              <template slot-scope="scope">
+                <dict-tag :options="dict.type.tourism_memberInformation_status" :value="scope.row.status"/>
+              </template>
+            </el-table-column>
             <el-table-column label="最近消费时间" align="center" key="lastCreateTime" prop="lastCreateTime" v-if="columns[10].visible" :show-overflow-tooltip="true" />
             <el-table-column label="注册时间" align="center" key="createTime" prop="createTime" v-if="columns[11].visible" :show-overflow-tooltip="true" />
             <el-table-column
@@ -76,9 +131,9 @@
       <!--  详情 -->
       <detailsBox ref="detailsBox" />
 
-      <setIntegralForm ref="setIntegralForm" />
+      <setIntegralForm ref="setIntegralForm" @refresh="getList" />
 
-      <setStoredValue ref="setStoredValue" />
+      <setStoredValue ref="setStoredValue" @refresh="getList" />
     </div>
   </template>
   
@@ -92,7 +147,7 @@
   import setStoredValue from "./formBox/setStoredValue.vue"
   export default {
     name: "User",
-    dicts: ['tourism_memberInformation_status','tourism_memberInformation_sex'],
+    dicts: ['tourism_memberInformation_user_type','tourism_memberInformation_status','tourism_memberInformation_sex'],
     components: {detailsBox,setIntegralForm,setStoredValue},
     data() {
       return {
@@ -260,12 +315,12 @@
       },
         handleResetPwd(row) {
             if(this.$refs.setIntegralForm) {
-            this.$refs.setIntegralForm.initData(this.title + '编辑', "EDIT",{...row})
+            this.$refs.setIntegralForm.initData('设置积分' + '编辑', "EDIT",{...row})
             }
         },
         handleAuthRole(row) {
             if(this.$refs.setStoredValue) {
-            this.$refs.setStoredValue.initData(this.title + '编辑', "EDIT",{...row})
+            this.$refs.setStoredValue.initData('设置储值' + '编辑', "EDIT",{...row})
             }
         },
         // 更多操作触发

+ 6 - 6
src/views/tourism/membershipManagement/pointsManagement/IntegralRecord.vue

@@ -34,12 +34,12 @@
             </el-form-item>
             <el-form-item label="变动类型" prop="type">
                 <el-select v-model="queryParams.type" placeholder="请选择变动类型">
-                <el-option
-                    v-for="dict in dict.type.tourism_memberInformation_biangeng_type"
-                    :key="dict.value"
-                    :label="dict.label"
-                    :value="dict.value">
-                </el-option>
+                  <el-option
+                      v-for="dict in dict.type.tourism_memberInformation_biangeng_type"
+                      :key="dict.value"
+                      :label="dict.label"
+                      :value="dict.value">
+                  </el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="变动时间" prop="time">