Tang 2 лет назад
Родитель
Сommit
531fd33721

+ 2 - 1
src/fxApi/orderManageList.js

@@ -66,8 +66,9 @@ export default {
     //订单应付审核详情
     systemtoporderdividedetail(data) {
         return request({
-            url: '/system/top/order/divide/detail/' + data,
+            url: '/system/top/order/divide/detail',
             method: 'get',
+            params: data
         })
     },
     //获取订单成本设置

+ 1 - 1
src/utils/request.js

@@ -9,7 +9,7 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
 // 创建axios实例
 // export const baseURL = process.env.VUE_APP_BASE_API
 // export const baseURL = 'https://ptapi.gdzzkj.net/'
-export const baseURL = "http://192.168.1.7:7077/";
+export const baseURL = "http://192.168.1.222:7077/";
 export const BASE_IMG_URL = process.env.VUE_APP_IMG_API;
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分

+ 1 - 0
src/views/financed/arap/index.vue

@@ -656,6 +656,7 @@ export default {
     },
     openDialog(data, type) {
       this.activeOrderInfo = data;
+      this.activeOrderInfo.checkFrom = type + 1;
       this[
         ["tip", "examine", "remark", "order", "badBill"][type] + "DialogVisible"
       ] = true;

+ 1 - 1
src/views/financed/components/audit/dislogSet.vue

@@ -185,7 +185,7 @@ export default {
       this.resetForm();
       this.$api[
         this.info.orderSn ? "systemtoporderdividedetail" : "dividelogdata"
-      ](this.info.orderSn ? this.info.orderSn : this.info.id).then((res) => {
+      ](this.info.orderSn ? {orderSn:this.info.orderSn,checkFrom:this.info.checkFrom} : this.info.id).then((res) => {
         this.form = res.data;
         this.$api.systemtenantbankId(res.data.tenantId).then((e) => {
           this.bankList = e.data || [];

+ 2 - 2
src/views/financed/components/dislogOrderDetails.vue

@@ -255,8 +255,8 @@ export default {
               orderSn: this.orderSn,
             })
             .then((res) => {
-              this.init();
               this.$message.success("操作成功");
+              this.submitForm();
             });
         })
         .catch(() => {});
@@ -275,8 +275,8 @@ export default {
               orderSn: this.orderSn,
             })
             .then((res) => {
-              this.init();
               this.$message.success("操作成功");
+              this.submitForm();
             });
         })
         .catch(() => {});

+ 268 - 0
src/views/integralManagement/chargeManagement/dislog.vue

@@ -0,0 +1,268 @@
+<template>
+  <div>
+    <BaseDialog
+      width="800px"
+      :isShow.sync="isShow"
+      :title="activeData.tenantId ? '修改' : '新增'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="机构名称:" prop="tenantName">
+          <el-input
+            clearable
+            v-model="formData.tenantName"
+            placeholder="输入机构名称"
+          ></el-input> </el-form-item
+        ><el-form-item label="h5域名:" prop="hostH5"
+          ><el-input
+            clearable
+            v-model="formData.hostH5"
+            placeholder="输入h5域名"
+          ></el-input></el-form-item
+        ><el-form-item label="PC域名:" prop="hostPc"
+          ><el-input
+            clearable
+            v-model="formData.hostPc"
+            placeholder="输入PC域名"
+          ></el-input
+        ></el-form-item>
+        <el-form-item label="账期设置:" required>
+          <el-col :span="9">
+            <el-form-item label="" prop="billType">
+              <el-select
+                v-model="formData.billType"
+                placeholder="选择账期类型"
+                clearable
+              >
+                <el-option label="月度" :value="1"> </el-option
+                ><el-option label="季度" :value="2"> </el-option
+                ><el-option label="半年" :value="3"> </el-option>
+                <el-option label="年度" :value="4"> </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+          <el-col :span="9"
+            ><el-form-item label="" prop="billDay">
+              <el-select
+                v-model="formData.billDay"
+                placeholder="选择次月"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in days"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+        </el-form-item>
+        <el-form-item label="收款账号:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingName'"
+              :rules="rules['openingName']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingName"
+                placeholder="输入开户名"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingBank'"
+              :rules="rules['openingBank']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingBank"
+                placeholder="输入开户行"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.proceedsAccount'"
+              :rules="rules['proceedsAccount']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.accountList[0].proceedsAccount"
+                placeholder="输入账号"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="开票信息:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoiceType'"
+              :rules="rules['invoiceType']"
+            >
+              <el-select
+                v-model="formData.invoiceBo.invoiceType"
+                placeholder="选择发票类型"
+                clearable
+              >
+                <el-option label="普票" :value="1"> </el-option
+                ><el-option label="专票" :value="2"> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoice'"
+              :rules="rules['invoice']"
+              ><el-input
+                clearable
+                v-model="formData.invoiceBo.invoice"
+                placeholder="输入发票抬头(企业或个人)"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'taxpayer'"
+              :rules="rules['taxpayer']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.invoiceBo.taxpayer"
+                placeholder="输入纳税人"
+              ></el-input> </el-form-item
+          ></el-col>
+        </el-form-item>
+      </el-form>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {
+        accountList: [{}],
+        invoiceBo: {},
+      },
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+        billType: [
+          { required: true, message: "请选择账期类型", trigger: "change" },
+        ],
+        billDay: [
+          { required: true, message: "请选择次月日期", trigger: "change" },
+        ],
+        openingName: [
+          { required: true, message: "请输入开户名", trigger: "blur" },
+        ],
+        openingBank: [
+          { required: true, message: "请输入开户行", trigger: "blur" },
+        ],
+        proceedsAccount: [
+          { required: true, message: "请输入账号", trigger: "blur" },
+        ],
+        invoiceType: [
+          { required: true, message: "请选择发票类型", trigger: "change" },
+        ],
+        invoice: [
+          { required: true, message: "请输入发票抬头", trigger: "blur" },
+        ],
+        taxpayer: [
+          { required: true, message: "请输入纳税人", trigger: "blur" },
+        ],
+      },
+      days: [],
+    };
+  },
+  mounted() {
+    this.getDays();
+  },
+
+  methods: {
+    //获取天数 从第6天算起 至31日
+    getDays() {
+      for (let i = 6; i <= 31; i++) {
+        this.days.push({ label: i + "日", value: i });
+      }
+    },
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+      this.formData.accountList = this.formData.accountList || [{}];
+      this.formData.invoiceBo = this.formData.invoiceBo || {};
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$api[
+            this.activeData.tenantId ? "systemtenantedittop" : "systemtenantadd"
+          ](this.formData).then((res) => {
+            this.$message.success("成功");
+            this.isShow = false;
+            this.$emit("search");
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 163 - 0
src/views/integralManagement/chargeManagement/index.vue

@@ -0,0 +1,163 @@
+<template>
+  <div id="mechanism">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+      @addClick="addClick"
+    >
+      <template slot="customize">
+        <el-button type="warning"> 批量删除 </el-button>
+      </template>
+      <template slot="domainName" slot-scope="props"> </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row)"
+          >修改</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></dislog>
+  </div>
+</template>
+
+<script>
+import dislog from "./dislog.vue";
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "Mechanism",
+  components: { searchBoxNew, tableList, pagination, dislog },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        title: "机构列表",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: false,
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "tenantid",
+          placeholder: "请选择机构名称",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "机构名称",
+          prop: "a",
+          hidden: true,
+        },
+        {
+          label: "是否有商户号",
+          prop: "b",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "是",
+              value: 1,
+            },
+            {
+              label: "否",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "银行账号信息",
+          prop: "c",
+          hidden: true,
+          scope: "solt",
+          soltName: "status",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      activeData: {},
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(data) {
+      this.activeData = data || {};
+      this.dialogVisible = true;
+    },
+    search(v) {
+      this.tableData = [
+        {
+          a: "深圳桥恩心理咨询有限公司",
+          b: 1,
+          c: 1234567891,
+        },
+      ];
+      //   this.loading = true;
+      //   if (v === 2) {
+      //     this.formData = {
+      //       pageSize: 10,
+      //       pageNum: 1,
+      //     };
+      //   }
+      //   this.$api
+      //     .xxx(this.formData)
+      //     .then((res) => {
+      //       this.tableData = res.rows;
+      //       this.total = res.total;
+      //       this.navText.index = res.total;
+      //     })
+      //     .finally(() => {
+      //       this.loading = false;
+      //     });
+    },
+    init() {
+      this.search(2);
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {})
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 268 - 0
src/views/integralManagement/exchangeRules/dislog.vue

@@ -0,0 +1,268 @@
+<template>
+  <div>
+    <BaseDialog
+      width="800px"
+      :isShow.sync="isShow"
+      :title="activeData.tenantId ? '修改' : '新增'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="机构名称:" prop="tenantName">
+          <el-input
+            clearable
+            v-model="formData.tenantName"
+            placeholder="输入机构名称"
+          ></el-input> </el-form-item
+        ><el-form-item label="h5域名:" prop="hostH5"
+          ><el-input
+            clearable
+            v-model="formData.hostH5"
+            placeholder="输入h5域名"
+          ></el-input></el-form-item
+        ><el-form-item label="PC域名:" prop="hostPc"
+          ><el-input
+            clearable
+            v-model="formData.hostPc"
+            placeholder="输入PC域名"
+          ></el-input
+        ></el-form-item>
+        <el-form-item label="账期设置:" required>
+          <el-col :span="9">
+            <el-form-item label="" prop="billType">
+              <el-select
+                v-model="formData.billType"
+                placeholder="选择账期类型"
+                clearable
+              >
+                <el-option label="月度" :value="1"> </el-option
+                ><el-option label="季度" :value="2"> </el-option
+                ><el-option label="半年" :value="3"> </el-option>
+                <el-option label="年度" :value="4"> </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+          <el-col :span="9"
+            ><el-form-item label="" prop="billDay">
+              <el-select
+                v-model="formData.billDay"
+                placeholder="选择次月"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in days"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+        </el-form-item>
+        <el-form-item label="收款账号:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingName'"
+              :rules="rules['openingName']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingName"
+                placeholder="输入开户名"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingBank'"
+              :rules="rules['openingBank']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingBank"
+                placeholder="输入开户行"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.proceedsAccount'"
+              :rules="rules['proceedsAccount']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.accountList[0].proceedsAccount"
+                placeholder="输入账号"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="开票信息:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoiceType'"
+              :rules="rules['invoiceType']"
+            >
+              <el-select
+                v-model="formData.invoiceBo.invoiceType"
+                placeholder="选择发票类型"
+                clearable
+              >
+                <el-option label="普票" :value="1"> </el-option
+                ><el-option label="专票" :value="2"> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoice'"
+              :rules="rules['invoice']"
+              ><el-input
+                clearable
+                v-model="formData.invoiceBo.invoice"
+                placeholder="输入发票抬头(企业或个人)"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'taxpayer'"
+              :rules="rules['taxpayer']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.invoiceBo.taxpayer"
+                placeholder="输入纳税人"
+              ></el-input> </el-form-item
+          ></el-col>
+        </el-form-item>
+      </el-form>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {
+        accountList: [{}],
+        invoiceBo: {},
+      },
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+        billType: [
+          { required: true, message: "请选择账期类型", trigger: "change" },
+        ],
+        billDay: [
+          { required: true, message: "请选择次月日期", trigger: "change" },
+        ],
+        openingName: [
+          { required: true, message: "请输入开户名", trigger: "blur" },
+        ],
+        openingBank: [
+          { required: true, message: "请输入开户行", trigger: "blur" },
+        ],
+        proceedsAccount: [
+          { required: true, message: "请输入账号", trigger: "blur" },
+        ],
+        invoiceType: [
+          { required: true, message: "请选择发票类型", trigger: "change" },
+        ],
+        invoice: [
+          { required: true, message: "请输入发票抬头", trigger: "blur" },
+        ],
+        taxpayer: [
+          { required: true, message: "请输入纳税人", trigger: "blur" },
+        ],
+      },
+      days: [],
+    };
+  },
+  mounted() {
+    this.getDays();
+  },
+
+  methods: {
+    //获取天数 从第6天算起 至31日
+    getDays() {
+      for (let i = 6; i <= 31; i++) {
+        this.days.push({ label: i + "日", value: i });
+      }
+    },
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+      this.formData.accountList = this.formData.accountList || [{}];
+      this.formData.invoiceBo = this.formData.invoiceBo || {};
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$api[
+            this.activeData.tenantId ? "systemtenantedittop" : "systemtenantadd"
+          ](this.formData).then((res) => {
+            this.$message.success("成功");
+            this.isShow = false;
+            this.$emit("search");
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 42 - 0
src/views/integralManagement/exchangeRules/index.vue

@@ -0,0 +1,42 @@
+<template>
+  <div id="">
+    <div>
+      <el-input v-model="formData.a" placeholder="输入积分" />积分 =
+      <el-input v-model="formData.b" placeholder="输入金额" />元
+      <el-button type="primary">确定</el-button>
+      <el-button @click="record">修改记录</el-button>
+    </div>
+    <record
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></record>
+  </div>
+</template>
+
+<script>
+import record from "./record.vue";
+export default {
+  name: "",
+  components: { record },
+  data() {
+    return {
+      dialogVisible: false,
+      activeData: {},
+      formData: {},
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    record() {
+      this.activeData = {};
+      this.dialogVisible = true;
+    },
+    search() {},
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 88 - 0
src/views/integralManagement/exchangeRules/record.vue

@@ -0,0 +1,88 @@
+<template>
+  <div>
+    <BaseDialog
+      width="580px"
+      :isShow.sync="isShow"
+      title="操作记录"
+      @close="close"
+      :confirmStatus="false"
+    >
+      <el-timeline>
+        <el-timeline-item
+          v-for="(item, index) in checkLogVos"
+          :timestamp="$methodsTools.onlyForma(item.checkTime)"
+          placement="top"
+        >
+          <el-card>
+            <h4>动作:{{ item.b }}</h4>
+            <p>操作人:{{ item.name }}</p>
+            <p>操作前:{{ item.c }}</p>
+            <p>操作后:{{ item.d }}</p>
+          </el-card>
+        </el-timeline-item>
+      </el-timeline>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {},
+      checkLogVos: [
+        {
+          checkTime: 1234567891,
+          name: "操作人",
+          b: "充值", //动作,
+          c: "积分500", //操作前
+          d: "积分1000", //操作后
+        },
+        {
+          checkTime: 1234567891,
+          name: "操作人",
+          b: "充值", //动作,
+          c: "积分500", //操作前
+          d: "积分1000", //操作后
+        },
+      ],
+    };
+  },
+  mounted() {},
+
+  methods: {
+    close() {},
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 268 - 0
src/views/integralManagement/giftGoods/dislog.vue

@@ -0,0 +1,268 @@
+<template>
+  <div>
+    <BaseDialog
+      width="800px"
+      :isShow.sync="isShow"
+      :title="activeData.tenantId ? '修改' : '新增'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="机构名称:" prop="tenantName">
+          <el-input
+            clearable
+            v-model="formData.tenantName"
+            placeholder="输入机构名称"
+          ></el-input> </el-form-item
+        ><el-form-item label="h5域名:" prop="hostH5"
+          ><el-input
+            clearable
+            v-model="formData.hostH5"
+            placeholder="输入h5域名"
+          ></el-input></el-form-item
+        ><el-form-item label="PC域名:" prop="hostPc"
+          ><el-input
+            clearable
+            v-model="formData.hostPc"
+            placeholder="输入PC域名"
+          ></el-input
+        ></el-form-item>
+        <el-form-item label="账期设置:" required>
+          <el-col :span="9">
+            <el-form-item label="" prop="billType">
+              <el-select
+                v-model="formData.billType"
+                placeholder="选择账期类型"
+                clearable
+              >
+                <el-option label="月度" :value="1"> </el-option
+                ><el-option label="季度" :value="2"> </el-option
+                ><el-option label="半年" :value="3"> </el-option>
+                <el-option label="年度" :value="4"> </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+          <el-col :span="9"
+            ><el-form-item label="" prop="billDay">
+              <el-select
+                v-model="formData.billDay"
+                placeholder="选择次月"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in days"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+        </el-form-item>
+        <el-form-item label="收款账号:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingName'"
+              :rules="rules['openingName']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingName"
+                placeholder="输入开户名"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingBank'"
+              :rules="rules['openingBank']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingBank"
+                placeholder="输入开户行"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.proceedsAccount'"
+              :rules="rules['proceedsAccount']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.accountList[0].proceedsAccount"
+                placeholder="输入账号"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="开票信息:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoiceType'"
+              :rules="rules['invoiceType']"
+            >
+              <el-select
+                v-model="formData.invoiceBo.invoiceType"
+                placeholder="选择发票类型"
+                clearable
+              >
+                <el-option label="普票" :value="1"> </el-option
+                ><el-option label="专票" :value="2"> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoice'"
+              :rules="rules['invoice']"
+              ><el-input
+                clearable
+                v-model="formData.invoiceBo.invoice"
+                placeholder="输入发票抬头(企业或个人)"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'taxpayer'"
+              :rules="rules['taxpayer']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.invoiceBo.taxpayer"
+                placeholder="输入纳税人"
+              ></el-input> </el-form-item
+          ></el-col>
+        </el-form-item>
+      </el-form>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {
+        accountList: [{}],
+        invoiceBo: {},
+      },
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+        billType: [
+          { required: true, message: "请选择账期类型", trigger: "change" },
+        ],
+        billDay: [
+          { required: true, message: "请选择次月日期", trigger: "change" },
+        ],
+        openingName: [
+          { required: true, message: "请输入开户名", trigger: "blur" },
+        ],
+        openingBank: [
+          { required: true, message: "请输入开户行", trigger: "blur" },
+        ],
+        proceedsAccount: [
+          { required: true, message: "请输入账号", trigger: "blur" },
+        ],
+        invoiceType: [
+          { required: true, message: "请选择发票类型", trigger: "change" },
+        ],
+        invoice: [
+          { required: true, message: "请输入发票抬头", trigger: "blur" },
+        ],
+        taxpayer: [
+          { required: true, message: "请输入纳税人", trigger: "blur" },
+        ],
+      },
+      days: [],
+    };
+  },
+  mounted() {
+    this.getDays();
+  },
+
+  methods: {
+    //获取天数 从第6天算起 至31日
+    getDays() {
+      for (let i = 6; i <= 31; i++) {
+        this.days.push({ label: i + "日", value: i });
+      }
+    },
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+      this.formData.accountList = this.formData.accountList || [{}];
+      this.formData.invoiceBo = this.formData.invoiceBo || {};
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$api[
+            this.activeData.tenantId ? "systemtenantedittop" : "systemtenantadd"
+          ](this.formData).then((res) => {
+            this.$message.success("成功");
+            this.isShow = false;
+            this.$emit("search");
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 163 - 0
src/views/integralManagement/giftGoods/index.vue

@@ -0,0 +1,163 @@
+<template>
+  <div id="mechanism">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+      @addClick="addClick"
+    >
+      <template slot="customize">
+        <el-button type="warning"> 批量删除 </el-button>
+      </template>
+      <template slot="domainName" slot-scope="props"> </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row)"
+          >修改</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></dislog>
+  </div>
+</template>
+
+<script>
+import dislog from "./dislog.vue";
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "Mechanism",
+  components: { searchBoxNew, tableList, pagination, dislog },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        title: "机构列表",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: false,
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "tenantid",
+          placeholder: "请选择机构名称",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "机构名称",
+          prop: "a",
+          hidden: true,
+        },
+        {
+          label: "是否有商户号",
+          prop: "b",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "是",
+              value: 1,
+            },
+            {
+              label: "否",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "银行账号信息",
+          prop: "c",
+          hidden: true,
+          scope: "solt",
+          soltName: "status",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      activeData: {},
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(data) {
+      this.activeData = data || {};
+      this.dialogVisible = true;
+    },
+    search(v) {
+      this.tableData = [
+        {
+          a: "深圳桥恩心理咨询有限公司",
+          b: 1,
+          c: 1234567891,
+        },
+      ];
+      //   this.loading = true;
+      //   if (v === 2) {
+      //     this.formData = {
+      //       pageSize: 10,
+      //       pageNum: 1,
+      //     };
+      //   }
+      //   this.$api
+      //     .xxx(this.formData)
+      //     .then((res) => {
+      //       this.tableData = res.rows;
+      //       this.total = res.total;
+      //       this.navText.index = res.total;
+      //     })
+      //     .finally(() => {
+      //       this.loading = false;
+      //     });
+    },
+    init() {
+      this.search(2);
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {})
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 111 - 0
src/views/integralManagement/membershipCard/dislog.vue

@@ -0,0 +1,111 @@
+<template>
+  <div>
+    <BaseDialog
+      width="580px"
+      :isShow.sync="isShow"
+      :title="activeData.id ? '会员充值' : '会员充值'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="充值金额:" prop="a">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入充值金额"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="积分:" prop="">
+          <el-input
+            disabled
+            clearable
+            v-model="formData.a"
+            placeholder="积分"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <template slot="slotBtn">
+        <el-button type="success">启用</el-button>
+      </template>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {},
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  mounted() {},
+
+  methods: {
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$message.success("成功");
+          this.isShow = false;
+          this.$emit("search");
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 248 - 0
src/views/integralManagement/membershipCard/index.vue

@@ -0,0 +1,248 @@
+<template>
+  <div id="">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+    >
+      <template slot="customize">
+        <el-button type="primary"> 会员卡开通 </el-button>
+        <el-button type="primary"> 会员充值 </el-button>
+        <el-button type="primary"> 会员恢复 </el-button>
+        <el-button> 注销会员 </el-button>
+        <el-button> 导出excel </el-button>
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row)"
+          >充值</el-button
+        ><el-button type="text" @click="cancellation(props.scope.row)"
+          >注销</el-button
+        ><el-button type="text" @click="record(props.scope.row)"
+          >记录</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></dislog>
+    <record
+      :dialogVisible.sync="dialogRecordVisible"
+      @search="search"
+      :activeData="activeData"
+    ></record>
+  </div>
+</template>
+
+<script>
+import dislog from "./dislog.vue";
+import record from "./record.vue";
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "",
+  components: { searchBoxNew, tableList, pagination, dislog, record },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        title: "会员卡",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: true,
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "status",
+          placeholder: "会员状态",
+          scope: "select",
+          options: [
+            {
+              label: "正常",
+              value: 1,
+            },
+            {
+              label: "注销",
+              value: 2,
+            },
+          ],
+        },
+        {
+          prop: "tenantid",
+          placeholder: "输入手机号码/身份证号",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "会员状态",
+          prop: "a",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "正常",
+              value: 1,
+            },
+            {
+              label: "注销",
+              value: 2,
+            },
+          ],
+        },
+        {
+          label: "会员来源",
+          prop: "b",
+          hidden: true,
+        },
+        {
+          label: "关联机构",
+          prop: "c",
+          hidden: true,
+        },
+        {
+          label: "姓名",
+          prop: "d",
+          hidden: true,
+        },
+        {
+          label: "性别",
+          prop: "e",
+          hidden: true,
+        },
+        {
+          label: "身份证号",
+          prop: "f",
+          hidden: true,
+        },
+        {
+          label: "手机号码",
+          prop: "g",
+          hidden: true,
+        },
+        {
+          label: "当前积分",
+          prop: "h",
+          hidden: true,
+        },
+        {
+          label: "累计积分",
+          prop: "i",
+          hidden: true,
+        },
+        {
+          label: "累计充值",
+          prop: "j",
+          hidden: true,
+        },
+        {
+          label: "累计退款",
+          prop: "k",
+          hidden: true,
+        },
+        {
+          label: "开通时间",
+          prop: "l",
+          hidden: true,
+          scope: "aTimeList",
+        },
+        {
+          label: "注销时间",
+          prop: "n",
+          hidden: true,
+          scope: "aTimeList",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      dialogRecordVisible: false,
+      activeData: {},
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(data) {
+      this.activeData = data || {};
+      this.dialogVisible = true;
+    },
+    search(v) {
+      this.tableData = [
+        {
+          id: 1,
+          a: 1,
+          b: "云学堂",
+          c: "广东中正科技公司",
+          d: "张三",
+          e: "男",
+          f: "4408232023012332111",
+          g: 13800138000,
+          h: 100,
+          i: 300,
+          j: 200,
+          k: 0,
+          l: 1234567891,
+          n: 1234567891,
+        },
+      ];
+      //   this.loading = true;
+      //   if (v === 2) {
+      //     this.formData = {
+      //       pageSize: 10,
+      //       pageNum: 1,
+      //     };
+      //   }
+      //   this.$api
+      //     .xxx(this.formData)
+      //     .then((res) => {
+      //       this.tableData = res.rows;
+      //       this.total = res.total;
+      //       this.navText.index = res.total;
+      //     })
+      //     .finally(() => {
+      //       this.loading = false;
+      //     });
+    },
+    init() {
+      this.search(2);
+    },
+    //注销会员
+    cancellation(row) {
+      this.$alert("确定注销该会员吗?", "提示", {
+        dangerouslyUseHTMLString: true,
+      })
+        .then(() => {})
+        .catch(() => {});
+    },
+    record(data) {
+      this.activeData = data || {};
+      this.dialogRecordVisible = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 88 - 0
src/views/integralManagement/membershipCard/record.vue

@@ -0,0 +1,88 @@
+<template>
+  <div>
+    <BaseDialog
+      width="580px"
+      :isShow.sync="isShow"
+      title="操作记录"
+      @close="close"
+      :confirmStatus="false"
+    >
+      <el-timeline>
+        <el-timeline-item
+          v-for="(item, index) in checkLogVos"
+          :timestamp="$methodsTools.onlyForma(item.checkTime)"
+          placement="top"
+        >
+          <el-card>
+            <h4>动作:{{ item.b }}</h4>
+            <p>操作人:{{ item.name }}</p>
+            <p>操作前:{{ item.c }}</p>
+            <p>操作后:{{ item.d }}</p>
+          </el-card>
+        </el-timeline-item>
+      </el-timeline>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {},
+      checkLogVos: [
+        {
+          checkTime: 1234567891,
+          name: "操作人",
+          b: "充值", //动作,
+          c: "积分500", //操作前
+          d: "积分1000", //操作后
+        },
+        {
+          checkTime: 1234567891,
+          name: "操作人",
+          b: "充值", //动作,
+          c: "积分500", //操作前
+          d: "积分1000", //操作后
+        },
+      ],
+    };
+  },
+  mounted() {},
+
+  methods: {
+    close() {},
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 135 - 0
src/views/integralManagement/merchantManageMent/dislog.vue

@@ -0,0 +1,135 @@
+<template>
+  <div>
+    <BaseDialog
+      width="580px"
+      :isShow.sync="isShow"
+      :title="activeData.id ? '编辑商户' : '添加商户'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="合作商户:" prop="a">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入合作商户"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="联系人:" prop="">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入合作商户"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="手机号码:" prop="">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入合作商户"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="用户名:" prop="">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入合作商户"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="密码:" prop="">
+          <el-input
+            clearable
+            v-model="formData.a"
+            placeholder="请输入合作商户"
+          ></el-input
+          ><el-button>密码恢复</el-button>
+        </el-form-item>
+      </el-form>
+      <template slot="slotBtn">
+        <el-button type="success">启用</el-button>
+      </template>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {},
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+        billType: [
+          { required: true, message: "请选择账期类型", trigger: "change" },
+        ],
+      },
+    };
+  },
+  mounted() {},
+
+  methods: {
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$message.success("成功");
+          this.isShow = false;
+          this.$emit("search");
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 179 - 0
src/views/integralManagement/merchantManageMent/index.vue

@@ -0,0 +1,179 @@
+<template>
+  <div id="">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+      @addClick="addClick"
+    >
+      <template slot="customize">
+        <el-button type="warning"> 批量删除 </el-button>
+      </template>
+      <template slot="status" slot-scope="props">
+        <el-switch
+          v-model="props.scope.row.status"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+          :active-value="1"
+          :inactive-value="0"
+          @change="statusChange($event, props.scope.row)"
+        >
+        </el-switch>
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row)"
+          >编辑</el-button
+        ><el-button type="text" @click="restore(props.scope.row)"
+          >密码恢复</el-button
+        ><el-button type="text" @click="del(props.scope.row)">删除</el-button>
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></dislog>
+  </div>
+</template>
+
+<script>
+import dislog from "./dislog.vue";
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "",
+  components: { searchBoxNew, tableList, pagination, dislog },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        title: "商户管理",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: false,
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "tenantid",
+          placeholder: "输入合作商户",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "合作商户",
+          prop: "a",
+          hidden: true,
+        },
+        {
+          label: "启用状态",
+          prop: "b",
+          hidden: true,
+          scope: "solt",
+          soltName: "status",
+        },
+        {
+          label: "录入时间",
+          prop: "c",
+          hidden: true,
+          scope: "aTimeList",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      activeData: {},
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(data) {
+      this.activeData = data || {};
+      this.dialogVisible = true;
+    },
+    search(v) {
+      this.tableData = [
+        {
+          id: 1,
+          a: "深圳桥恩心理咨询有限公司",
+          b: 1,
+          c: 1234567891,
+        },
+      ];
+      //   this.loading = true;
+      //   if (v === 2) {
+      //     this.formData = {
+      //       pageSize: 10,
+      //       pageNum: 1,
+      //     };
+      //   }
+      //   this.$api
+      //     .xxx(this.formData)
+      //     .then((res) => {
+      //       this.tableData = res.rows;
+      //       this.total = res.total;
+      //       this.navText.index = res.total;
+      //     })
+      //     .finally(() => {
+      //       this.loading = false;
+      //     });
+    },
+    statusChange(e, row) {
+      if (true) {
+        row.status = 1;
+      }
+    },
+    init() {
+      this.search(2);
+    },
+    //密码恢复
+    restore(row) {
+      this.$alert("确定恢复为初始密码吗?", "提示", {
+        dangerouslyUseHTMLString: true,
+      })
+        .then(() => {})
+        .catch(() => {});
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {})
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 268 - 0
src/views/integralManagement/writeOff/dislog.vue

@@ -0,0 +1,268 @@
+<template>
+  <div>
+    <BaseDialog
+      width="800px"
+      :isShow.sync="isShow"
+      :title="activeData.tenantId ? '修改' : '新增'"
+      @submit="submitForm"
+      @close="close"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="机构名称:" prop="tenantName">
+          <el-input
+            clearable
+            v-model="formData.tenantName"
+            placeholder="输入机构名称"
+          ></el-input> </el-form-item
+        ><el-form-item label="h5域名:" prop="hostH5"
+          ><el-input
+            clearable
+            v-model="formData.hostH5"
+            placeholder="输入h5域名"
+          ></el-input></el-form-item
+        ><el-form-item label="PC域名:" prop="hostPc"
+          ><el-input
+            clearable
+            v-model="formData.hostPc"
+            placeholder="输入PC域名"
+          ></el-input
+        ></el-form-item>
+        <el-form-item label="账期设置:" required>
+          <el-col :span="9">
+            <el-form-item label="" prop="billType">
+              <el-select
+                v-model="formData.billType"
+                placeholder="选择账期类型"
+                clearable
+              >
+                <el-option label="月度" :value="1"> </el-option
+                ><el-option label="季度" :value="2"> </el-option
+                ><el-option label="半年" :value="3"> </el-option>
+                <el-option label="年度" :value="4"> </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+          <el-col :span="9"
+            ><el-form-item label="" prop="billDay">
+              <el-select
+                v-model="formData.billDay"
+                placeholder="选择次月"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in days"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+        </el-form-item>
+        <el-form-item label="收款账号:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingName'"
+              :rules="rules['openingName']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingName"
+                placeholder="输入开户名"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.openingBank'"
+              :rules="rules['openingBank']"
+            >
+              <el-input
+                clearable
+                v-model="formData.accountList[0].openingBank"
+                placeholder="输入开户行"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'accountList.' + 0 + '.proceedsAccount'"
+              :rules="rules['proceedsAccount']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.accountList[0].proceedsAccount"
+                placeholder="输入账号"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="开票信息:" required>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoiceType'"
+              :rules="rules['invoiceType']"
+            >
+              <el-select
+                v-model="formData.invoiceBo.invoiceType"
+                placeholder="选择发票类型"
+                clearable
+              >
+                <el-option label="普票" :value="1"> </el-option
+                ><el-option label="专票" :value="2"> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'invoice'"
+              :rules="rules['invoice']"
+              ><el-input
+                clearable
+                v-model="formData.invoiceBo.invoice"
+                placeholder="输入发票抬头(企业或个人)"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <el-form-item
+              label=""
+              :prop="'invoiceBo.' + 'taxpayer'"
+              :rules="rules['taxpayer']"
+            >
+              <el-input
+                style="margin-top: 20px"
+                clearable
+                v-model="formData.invoiceBo.taxpayer"
+                placeholder="输入纳税人"
+              ></el-input> </el-form-item
+          ></el-col>
+        </el-form-item>
+      </el-form>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    activeData: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      formData: {
+        accountList: [{}],
+        invoiceBo: {},
+      },
+      rules: {
+        tenantName: [
+          { required: true, message: "请输入机构名称", trigger: "blur" },
+        ],
+        billType: [
+          { required: true, message: "请选择账期类型", trigger: "change" },
+        ],
+        billDay: [
+          { required: true, message: "请选择次月日期", trigger: "change" },
+        ],
+        openingName: [
+          { required: true, message: "请输入开户名", trigger: "blur" },
+        ],
+        openingBank: [
+          { required: true, message: "请输入开户行", trigger: "blur" },
+        ],
+        proceedsAccount: [
+          { required: true, message: "请输入账号", trigger: "blur" },
+        ],
+        invoiceType: [
+          { required: true, message: "请选择发票类型", trigger: "change" },
+        ],
+        invoice: [
+          { required: true, message: "请输入发票抬头", trigger: "blur" },
+        ],
+        taxpayer: [
+          { required: true, message: "请输入纳税人", trigger: "blur" },
+        ],
+      },
+      days: [],
+    };
+  },
+  mounted() {
+    this.getDays();
+  },
+
+  methods: {
+    //获取天数 从第6天算起 至31日
+    getDays() {
+      for (let i = 6; i <= 31; i++) {
+        this.days.push({ label: i + "日", value: i });
+      }
+    },
+    init() {
+      this.formData = JSON.parse(JSON.stringify(this.activeData));
+      this.formData.accountList = this.formData.accountList || [{}];
+      this.formData.invoiceBo = this.formData.invoiceBo || {};
+    },
+    close() {
+      this.$refs["formData"].resetFields();
+    },
+    submitForm() {
+      this.$refs["formData"].validate((valid) => {
+        if (valid) {
+          this.$api[
+            this.activeData.tenantId ? "systemtenantedittop" : "systemtenantadd"
+          ](this.formData).then((res) => {
+            this.$message.success("成功");
+            this.isShow = false;
+            this.$emit("search");
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        if (this.dialogVisible) {
+          this.init();
+        }
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-input {
+  width: 220px;
+  margin-right: 10px;
+}
+.el-select {
+  width: 220px;
+  margin-right: 10px;
+}
+</style>

+ 163 - 0
src/views/integralManagement/writeOff/index.vue

@@ -0,0 +1,163 @@
+<template>
+  <div id="mechanism">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      rowKey="id"
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+      @addClick="addClick"
+    >
+      <template slot="customize">
+        <el-button type="warning"> 批量删除 </el-button>
+      </template>
+      <template slot="domainName" slot-scope="props"> </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row)"
+          >修改</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+      :activeData="activeData"
+    ></dislog>
+  </div>
+</template>
+
+<script>
+import dislog from "./dislog.vue";
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "Mechanism",
+  components: { searchBoxNew, tableList, pagination, dislog },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        title: "机构列表",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: false,
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "tenantid",
+          placeholder: "请选择机构名称",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "机构名称",
+          prop: "a",
+          hidden: true,
+        },
+        {
+          label: "是否有商户号",
+          prop: "b",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "是",
+              value: 1,
+            },
+            {
+              label: "否",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "银行账号信息",
+          prop: "c",
+          hidden: true,
+          scope: "solt",
+          soltName: "status",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+      activeData: {},
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(data) {
+      this.activeData = data || {};
+      this.dialogVisible = true;
+    },
+    search(v) {
+      this.tableData = [
+        {
+          a: "深圳桥恩心理咨询有限公司",
+          b: 1,
+          c: 1234567891,
+        },
+      ];
+      //   this.loading = true;
+      //   if (v === 2) {
+      //     this.formData = {
+      //       pageSize: 10,
+      //       pageNum: 1,
+      //     };
+      //   }
+      //   this.$api
+      //     .xxx(this.formData)
+      //     .then((res) => {
+      //       this.tableData = res.rows;
+      //       this.total = res.total;
+      //       this.navText.index = res.total;
+      //     })
+      //     .finally(() => {
+      //       this.loading = false;
+      //     });
+    },
+    init() {
+      this.search(2);
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {})
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>