Tang %!s(int64=2) %!d(string=hai) anos
pai
achega
fc401d01f3

+ 76 - 38
src/components/audit/dislogSet.vue

@@ -75,14 +75,25 @@
           label-width="100px"
           class="demo-ruleForm"
         >
+          <el-form-item label="商户银行:">
+            <div>
+              <el-button
+                v-for="(item, index) in bankList"
+                :key="index"
+                @click="fastInput(item)"
+                >{{ item.openingName }}</el-button
+              >
+              <p style="margin: 0;">注:点击上方按钮可快速填入对应商户银行信息</p>
+            </div></el-form-item
+          >
           <el-form-item label="银行账号:" prop="toBankAcount">
-            <el-input v-model="formPay.toBankAcount"></el-input>
+            <el-input clearable v-model="formPay.toBankAcount"></el-input>
           </el-form-item>
           <el-form-item label="账号名称:" prop="toBankName">
-            <el-input v-model="formPay.toBankName"></el-input>
+            <el-input clearable v-model="formPay.toBankName"></el-input>
           </el-form-item>
           <el-form-item label="银行名称:" prop="toBankTypeName">
-            <el-input v-model="formPay.toBankTypeName"></el-input>
+            <el-input clearable v-model="formPay.toBankTypeName"></el-input>
           </el-form-item>
           <el-form-item label="备注:" prop="remark">
             <el-input
@@ -93,41 +104,57 @@
           </el-form-item>
         </el-form>
         <el-divider></el-divider>
-        <em>订单信息:</em>
-        <p>
-          支付金额:<span
-            class="color_red"
-            style="font-size: 28px; font-weight: 400"
-            >¥
-            {{
-              checkFrom === 2
-                ? form.divideCompanyMoney
-                : checkFrom === 3
-                ? form.divideSellerMoney
-                : 0
-            }}</span
-          >
-        </p>
-        <!-- <p>
-          支付方式:<el-radio v-model="form.payType" :label="1"
-            >微信支付</el-radio
-          >
-          <el-radio v-model="form.payType" :label="2" v-if="!ShowStatus()"
-            >网银支付、对公转账</el-radio
-          >
-        </p> -->
-        <p>
-          下单时间:<em>{{
-            $methodsTools.onlyForma(type === 1 ? form.buyTime : form.applyTime)
-          }}</em>
-        </p>
-        <p>
-          订单单号:<em>{{ form.orderSn }}</em>
-        </p>
-        <!-- <el-divider></el-divider>
-        <em>支付方式:</em>
-        <el-tag type="success" v-if="form.payType === 1">原路返回</el-tag>
-        <el-tag type="danger" v-if="form.payType === 2">网银支付</el-tag> -->
+        <template v-if="type === 1">
+          <em>订单信息:</em>
+          <p>
+            支付金额:<span
+              class="color_red"
+              style="font-size: 28px; font-weight: 400"
+              >¥
+              {{
+                checkFrom === 2
+                  ? form.divideCompanyMoney
+                  : checkFrom === 3
+                  ? form.divideSellerMoney
+                  : 0
+              }}</span
+            >
+          </p>
+          <p>
+            下单时间:<em>{{ $methodsTools.onlyForma(form.buyTime) }}</em>
+          </p>
+          <p>
+            订单单号:<em>{{ form.orderSn }}</em>
+          </p>
+        </template>
+        <template v-if="type === 2">
+          <em>订单信息:</em>
+          <p>
+            支付金额:<span
+              class="color_red"
+              style="font-size: 28px; font-weight: 400"
+              >¥ {{ form.refundMoney }}</span
+            >
+          </p>
+          <p>
+            下单时间:<em>{{ $methodsTools.onlyForma(form.applyTime) }}</em>
+          </p>
+          <p>
+            订单单号:<em>{{ form.orderSn }}</em>
+          </p>
+          <p>
+            支付方式:<el-radio disabled v-model="form.payType" :label="1"
+              >微信支付</el-radio
+            >
+            <el-radio disabled v-model="form.payType" :label="2" v-if="!ShowStatus()"
+              >网银支付、对公转账</el-radio
+            >
+          </p>
+          <el-divider></el-divider>
+          <em>支付方式:</em>
+          <el-tag type="success" v-if="form.payType === 1">原路返回</el-tag>
+          <el-tag type="danger" v-if="form.payType === 2">网银支付</el-tag>
+        </template>
       </template>
     </BaseDialog>
   </div>
@@ -195,12 +222,20 @@ export default {
           { required: true, message: "请输入银行名称", trigger: "blur" },
         ],
       },
+      bankList: [],
     };
   },
 
   mounted() {},
 
   methods: {
+    fastInput(item) {
+      this.formPay = {
+        toBankAcount: item.proceedsAccount,
+        toBankName: item.openingName,
+        toBankTypeName: item.openingBank,
+      };
+    },
     ShowStatus() {
       return this.type === 1 ? true : false;
     },
@@ -212,6 +247,9 @@ export default {
           : "systemtoporderrefunddetail"
       ](this.orderSn).then((res) => {
         this.form = res.data;
+        this.$api.systemtenantbankId(res.data.tenantId).then((e) => {
+          this.bankList = e.data || [];
+        });
       });
     },
     close() {

+ 8 - 0
src/components/tableList.vue

@@ -90,6 +90,7 @@
       :border="true"
       ref="pagerset"
       v-loading="loading"
+      :row-class-name="navText.tableColor ? navText.tableColorFunc : ''"
       :header-cell-style="{
         'background-color': '#eee',
         color: '#333',
@@ -122,6 +123,7 @@
         width="55"
         header-align="center"
         fixed="left"
+        :selectable="navText.selectableStatus?navText.selectableFunc:selectFuncTrue"
       >
       </el-table-column>
       <el-table-column
@@ -1251,6 +1253,9 @@ export default {
     this.initTR();
   },
   methods: {
+    selectFuncTrue(){
+      return true
+    },
     radioChange(val) {},
     /**
      * 学习账号标记跳转班级
@@ -1943,6 +1948,9 @@ export default {
 };
 </script>
 <style lang="less">
+.el-table .info-row {
+  background: #c9c9c9;
+}
 .open_style {
   cursor: pointer;
   color: blue;

+ 8 - 0
src/fxApi/orderManageList.js

@@ -141,5 +141,13 @@ export default {
             data
         })
     },
+    //订单学员审核
+    systemtopordercheckstudent(data) {
+        return request({
+            url: '/system/top/order/check/student',
+            method: 'post',
+            data
+        })
+    },
     
 }

+ 15 - 1
src/fxApi/temp.js

@@ -102,5 +102,19 @@ export default {
             params: data
         })
     },
-
+    //机构管理列表
+    systemtenantlist(data) {
+        return request({
+            url: '/system/tenant/list',
+            method: 'get',
+            params: data
+        })
+    },
+    //机构Id
+    systemtenantbankId(data) {
+        return request({
+            url: '/system/tenant/bank/'+data,
+            method: 'get',
+        })
+    },
 }

+ 4 - 3
src/views/financed/components/dislogOrderDetails.vue

@@ -14,20 +14,20 @@
         <span v-if="orderFrom === 3"
           >审核状态:{{ checkStatus(detailInfo.checkStatus) }}</span
         >
-        <i v-if="ShowStatus" style="float: right">
+        <i v-if="ShowStatus && detailInfo.checkStatus === 0" style="float: right">
           <el-button
             type="success"
             size="small"
             @click="success"
             :disabled="orderFrom !== 3"
-            >审核通过</el-button
+            >订单审核通过</el-button
           >
           <el-button
             type="danger"
             size="small"
             @click="error"
             :disabled="orderFrom !== 3"
-            >审核不通过</el-button
+            >订单审核不通过</el-button
           >
         </i>
       </div>
@@ -84,6 +84,7 @@
         v-if="isShow"
         :orderSn="orderSn"
         :orderFrom="orderFrom"
+        :ShowStatus="ShowStatus"
       ></student-details>
     </BaseDialog>
   </div>

+ 106 - 4
src/views/financed/components/studentDetails.vue

@@ -5,7 +5,7 @@
         <div style="margin-bottom: 10px">
           <!-- 搜索框 -->
           <el-select
-          v-if="false"
+            v-if="false"
             style="width: 230px; margin-right: 10px"
             size="small"
             v-model="formData.studyStatus"
@@ -51,11 +51,19 @@
             >查询</el-button
           >
           <el-button size="small" @click="search('init')">重置</el-button>
+          <el-button v-if="ShowStatus" type="success" size="small" @click="orderCheck(1,'')"
+            >学员审核通过</el-button
+          >
+          <el-button v-if="ShowStatus" type="danger" size="small" @click="orderCheck(2, '不')"
+            >学员审核不通过</el-button
+          >
         </div>
         <table-list
+          ref="tableList"
+          rowKey="orderGoodsId"
           :tableSets="tableSet1"
           :tableData="tableData1"
-          :navText="dialogNavText"
+          :navText="dialogNavText1"
         >
         </table-list>
         <pagination
@@ -69,7 +77,7 @@
         <table-list
           :tableSets="tableSet2"
           :tableData="tableData2"
-          :navText="dialogNavText"
+          :navText="dialogNavText2"
         >
         </table-list>
         <pagination
@@ -95,6 +103,10 @@ export default {
     orderFrom: {
       type: Number,
     },
+    ShowStatus: {
+      type: Boolean,
+      default: false,
+    },
   },
   data() {
     return {
@@ -180,6 +192,34 @@ export default {
           prop: "studyStatus",
           hidden: true,
         },
+        {
+          label: "审核状态",
+          prop: "checkStatus",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "待审核",
+              value: 0,
+            },
+            {
+              label: "已通过",
+              value: 1,
+            },
+            {
+              label: "未通过",
+              value: 2,
+            },
+            {
+              label: "已撤销",
+              value: 3,
+            },
+            {
+              label: "已取消",
+              value: -1,
+            },
+          ],
+        },
       ],
       tableData1: [],
       tableSet2: [
@@ -231,7 +271,40 @@ export default {
         },
       ],
       tableData2: [],
-      dialogNavText: {
+      dialogNavText1: {
+        index: 0,
+        num: true,
+        border: true,
+        choice: true,
+        choiceRadio: false,
+        openCheckMore: true,
+        radioKey: "specTemplateId",
+        radioFixed: false,
+        addHide: !false,
+        tableHide: true,
+        dontNum: false,
+        headShow: false,
+        tableColor: true,
+        tableColorFunc: (row, rowIndex) => {
+          if (row.checkStatus === -1) {
+            return "info-row";
+          }
+          return "";
+        },
+        selectableStatus: true,
+        selectableFunc: (row, rowIndex) => {
+          if (row.checkStatus === 0) {
+            return true;
+          } else {
+            return false;
+          }
+        },
+        backFatherBtn: {
+          status: false,
+          title: "未定义",
+        },
+      },
+      dialogNavText2: {
         index: 0,
         num: true,
         border: true,
@@ -262,6 +335,32 @@ export default {
   mounted() {},
 
   methods: {
+    orderCheck(e, ch) {
+      if (this.$refs.tableList.allCheckData.length === 0) {
+        this.$message.error("请勾选数据");
+        return;
+      }
+      this.$confirm(`确定学员${ch}审核通过吗?`, "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$api
+            .systemtopordercheckstudent({
+              checkStatus: e,
+              orderSn: this.orderSn,
+              orderGoodsIds: this.$refs.tableList.allCheckData.map(
+                (i) => i.orderGoodsIds
+              ),
+            })
+            .then((res) => {
+              this.search("init");
+              this.$message.success("操作成功");
+            });
+        })
+        .catch(() => {});
+    },
     search(e) {
       if (e === "init") {
         this.formData = {
@@ -270,6 +369,9 @@ export default {
           orderSn: this.orderSn,
           orderFrom: this.orderFrom,
         };
+        this.$nextTick(() => {
+          this.$refs.tableList.clearMoreActive();
+        });
       }
       this.$api[
         this.tabType === "1" ? "systemtopordergoodslist" : "systemtoporderlog"

+ 19 - 3
src/views/financed/orderManageList/index.vue

@@ -11,7 +11,7 @@
       <el-button type="primary" size="small" @click="editCost"
         >成本设置</el-button
       >
-      <el-button type="primary" size="small" @click="completeOrder(false)"
+      <el-button v-if="false" type="primary" size="small" @click="completeOrder(false)"
         >完单确认</el-button
       >
       <el-button type="primary" size="small" @click="editRemarks(1)"
@@ -59,7 +59,7 @@
         <div>已退账款:{{ props.scope.row["orderRefunded"] }}</div>
         <div>未收账款:{{ props.scope.row["orderUncollected"] }}</div>
         <div style="color: red">
-          (预计收款时间){{ props.scope.row["predictReceiveTime"] }}
+          (预计收款时间){{$methodsTools.onlyForma(props.scope.row["predictReceiveTime"]) }}
         </div>
         <div>实际账款:{{ props.scope.row["orderPractical"] }}</div>
       </template>
@@ -113,7 +113,7 @@
         <el-button type="text" @click="seePZ(props.scope.row.attachmentList)"
           >转账凭证</el-button
         >
-        <el-button type="text" @click="completeOrder(props.scope.row.orderSn)"
+        <el-button v-if="false" type="text" @click="completeOrder(props.scope.row.orderSn)"
           >完单确认</el-button
         >
       </template>
@@ -405,6 +405,22 @@ export default {
             },
           ],
         },
+        {
+          label: "学员审核状态",
+          prop: "studentCheckStatus",
+          scope: "isOptions",
+          hidden: true,
+          options: [
+            {
+              label: "待审核",
+              value: 0,
+            },
+            {
+              label: "已审核",
+              value: 1,
+            },
+          ],
+        },
         {
           label: "退款状态",
           prop: "startTime",

+ 167 - 0
src/views/systemManagement/mechanism/dislog.vue

@@ -0,0 +1,167 @@
+<template>
+  <div>
+    <BaseDialog
+      width="800px"
+      :isShow.sync="isShow"
+      title="新增"
+      @submit="submitForm"
+    >
+      <el-form
+        :model="formData"
+        :rules="rules"
+        ref="formData"
+        label-width="100px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="机构名称:" prop="name">
+          <el-input
+            clearable
+            v-model="formData.name"
+            placeholder="输入机构名称"
+          ></el-input> </el-form-item
+        ><el-form-item label="网站域名:" prop="name">
+          <div
+            v-for="(item, index) in formData.domain"
+            style="margin-bottom: 6px"
+          >
+            <el-input
+              clearable
+              v-model="item.name"
+              placeholder="输入备注"
+            ></el-input>
+            <el-input
+              clearable
+              v-model="item.name"
+              placeholder="输入主机名"
+            ></el-input>
+            <i
+              style="font-size: 24px; vertical-align: middle; margin-right: 4px"
+              class="el-icon-circle-plus"
+              v-if="index === formData.domain.length - 1"
+              @click="formData.domain.push({})"
+            ></i>
+            <i
+              style="font-size: 24px; vertical-align: middle"
+              class="el-icon-remove"
+              v-if="formData.domain.length > 1"
+              @click="formData.domain.splice(index, 1)"
+            ></i>
+          </div> </el-form-item
+        ><el-form-item label="账期设置:" prop="name">
+          <el-select
+            v-model="formData.years"
+            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-select v-model="formData.days" placeholder="选择次月" clearable>
+            <el-option
+              v-for="(item, index) in days"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select> </el-form-item
+        ><el-form-item label="收款账号:" prop="name">
+          <el-input
+            clearable
+            v-model="formData.name"
+            placeholder="输入开户名"
+          ></el-input>
+          <el-input
+            clearable
+            v-model="formData.name"
+            placeholder="输入开户行"
+          ></el-input>
+          <el-input
+            style="margin-top: 10px"
+            clearable
+            v-model="formData.name"
+            placeholder="输入账号"
+          ></el-input></el-form-item
+        ><el-form-item label="开票信息:" prop="name">
+          <el-select
+            v-model="formData.type"
+            placeholder="选择发票类型"
+            clearable
+          >
+            <el-option label="普票" :value="1"> </el-option
+            ><el-option label="专票" :value="2"> </el-option>
+          </el-select>
+          <el-input
+            clearable
+            v-model="formData.name"
+            placeholder="输入发票抬头(企业或个人)"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </BaseDialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "remarks",
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  data() {
+    return {
+      formData: {
+        domain: [{}],
+      },
+      rules: {},
+      days: [],
+    };
+  },
+  mounted() {
+    this.getDays();
+  },
+
+  methods: {
+    //获取天数 从第6天算起 至31日
+    getDays() {
+      for (let i = 6; i <= 31; i++) {
+        this.days.push({ label: i + "日", value: i });
+      }
+    },
+    init() {},
+    submitForm() {
+      this.$message.success("成功");
+      this.isShow = false;
+      this.$emit("search");
+    },
+  },
+  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>

+ 220 - 0
src/views/systemManagement/mechanism/index.vue

@@ -0,0 +1,220 @@
+<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="status" slot-scope="props">
+        <el-popover placement="right" width="650" trigger="click">
+          <el-table border :data="props.scope.row.accountList">
+            <el-table-column
+              type="index"
+              label="序号"
+              width="70"
+              align="center"
+              header-align="center"
+            >
+            </el-table-column>
+            <el-table-column
+              width="120"
+              property="openingBank"
+              label="开户银行"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              width="180"
+              property="openingName"
+              label="开户名称"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              property="proceedsAccount"
+              label="收款账号"
+              align="center"
+            ></el-table-column>
+          </el-table>
+          <el-button
+            slot="reference"
+            type="text"
+            :disabled="
+              !props.scope.row.accountList ||
+              props.scope.row.accountList.length === 0
+            "
+            >查看</el-button
+          >
+        </el-popover>
+      </template>
+      <template slot="domainName" slot-scope="props">
+        <p>移动端:</p>
+        <p>电脑端:</p>
+      </template>
+      <template slot="accountPeriodSetting" slot-scope="props">
+        <p>月度,次月5日</p>
+      </template>
+      <template slot="invoiceInformation" slot-scope="props">
+        <p>发票类型:</p>
+        <p>发票抬头:</p>
+        <p>企业名称:</p>
+        <p>企业ID:</p>
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <dislog
+      :dialogVisible.sync="dialogVisible"
+      @search="search"
+    ></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,
+        tableHide: true,
+      },
+      formList: [
+        {
+          prop: "tenantName",
+          placeholder: "请输入机构名称",
+        },
+      ],
+      formData: {},
+      tableSet: [
+        {
+          label: "机构名称",
+          prop: "tenantName",
+          hidden: true,
+        },
+        {
+          label: "网站域名",
+          prop: "address",
+          hidden: true,
+          scope: "solt",
+          soltName: "domainName",
+        },
+        {
+          label: "账期设置",
+          prop: "address",
+          hidden: true,
+          scope: "solt",
+          soltName: "accountPeriodSetting",
+        },
+        {
+          label: "分成模式",
+          prop: "divideModel",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "机构分成",
+              value: 1,
+            },
+            {
+              label: "业务员分成",
+              value: 2,
+            },
+          ],
+        },
+        {
+          label: "是否有商户号",
+          prop: "commercialTenant",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "是",
+              value: 1,
+            },
+            {
+              label: "否",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "银行账号信息",
+          prop: "accountList",
+          hidden: true,
+          scope: "solt",
+          soltName: "status",
+        },
+        {
+          label: "发票信息",
+          prop: "address",
+          hidden: true,
+          scope: "solt",
+          soltName: "invoiceInformation",
+        },
+      ],
+      tableData: [],
+      total: 0,
+      dialogVisible: false,
+    };
+  },
+  created() {
+    this.search(2);
+  },
+  methods: {
+    addClick(){
+      this.dialogVisible = true
+      console.log(this.dialogVisible)
+    },
+    search(v) {
+      this.loading = true;
+      if (v === 2) {
+        this.formData = {
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.$api
+        .systemtenantlist(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);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>