Browse Source

1. 删除多余的内容

MONSTER-ygh 1 year ago
parent
commit
872c74cc5d

+ 0 - 470
src/views/tourism/orderManagement/ticketOrdersAll/formBox/membershipLevelForm.vue

@@ -1,470 +0,0 @@
-<template>
-  <el-dialog
-    :title="title"
-    :visible.sync="open"
-    width="70%"
-    append-to-body
-    :close-on-click-modal="false"
-    @close="cancel"
-  >
-    <div class="form-dialog-box"
-    v-loading="loading"
-    :element-loading-text="loadingText"
-    element-loading-spinner="el-icon-loading"
-    element-loading-background="rgba(0, 0, 0, 0)">
-      <div
-        v-loading="loading"
-        :element-loading-text="''"
-        element-loading-spinner="''"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-        >
-        <el-form :model="form" ref="form" :rules="rules" label-width="120px">
-          <div class="form-title"><span>基本信息</span></div>
-          <el-form-item label="等级名称:" prop="name">
-            <el-input style="width: 350px;" v-model="form.name" placeholder="请输入等级名称" maxlength="20" show-word-limit />
-          </el-form-item>
-          <el-form-item label="所需积分值:" prop="name">
-            <el-input style="width: 350px;" v-model="form.name" placeholder="请输入所需积分值" maxlength="20" show-word-limit />
-          </el-form-item>
-          <el-form-item label="等级图片" prop="imgUrl">
-            <div style="display: flex;">
-              <div 
-              v-for="(item,index) in form.imgUrl" 
-              :key="index"
-              style="width: 100px; height: 100px;position: relative;border: 1px solid #999;border-radius: 5px;margin-right: 20px;">
-                <el-image 
-                  style="width: 100%; height: 100%"
-                  :src="item" 
-                  :preview-src-list="form.imgUrl">
-                </el-image>
-                <span @click="handleRemove(index)" style="position: absolute;top: -15px;right: -15px;color: red;font-size: 24px;z-index: 999;cursor: pointer;">
-                  <i class="el-icon-error"></i>
-                </span>
-              </div>
-              <div 
-              style="width: 100px; height: 100px;" 
-              v-if="!form.imgUrl||form.imgUrl.length<1"
-              v-loading="actionUrlLoading"
-              element-loading-text="上传中..."
-              element-loading-spinner="el-icon-loading"
-              element-loading-background="rgba(0, 0, 0, 0.8)"
-              >
-                <el-upload
-                  class="avatar-uploader"
-                  :action="actionUrl"
-                  :data="{
-                    bucket: 'tourism'
-                  }"
-                  :show-file-list="false"
-                  :before-upload="beforeAvatarUpload"
-                  :on-success="handleAvatarSuccess"
-                  :on-progress="handleAvatarProgress"
-                  :disabled="actionUrlLoading"
-                  :on-error="handleAvatarError"
-                  >
-                  <i class="el-icon-plus avatar-uploader-icon"></i>
-                </el-upload>
-              </div>
-              
-            </div>
-            <span>建议尺寸XXX*XXX,支持jpg、png,支持100KB大小以内的图片上传</span>
-          </el-form-item>
-          <div class="form-title"><span>会员权益</span></div>
-          <el-form-item label="折扣权益:" prop="name">
-            <el-form-item label="基本折扣:" prop="name">
-              <el-input style="width: 350px;" v-model="form.name" placeholder="请输入基本折扣" maxlength="20" show-word-limit />
-            </el-form-item>
-            <el-form-item label="单品折扣:" prop="name">
-              <el-select v-model="form.goodId" placeholder="请选择景点产品">
-                <el-option
-                  v-for="item in scenicAreaProducts"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-              <el-input style="width: 350px;" v-model="form.name" placeholder="请输入单品折扣" maxlength="20" show-word-limit />
-            </el-form-item>
-          </el-form-item>
-          <el-form-item label="积分权益:" prop="name">
-            <el-form-item label="积分成长系数:" prop="name">
-              <el-input style="width: 350px;" v-model="form.name" placeholder="请输入积分成长系数" maxlength="20" show-word-limit />
-            </el-form-item>
-          </el-form-item>
-          <el-form-item label="专属优惠卷:" prop="name">
-            <el-input style="width: 350px;" v-model="form.name" placeholder="请输入专属优惠卷" maxlength="20" show-word-limit />
-          </el-form-item>
-          <el-form-item label="指定产品不参与会员折扣:" prop="name">
-            <el-input style="width: 350px;" v-model="form.name" placeholder="请输入指定产品不参与会员折扣" maxlength="20" show-word-limit />
-          </el-form-item>
-        </el-form>
-      </div>
-    </div>
-    <span slot="footer" class="dialog-footer" v-if="formStatus==1">
-      <el-button @click="cancel">取消</el-button>
-      <el-button
-        type="primary"
-        @click="submitForm"
-        :loading="loading"
-        element-loading-text="提交中..."
-        element-loading-spinner="el-icon-loading"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-      > 
-        {{ loading ? '提交中...' : '保存' }}
-      </el-button>
-    </span>
-    <!-- 添加或修改对话框 End -->
-  </el-dialog>
-</template>
-
-<script>
-import { 
-  getTableDeatilsByIdApi,
-  updateTableApi,
-  addTableApi
- } from '@/api/CURD'
-
-export default {
-  name: "addAndEdit",
-  dicts: [],
-  data() {
-    return {
-      title: "",
-      model: "", // EDIT: 编辑模式 ADD : 新增模式  EDITInit : 编辑模式(需要请求详情)
-      open: false,
-      loading: false,
-      loadingText: "拼命加载数据中...",
-      formStatus: null, // 0/null : 加载中 1 : 获取详情成功 2  : 获取详情失败 
-      configUrl: {
-        add: '/member/memberLevelInfo/insertOrUpdate', // 新增地址
-        details: '/member/memberLevelInfo/selectById', // 详情地址
-        edit: '/member/memberLevelInfo/insertOrUpdate', // 编辑地址
-      },
-      form: {
-        id: undefined,
-      },
-      rules: {
-        name: [{ required: true, message: "请输入等级名称", trigger: ["change","blur"] }],
-        imgUrl: [{ required: true, message: "选上传图片", trigger: ["change","blur"] }],
-        openDate: [{ required: true, message: "选择开/闭园时间范围", trigger: ["change","blur"] }],
-        goodId: [{ required: false, message: "请输入景点产品", trigger: ["change","blur"] }],
-        status: [{ required: true, message: "请输入开放状态", trigger: ["change","blur"] }],
-        content: [{ required: true, message: "请输入开放状态", trigger: ["change","blur"] }],
-      },
-      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: {
-    async initData(title , model,row){
-      this.title = title
-      this.open = true
-      this.loadingText = "拼命加载数据中..."
-      this.loading = true
-      this.actionUrlLoading = false
-      this.model = model
-      this.formStatus = 0
-      if(model=='ADD') { // 新增
-        this.$set(this,'form',{...row,imgUrl:[]})
-        this.formStatus = 1
-      }else if(model=='EDIT') { // 新增
-        let obj = {
-          ...row,
-          imgUrl: row.imgUrl?row.imgUrl.split(','):[]
-        }
-        this.$set(this,'form',obj)
-        this.formStatus = 1
-      }else if(model=='EDITInit') { // 新增
-        await this.getTableDeatilsFun(row)
-      }
-      this.loading = false
-      this.$nextTick(()=>{
-        if(this.$refs["form"]) {
-          this.$refs["form"].clearValidate();
-        }
-      })
-    },
-    /** 获取详情 */
-    async getTableDeatilsFun(row) {
-      const id = row.id
-      this.loading = true
-      try {
-        let res = await getTableDeatilsByIdApi(this.configUrl.details,{id})
-        if(res.code == 200) {
-          let obj = {
-            ...res.data,
-            imgUrl: res.data.imgUrl?res.data.imgUrl.split(','):[],
-        }
-          this.$set(this,'form',JSON.parse(JSON.stringify(obj)))
-          this.formStatus = 1
-        }else {
-          this.$message.error('获取详情失败!!!');
-          this.formStatus = 2
-          this.loading = false
-          this.open = false;
-        }
-        this.loading = false
-      } catch (error) {
-        console.error('获取详情失败!!!!',error)
-        this.formStatus = 2
-        this.loading = false
-        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
-     * @returns {any}
-     */
-    reset() {
-      if(this.$refs["form"]) {
-        this.$refs["form"].clearValidate();
-      }
-    },
-    /**
-     * 关闭弹框
-     * @date 2023-11-22
-     * @returns {any}
-     */
-    cancel() {
-      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>
-
-<style lang="scss" scoped>
-.form-dialog-box {
-  padding: 0 30px;
-  padding: 0 30px;
-  min-height: 50vh;
-  max-height: 65vh;
-  overflow-y: auto;
-  >div {
-    width: 100%;
-    min-height: 50vh;
-  }
-  .form-title {
-    padding: 0 0 10px 0;
-    span {
-      display: flex;
-      color: rgba(65,80,88,1);
-      font-size: 16px;
-      font-family: SourceHanSansSC;
-      font-weight: 700;
-      line-height: 23px;
-      border-left: 4px solid rgb(22, 132, 252);
-      padding-left: 10px;
-    }
-    
-  }
-  ::v-deep .ql-editor {
-    height: 400px;
-  }
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-.el-table{
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-
-.area-container {
-  min-height: 400px;
-}
-
-::v-deep .area-wrap-city.el-cascader {
-  line-height: normal;
-  .el-input {
-    cursor: pointer;
-    width: 100% !important;
-    height: 28px !important;
-    .el-input__inner {
-      display: none !important;
-    }
-    span.el-input__suffix {
-      position: inherit !important;
-      i.el-input__icon {
-        line-height: inherit;
-        margin-left: 5px;
-      }
-    }
-
-    .el-input__wrapper {
-      box-shadow: none;
-      input {
-        display: none;
-      }
-    }
-  }
-
-  .el-cascader__tags {
-    display: none;
-  }
-}
-
-.area-city-popper {
-  .el-cascader-panel {
-    .el-scrollbar.el-cascader-menu {
-      .el-cascader-menu__wrap.el-scrollbar__wrap {
-        height: 315px;
-      }
-    }
-  }
-}
-::v-deep .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  ::v-deep .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  ::v-deep .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 100px;
-    height: 100px;
-    line-height: 100px;
-    text-align: center;
-  }
-  ::v-deep .avatar {
-    width: 100px;
-    height: 100px;
-    display: block;
-  }
-</style>
-<style>
-.custom-class-box {
-  z-index: 999999 !important;
-}
-</style>

+ 0 - 320
src/views/tourism/orderManagement/ticketOrdersAll/formBox/setIntegralForm.vue

@@ -1,320 +0,0 @@
-<template>
-  <el-dialog
-    :title="title"
-    :visible.sync="open"
-    width="70%"
-    append-to-body
-    :close-on-click-modal="false"
-    @close="cancel"
-  >
-    <div class="form-dialog-box"
-    v-loading="loading"
-    :element-loading-text="loadingText"
-    element-loading-spinner="el-icon-loading"
-    element-loading-background="rgba(0, 0, 0, 0)">
-      <div
-        v-loading="loading"
-        :element-loading-text="''"
-        element-loading-spinner="''"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-        >
-        <el-form :model="form" ref="form" :rules="rules" label-width="120px">
-          <el-form-item label="积分变动" prop="type">
-            <el-radio-group v-model="form.type">
-              <el-radio 
-                v-for="dict in dict.type.tourism_memberInformation_biangeng_type"
-                :label="dict.value"
-                >{{ dict.label }}</el-radio>
-            </el-radio-group>
-            </el-form-item>
-            <el-form-item label="变动量" prop="num">
-              <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 />
-            </el-form-item>
-        </el-form>
-      </div>
-    </div>
-    <span slot="footer" class="dialog-footer" v-if="formStatus==1">
-      <el-button @click="cancel">取消</el-button>
-      <el-button
-        type="primary"
-        @click="submitForm"
-        :loading="loading"
-        element-loading-text="提交中..."
-        element-loading-spinner="el-icon-loading"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-      > 
-        {{ loading ? '提交中...' : '保存' }}
-      </el-button>
-    </span>
-    <!-- 添加或修改对话框 End -->
-  </el-dialog>
-</template>
-
-<script>
-import { 
-  getTableDeatilsByIdApi,
-  updateTableApi,
-  addTableApi
- } from '@/api/CURD'
-
-export default {
-  name: "addAndEdit",
-  dicts: ['tourism_memberInformation_biangeng_type'],
-  data() {
-    return {
-      title: "",
-      model: "", // EDIT: 编辑模式 ADD : 新增模式  EDITInit : 编辑模式(需要请求详情)
-      open: false,
-      loading: false,
-      loadingText: "拼命加载数据中...",
-      formStatus: null, // 0/null : 加载中 1 : 获取详情成功 2  : 获取详情失败 
-      configUrl: {
-        add: '/member/memberInfo/updateCredit', // 新增地址
-        details: '/member/memberInfo/detail', // 详情地址
-        edit: '/member/memberInfo/updateCredit', // 编辑地址
-      },
-      form: {
-        id: undefined,
-      },
-      rules: {
-        type: [{ required: true, message: "请选择积分变动", trigger: ["change","blur"] }],
-        num: [{ required: true, message: "请输入变动量", trigger: ["change","blur"] }],
-        remark: [{ required: true, message: "请输入变动原因说明", trigger: ["change","blur"] }],
-      },
-    };
-  },
-  methods: {
-    async initData(title , model,row){
-      this.title = title
-      this.open = true
-      this.loadingText = "拼命加载数据中..."
-      this.loading = true
-      this.model = model
-      this.formStatus = 0
-      if(model=='ADD') { // 新增
-        this.$set(this,'form',row)
-        this.formStatus = 1
-      }else if(model=='EDIT') { // 新增
-        let obj = {
-          ...row
-        }
-        this.$set(this,'form',{
-          memberId: row.id
-        })
-        this.formStatus = 1
-      }else if(model=='EDITInit') { // 新增
-        await this.getTableDeatilsFun(row)
-      }
-      this.loading = false
-      this.$nextTick(()=>{
-        if(this.$refs["form"]) {
-          this.$refs["form"].clearValidate();
-        }
-      })
-    },
-    /** 获取详情 */
-    async getTableDeatilsFun(row) {
-      const id = row.id
-      this.loading = true
-      try {
-        let res = await getTableDeatilsByIdApi(this.configUrl.details,{id})
-        if(res.code == 200) {
-          let obj = {
-            ...res.data
-          }
-          this.$set(this,'form',JSON.parse(JSON.stringify(obj)))
-          this.formStatus = 1
-        }else {
-          this.$message.error('获取详情失败!!!');
-          this.formStatus = 2
-          this.loading = false
-          this.open = false;
-        }
-        this.loading = false
-      } catch (error) {
-        console.error('获取详情失败!!!!',error)
-        this.formStatus = 2
-        this.loading = false
-        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
-              }).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
-              }).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
-     * @returns {any}
-     */
-    reset() {
-      if(this.$refs["form"]) {
-        this.$refs["form"].clearValidate();
-      }
-    },
-    /**
-     * 关闭弹框
-     * @date 2023-11-22
-     * @returns {any}
-     */
-    cancel() {
-      this.reset();
-      this.open = false;
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.form-dialog-box {
-  padding: 0 30px;
-  padding: 0 30px;
-  min-height: 50vh;
-  max-height: 65vh;
-  overflow-y: auto;
-  >div {
-    width: 100%;
-    min-height: 50vh;
-  }
-  .form-title {
-    padding: 0 0 10px 0;
-    span {
-      display: flex;
-      color: rgba(65,80,88,1);
-      font-size: 16px;
-      font-family: SourceHanSansSC;
-      font-weight: 700;
-      line-height: 23px;
-      border-left: 4px solid rgb(22, 132, 252);
-      padding-left: 10px;
-    }
-    
-  }
-  ::v-deep .ql-editor {
-    height: 400px;
-  }
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-.el-table{
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-
-.area-container {
-  min-height: 400px;
-}
-
-::v-deep .area-wrap-city.el-cascader {
-  line-height: normal;
-  .el-input {
-    cursor: pointer;
-    width: 100% !important;
-    height: 28px !important;
-    .el-input__inner {
-      display: none !important;
-    }
-    span.el-input__suffix {
-      position: inherit !important;
-      i.el-input__icon {
-        line-height: inherit;
-        margin-left: 5px;
-      }
-    }
-
-    .el-input__wrapper {
-      box-shadow: none;
-      input {
-        display: none;
-      }
-    }
-  }
-
-  .el-cascader__tags {
-    display: none;
-  }
-}
-
-.area-city-popper {
-  .el-cascader-panel {
-    .el-scrollbar.el-cascader-menu {
-      .el-cascader-menu__wrap.el-scrollbar__wrap {
-        height: 315px;
-      }
-    }
-  }
-}
-</style>
-<style>
-.custom-class-box {
-  z-index: 999999 !important;
-}
-</style>

+ 0 - 328
src/views/tourism/orderManagement/ticketOrdersAll/formBox/setStoredValue.vue

@@ -1,328 +0,0 @@
-<template>
-  <el-dialog
-    :title="title"
-    :visible.sync="open"
-    width="70%"
-    append-to-body
-    :close-on-click-modal="false"
-    @close="cancel"
-  >
-    <div class="form-dialog-box"
-    v-loading="loading"
-    :element-loading-text="loadingText"
-    element-loading-spinner="el-icon-loading"
-    element-loading-background="rgba(0, 0, 0, 0.8)">
-      <div
-        v-loading="loading"
-        :element-loading-text="''"
-        element-loading-spinner="''"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-        >
-        <el-form :model="form" ref="form" :rules="rules" label-width="120px">
-          <el-form-item label="账户余额">
-            <span>{{ form.balance }}</span>
-          </el-form-item>
-          <el-form-item label="可退余额">
-            <span>{{ form.refundBalance }}</span>
-          </el-form-item>
-          <el-form-item label="储值变动" prop="type">
-            <el-radio-group v-model="form.type">
-              <el-radio 
-                v-for="dict in dict.type.tourism_memberInformation_biangeng_type"
-                :label="dict.value"
-                >{{ dict.label }}</el-radio>
-            </el-radio-group>
-            </el-form-item>
-            <el-form-item label="变动量" prop="num">
-              <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 />
-            </el-form-item>
-        </el-form>
-      </div>
-    </div>
-    <span slot="footer" class="dialog-footer" v-if="formStatus==1">
-      <el-button @click="cancel">取消</el-button>
-      <el-button
-        type="primary"
-        @click="submitForm"
-        :loading="loading"
-        element-loading-text="提交中..."
-        element-loading-spinner="el-icon-loading"
-        element-loading-background="rgba(0, 0, 0, 0.8)"
-      > 
-        {{ loading ? '提交中...' : '保存' }}
-      </el-button>
-    </span>
-    <!-- 添加或修改对话框 End -->
-  </el-dialog>
-</template>
-
-<script>
-import { 
-  getTableDeatilsByIdApi,
-  updateTableApi,
-  addTableApi
- } from '@/api/CURD'
-
-export default {
-  name: "addAndEdit",
-  dicts: ['tourism_memberInformation_biangeng_type'],
-  data() {
-    return {
-      title: "",
-      model: "", // EDIT: 编辑模式 ADD : 新增模式  EDITInit : 编辑模式(需要请求详情)
-      open: false,
-      loading: false,
-      loadingText: "拼命加载数据中...",
-      formStatus: null, // 0/null : 加载中 1 : 获取详情成功 2  : 获取详情失败 
-      configUrl: {
-        add: '/member/memberInfo/updateBalance', // 新增地址
-        details: '/member/memberInfo/detail', // 详情地址
-        edit: '/member/memberInfo/updateBalance', // 编辑地址
-      },
-      form: {
-        id: undefined,
-      },
-      rules: {
-        type: [{ required: true, message: "请选择储值变动", trigger: ["change","blur"] }],
-        num: [{ required: true, message: "请输入变动量", trigger: ["change","blur"] }],
-        remark: [{ required: true, message: "请输入变动原因说明", trigger: ["change","blur"] }],
-      },
-    };
-  },
-  methods: {
-    async initData(title , model,row){
-      this.title = title
-      this.open = true
-      this.loadingText = "拼命加载数据中..."
-      this.loading = true
-      this.model = model
-      this.formStatus = 0
-      if(model=='ADD') { // 新增
-        this.$set(this,'form',row)
-        this.formStatus = 1
-      }else if(model=='EDIT') { // 新增
-        let obj = {
-          ...row
-        }
-        this.$set(this,'form',{
-          balance: row.balance,
-          refundBalance: row.refundBalance,
-          memberId: row.id 
-        })
-        this.formStatus = 1
-      }else if(model=='EDITInit') { // 新增
-        await this.getTableDeatilsFun(row)
-      }
-      this.loading = false
-      this.$nextTick(()=>{
-        if(this.$refs["form"]) {
-          this.$refs["form"].clearValidate();
-        }
-      })
-    },
-    /** 获取详情 */
-    async getTableDeatilsFun(row) {
-      const id = row.id
-      this.loading = true
-      try {
-        let res = await getTableDeatilsByIdApi(this.configUrl.details,{id})
-        if(res.code == 200) {
-          let obj = {
-            ...res.data
-          }
-          this.$set(this,'form',JSON.parse(JSON.stringify(obj)))
-          this.formStatus = 1
-        }else {
-          this.$message.error('获取详情失败!!!');
-          this.formStatus = 2
-          this.loading = false
-          this.open = false;
-        }
-        this.loading = false
-      } catch (error) {
-        console.error('获取详情失败!!!!',error)
-        this.formStatus = 2
-        this.loading = false
-        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
-              }).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
-              }).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
-     * @returns {any}
-     */
-    reset() {
-      if(this.$refs["form"]) {
-        this.$refs["form"].clearValidate();
-      }
-    },
-    /**
-     * 关闭弹框
-     * @date 2023-11-22
-     * @returns {any}
-     */
-    cancel() {
-      this.reset();
-      this.open = false;
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.form-dialog-box {
-  padding: 0 30px;
-  padding: 0 30px;
-  min-height: 50vh;
-  max-height: 65vh;
-  overflow-y: auto;
-  >div {
-    width: 100%;
-    min-height: 50vh;
-  }
-  .form-title {
-    padding: 0 0 10px 0;
-    span {
-      display: flex;
-      color: rgba(65,80,88,1);
-      font-size: 16px;
-      font-family: SourceHanSansSC;
-      font-weight: 700;
-      line-height: 23px;
-      border-left: 4px solid rgb(22, 132, 252);
-      padding-left: 10px;
-    }
-    
-  }
-  ::v-deep .ql-editor {
-    height: 400px;
-  }
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-.el-table{
-  .upload-btn {
-    width: 100px;
-    height: 100px;
-    background-color: #fbfdff;
-    border: dashed 1px #c0ccda;
-    border-radius: 5px;
-    i {
-      font-size: 30px;
-      margin-top: 20px;
-    }
-    &-text {
-      margin-top: -10px;
-    }
-  }
-  .avatar {
-    cursor: pointer;
-  }
-}
-
-.area-container {
-  min-height: 400px;
-}
-
-::v-deep .area-wrap-city.el-cascader {
-  line-height: normal;
-  .el-input {
-    cursor: pointer;
-    width: 100% !important;
-    height: 28px !important;
-    .el-input__inner {
-      display: none !important;
-    }
-    span.el-input__suffix {
-      position: inherit !important;
-      i.el-input__icon {
-        line-height: inherit;
-        margin-left: 5px;
-      }
-    }
-
-    .el-input__wrapper {
-      box-shadow: none;
-      input {
-        display: none;
-      }
-    }
-  }
-
-  .el-cascader__tags {
-    display: none;
-  }
-}
-
-.area-city-popper {
-  .el-cascader-panel {
-    .el-scrollbar.el-cascader-menu {
-      .el-cascader-menu__wrap.el-scrollbar__wrap {
-        height: 315px;
-      }
-    }
-  }
-}
-</style>
-<style>
-.custom-class-box {
-  z-index: 999999 !important;
-}
-</style>