3 次代码提交 8d3561037c ... 42b58908b7

作者 SHA1 备注 提交日期
  Joe 42b58908b7 油品、站点关联 3 年之前
  Joe 782da9464e 油罐 3 年之前
  Joe 2f7288670b 支付渠道 3 年之前

+ 61 - 0
src/views/dept/1.vue

@@ -0,0 +1,61 @@
+<template>
+  <div>
+    <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
+      <el-form-item label="单选框组" prop="field107">
+        <el-radio-group v-model="formData.field107" size="medium">
+          <el-radio v-for="(item, index) in field107Options" :key="index" :label="item.value"
+            :disabled="item.disabled">{{item.label}}</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item size="large">
+        <el-button type="primary" @click="submitForm">提交</el-button>
+        <el-button @click="resetForm">重置</el-button>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+<script>
+export default {
+  components: {},
+  props: [],
+  data() {
+    return {
+      formData: {
+        field107: undefined,
+      },
+      rules: {
+        field107: [{
+          required: true,
+          message: '单选框组不能为空',
+          trigger: 'change'
+        }],
+      },
+      field107Options: [{
+        "label": "选项一",
+        "value": 1
+      }, {
+        "label": "选项二",
+        "value": 2
+      }],
+    }
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    submitForm() {
+      this.$refs['elForm'].validate(valid => {
+        if (!valid) return
+        // TODO 提交表单
+      })
+    },
+    resetForm() {
+      this.$refs['elForm'].resetFields()
+    },
+  }
+}
+
+</script>
+<style>
+</style>

+ 394 - 0
src/views/dept/Dept_AddOil.vue

@@ -0,0 +1,394 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+    >
+      <el-form-item label="油企名称" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入油企名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="部门状态"
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="cyan"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handlePayAdd"
+          >新增</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+    <el-table :data="groupList" style="width: 100%">
+      <el-table-column prop="deptName" label="油企名称" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="ID" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="排序" width="180">
+      </el-table-column>
+    </el-table>
+
+    <el-dialog
+      :title="'添加油品'"
+      :visible.sync="oilOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="form"
+        :model="oilOpen"
+        :rules="rules"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-row>
+
+          <el-col :span="11">
+            <el-form-item label="类型" prop="oilClass">
+              <el-input
+                v-model="oilOpen.oilClass"
+                placeholder="请输入油品类型"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" :offset="1">
+            <el-form-item label="品名" prop="oilName">
+              <el-input
+                v-model="oilOpen.oilName"
+                placeholder="请输入品名"
+              />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="11">
+            <el-form-item label="型号" prop="oilType">
+              <el-input
+                v-model="oilOpen.oilType"
+                placeholder="请输入型号"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" :offset="1">
+            <el-form-item label="单位" prop="unitCode">
+              <el-select
+              v-model="oilForm.type"
+              placeholder="请选择单位"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="升" value="1"></el-option>
+              <el-option label="千克" value="2"></el-option>
+              <el-option label="公斤" value="3"></el-option>
+            </el-select>
+            </el-form-item>
+          </el-col>
+         
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listDept,
+  getDept,
+  delDept,
+  addDept,
+  updateDept,
+  listDeptExcludeChild,
+  listTree,
+  setMnoSplit,
+} from "@/api/system/dept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { regionData } from "element-china-area-data";
+import { getToken } from "@/utils/auth";
+
+export default {
+  name: "Dept",
+  components: { Treeselect },
+  data() {
+    return {
+      regionDataOptions: regionData, // 地址组件
+      selectedRegionData: [],
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 表格树数据
+      deptList: [],
+      // 部门树选项
+      deptOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      isShow: false,
+      showIsLngFlag: false,
+      splitShow: false,
+      // 状态数据字典
+      statusOptions: [],
+      // 查询参数
+      queryParams: {
+        deptName: undefined,
+        status: undefined,
+      },
+      // 表单参数
+      form: {},
+      payWayOptions: [
+        {
+          label: "微信支付",
+          value: 1,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "全民付",
+              value: 3,
+            },
+          ],
+        },
+        {
+          label: "支付宝支付",
+          value: 2,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "上海富友",
+              value: 4,
+            },
+          ],
+        },
+        {
+          label: "银行卡",
+          value: 3,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+          ],
+        },
+      ],
+      // 表单校验
+      rules: {
+        parentId: [
+          { required: true, message: "上级部门不能为空", trigger: "blur" },
+        ],
+        deptName: [
+          { required: true, message: "部门名称不能为空", trigger: "blur" },
+        ],
+        orderNum: [
+          { required: true, message: "显示排序不能为空", trigger: "blur" },
+        ],
+        // singleStationFlag: [
+        //   { required: true, message: "站点类型不能为空", trigger: "change" }
+        // ],
+        email: [
+          {
+            type: "email",
+            message: "'请输入正确的邮箱地址",
+            trigger: ["blur", "change"],
+          },
+        ],
+        phone: [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur",
+          },
+        ],
+      },
+
+      groupList: [
+        {
+          enterpriseName: "",
+          deptName: "李哈哈",
+        },
+        {
+          enterpriseName: "",
+          deptName: "李哈哈",
+        },
+      ],
+
+      imgUpConfig: {
+        headers: {
+          Authorization: "Bearer " + getToken(),
+        },
+        addressUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+        limit: 5,
+      },
+      groupOpen: false,
+      oilOpen: true,
+      oilForm: {
+        oilClass:"",//类型
+        oilName:"", // 品名
+        oilType:"",//型号 
+        unitCode:'1'// 单位 1L 2kg 3公斤 
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handlePayAdd(){
+      this.oilForm = {};
+      this.oilOpen = true;
+    },
+    handleChangeRegionData(value) {
+      console.log(this.form.regionData);
+      console.log(this.form);
+    },
+    beforeAvatarUpload(file) {
+      const isLt5M = file.size / 1024 / 1024 < 5;
+      if (!isLt5M) {
+        this.$message.error("上传头像图片大小不能超过 5MB!");
+      }
+      return isLt5M;
+    },
+    handleAvatarRemove(file, fileList) {
+      this.form.licenseImg = fileList;
+    },
+    handleAvatarSuccess(response, file, fileList) {
+      this.form.licenseImg = [
+        ...this.form.licenseImg,
+        {
+          name: file.name,
+          url: response.url,
+        },
+      ];
+    },
+    /** 查询部门列表 */
+    getList() {
+      this.loading = true;
+      // listTree(this.queryParams).then(response => {
+      //   this.deptList = this.handleTree(response.data, "deptId");
+      //   this.loading = false;
+      // });
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.isShow = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        deptId: undefined,
+        parentId: undefined,
+        deptName: undefined,
+        orderNum: undefined,
+        leader: undefined,
+        phone: undefined,
+        email: undefined,
+        status: "0",
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+
+    /** 提交按钮 */
+    submitForm: function () {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.deptId != undefined) {
+            updateDept(this.form).then((response) => {
+              //window.location=response.message;
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          } else {
+            addDept(this.form).then((response) => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+
+  },
+};
+</script>

+ 241 - 314
src/views/dept/Dept_Group.vue

@@ -50,7 +50,7 @@
           type="primary"
           icon="el-icon-plus"
           size="mini"
-          @click="handleAdd"
+          @click="handleGroupAdd"
           >新增</el-button
         >
       </el-col>
@@ -66,6 +66,11 @@
       </el-table-column>
       <el-table-column prop="deptName" label="排序" width="180">
       </el-table-column>
+            <el-table-column label="操作" align="center" width="180">
+        <template>
+          <el-button @click="handlePayAdd">配置支付渠道</el-button>
+        </template>
+      </el-table-column>
     </el-table>
 
     <!--
@@ -76,7 +81,7 @@
           type="primary"
           icon="el-icon-plus"
           size="mini"
-          @click="handleAdd1"
+          @click="handleGroupAdd1"
           v-hasPermi="['system:dept:add']"
           >新增</el-button
         >
@@ -138,7 +143,7 @@
             size="mini"
             type="text"
             icon="el-icon-plus"
-            @click="handleAdd1(scope.row)"
+            @click="handleGroupAdd1(scope.row)"
             v-hasPermi="['system:dept:add']"
             >新增</el-button
           >
@@ -187,14 +192,17 @@
 
           <el-col :span="11">
             <el-form-item label="油企名称" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
+              <el-input
+                v-model="groupForm.deptName"
+                placeholder="请输入部门名称"
+              />
             </el-form-item>
           </el-col>
 
           <el-col :span="11" :offset="1">
             <el-form-item label="平台结算模式" prop="isLngFlag">
               <el-select
-                v-model="form.isLngFlag"
+                v-model="groupForm.isLngFlag"
                 placeholder="请选择是否为平台结算"
                 clearable
                 :style="{ width: '100%' }"
@@ -208,7 +216,7 @@
           <el-col :span="11">
             <el-form-item label="是否启用支付宝">
               <el-select
-                v-model="form.isAlipayFlag"
+                v-model="groupForm.isAlipayFlag"
                 placeholder="请选择是否启用支付宝"
                 clearable
                 :style="{ width: '100%' }"
@@ -219,11 +227,11 @@
             </el-form-item>
           </el-col>
           -->
-          <el-col :span="11" :offset="1" >
-            <el-form-item label="部门状态" prop="status">
+          <el-col :span="23">
+            <el-form-item label="油企状态" prop="status">
               <el-select
-                v-model="form.status"
-                placeholder="请选择是部门的状态"
+                v-model="groupForm.status"
+                placeholder="请选择油企状态"
                 clearable
                 :style="{ width: '100%' }"
               >
@@ -233,10 +241,12 @@
             </el-form-item>
           </el-col>
 
+
+          <!--
           <el-col :span="23">
             <el-form-item label="支付通道选择" prop="payWay">
               <el-cascader
-                v-model="form.payWay"
+                v-model="groupForm.payWay"
                 :options="payWayOptions"
                 :props="{ multiple: true }"
                 :style="{ width: '100%' }"
@@ -245,11 +255,12 @@
               ></el-cascader>
             </el-form-item>
           </el-col>
+          -->
 
           <el-col :span="11">
             <el-form-item label="联系人" prop="leader">
               <el-input
-                v-model="form.leader"
+                v-model="groupForm.leader"
                 placeholder="请输入联系人"
                 maxlength="20"
               />
@@ -259,21 +270,19 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="联系电话" prop="phone">
               <el-input
-                v-model="form.phone"
+                v-model="groupForm.phone"
                 placeholder="请输入联系电话"
                 maxlength="11"
               />
             </el-form-item>
           </el-col>
 
-          
-
           <el-col :span="11">
             <el-form-item label="省市区" prop="regionData">
               <el-cascader
                 size="large"
                 :options="regionDataOptions"
-                v-model="form.regionData"
+                v-model="groupForm.regionData"
                 @change="handleChangeRegionData"
                 :style="{ width: '100%' }"
                 clearable
@@ -286,7 +295,7 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="详情地址" prop="detailRegionData">
               <el-input
-                v-model="form.detailRegionData"
+                v-model="groupForm.detailRegionData"
                 placeholder="请填写详细地址"
                 maxlength="50"
               />
@@ -296,7 +305,7 @@
           <el-col :span="11">
             <el-form-item label="油站经度" prop="stationLatitude">
               <el-input
-                v-model="form.stationLatitude"
+                v-model="groupForm.stationLatitude"
                 maxlength="50"
                 placeholder="请填写油站经度"
               />
@@ -305,7 +314,7 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="油站纬度" prop="stationLongitude">
               <el-input
-                v-model="form.stationLongitude"
+                v-model="groupForm.stationLongitude"
                 maxlength="50"
                 placeholder="请填写油站纬度"
               />
@@ -314,17 +323,14 @@
           <el-col :span="24">
             <el-form-item label="营业执照编号" prop="licenseNo">
               <el-input
-                v-model="form.licenseNo"
+                v-model="groupForm.licenseNo"
                 placeholder="请输入营业执照编号"
                 maxlength="50"
               />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="营业执照上传"
-              prop="licenseImg"
-            >
+            <el-form-item label="营业执照上传" prop="licenseImg">
               <el-upload
                 class="avatar-uploader"
                 :action="imgUpConfig.addressUrl"
@@ -332,7 +338,7 @@
                 multiple
                 list-type="picture-card"
                 :limit="imgUpConfig.limit"
-                :file-list="form.licenseImg"
+                :file-list="groupForm.licenseImg"
                 accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"
                 :before-upload="beforeAvatarUpload"
                 :on-remove="handleAvatarRemove"
@@ -355,7 +361,7 @@
           <el-col :span="11">
             <el-form-item label="开户行" prop="corporateBank">
               <el-input
-                v-model="form.corporateBank"
+                v-model="groupForm.corporateBank"
                 placeholder="请输入开户行名称"
                 maxlength="50"
               />
@@ -365,7 +371,7 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="开户行账号" prop="corporateAccount">
               <el-input
-                v-model="form.corporateAccount"
+                v-model="groupForm.corporateAccount"
                 placeholder="请输入对公账户"
                 maxlength="50"
               />
@@ -375,7 +381,7 @@
           <el-col :span="23">
             <el-form-item label="开户行账户名" prop="corporateAccountName">
               <el-input
-                v-model="form.corporateAccountName"
+                v-model="groupForm.corporateAccountName"
                 placeholder="请输入对公银行"
                 maxlength="50"
               />
@@ -384,7 +390,7 @@
           <el-col :span="23">
             <el-form-item label="手续费" prop="serviceCharge">
               <el-input
-                v-model="form.serviceCharge"
+                v-model="groupForm.serviceCharge"
                 placeholder="请输入手续费"
                 maxlength="50"
               >
@@ -400,17 +406,29 @@
           </el-col>
           <el-col :span="11">
             <el-form-item label="小程序AppId" prop="appId">
-              <el-input v-model="form.appId" maxlength="50" placeholder="请输入小程序AppId"/>
+              <el-input
+                v-model="groupForm.appId"
+                maxlength="50"
+                placeholder="请输入小程序AppId"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="11" :offset="1">
             <el-form-item label="小程序AppSecret" prop="appSecret">
-              <el-input v-model="form.appSecret" maxlength="50" placeholder="请输入小程序AppSecret"/>
+              <el-input
+                v-model="groupForm.appSecret"
+                maxlength="50"
+                placeholder="请输入小程序AppSecret"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="23">
             <el-form-item label="小程序原始Id" prop="originId">
-              <el-input v-model="form.originId" maxlength="50" placeholder="请输入小程序原始Id"/>
+              <el-input
+                v-model="groupForm.originId"
+                maxlength="50"
+                placeholder="请输入小程序原始Id"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -421,67 +439,20 @@
           </el-col>
           <el-col :span="11">
             <el-form-item label="公众号AppId" prop="gzhAppId">
-              <el-input v-model="form.gzhAppId" maxlength="50" placeholder="请输入公众号AppId"/>
+              <el-input
+                v-model="groupForm.gzhAppId"
+                maxlength="50"
+                placeholder="请输入公众号AppId"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="11" :offset="1">
             <el-form-item label="公众号AppSecret" prop="gzhAppSecret">
-              <el-input v-model="form.gzhAppSecret" maxlength="50"  placeholder="请输入公众号AppSecret"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              随行付信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="随行付商户号" prop="mno">
-              <el-input v-model="form.mno" maxlength="50" placeholder="请输入随行付商户号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="是否分账">
-              <el-select
-                v-model="form.mnoStatus"
-                placeholder="请选择是否启用分账"
-                clearable
-                :style="{ width: '100%' }"
-              >
-                <el-option label="启用分账" value="1"></el-option>
-                <el-option label="禁用分账" value="0"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="分账收款商户编号" prop="mnoArray">
-              <el-input v-model="form.mnoArray" maxlength="50" placeholder="请输入分账收款商户编号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="分账账号比例" prop="mnoProportion">
-              <el-input v-model="form.mnoProportion" maxlength="50" placeholder="请输入分账账号比例"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              云闪付信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="云闪付商户号码" prop="merchantNo">
-              <el-input v-model="form.merchantNo" maxlength="50" placeholder="请输入云闪付商户号码"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="云闪付终端号" prop="terminalId">
-              <el-input v-model="form.terminalId" maxlength="50" placeholder="请输入云闪付终端号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="23">
-            <el-form-item label="云闪付密钥" prop="yunKey">
-              <el-input v-model="form.yunKey" maxlength="50" placeholder="请输入云闪付密钥"/>
+              <el-input
+                v-model="groupForm.gzhAppSecret"
+                maxlength="50"
+                placeholder="请输入公众号AppSecret"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -491,202 +462,150 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    
-    <!-- 添加或修改部门对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-row>
-          <el-col :span="24" v-if="form.parentId !== 0">
-            <el-form-item label="上级部门" prop="parentId">
-              <treeselect
-                v-model="form.parentId"
-                :options="deptOptions"
-                :normalizer="normalizer"
-                @select="selectDepart"
-                placeholder="选择上级部门"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="油企名称" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
-            </el-form-item>
-          </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
-            <el-form-item label="显示排序" prop="orderNum">
-              <el-input-number
-                v-model="form.orderNum"
-                controls-position="right"
-                :min="0"
-              />
-            </el-form-item>
-          </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="联系人" prop="leader">
-              <el-input
-                v-model="form.leader"
-                placeholder="请输入联系人"
-                maxlength="20"
-              />
-            </el-form-item>
-          </el-col>
+    <el-dialog
+      :title="'配置支付渠道'"
+      :visible.sync="payOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="payForm"
+        :model="payForm"
+        :rules="rules"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-col :span="23">
+          <el-form-item label="支付渠道类型">
+            <el-select
+              v-model="payForm.payType"
+              placeholder="请选择支付渠道"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="随行付" value="1"></el-option>
+              <el-option label="云闪付" value="2"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="11">
+          <el-form-item label="使用类型">
+            <el-select
+              v-model="payForm.useType"
+              placeholder="请选择支付渠道的类型"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="消费" value="1"></el-option>
+              <el-option label="充值" value="0"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="11" :offset="1">
+          <el-form-item label="应用渠道">
+            <el-select
+              v-model="payForm.appType"
+              placeholder="请选择支付渠道应用的类型"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="微信" value="1"></el-option>
+              <el-option label="支付宝" value="2"></el-option>
+              <el-option label="银行卡" value="3"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="联系电话" prop="phone">
-              <el-input
-                v-model="form.phone"
-                placeholder="请输入联系电话"
-                maxlength="11"
-              />
-            </el-form-item>
-          </el-col>
+        
+        <el-col :span="24" v-if="payForm.payType == '1'">
+          <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+            随行付配置
+            <hr />
+          </div>
+        </el-col>
+        
+        <el-col :span="11" v-if="payForm.payType == '1'">
+          <el-form-item label="随行付商户号" prop="mno">
+            <el-input
+              v-model="payForm.mno"
+              maxlength="50"
+              placeholder="请输入随行付商户号"
+            />
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="营业执照编号" prop="yingyezhizhao">
-              <el-input
-                v-model="form.leader"
-                placeholder="请输入营业执照编号"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '1'">
+          <el-form-item label="是否分账">
+            <el-select
+              v-model="payForm.mnoStatus"
+              placeholder="请选择是否启用分账"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="启用分账" value="1"></el-option>
+              <el-option label="禁用分账" value="0"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="省市区" prop="regionData">
-              <el-cascader
-                size="large"
-                :options="regionDataOptions"
-                v-model="form.regionData"
-                @change="handleChangeRegionData"
-              >
-              </el-cascader>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="详情地址" prop="dizhi">
-              <el-input
-                v-model="form.city"
-                placeholder="所属城市"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
+        <el-col :span="11" v-if="payForm.payType == '1'">
+          <el-form-item label="分账收款商户编号" prop="mnoArray">
+            <el-input
+              v-model="payForm.mnoArray"
+              maxlength="50"
+              placeholder="请输入分账收款商户编号"
+            />
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="所属城市" prop="city">
-              <el-input
-                v-model="form.city"
-                placeholder="所属城市"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站地址" prop="deptAddress">
-              <el-input v-model="form.deptAddress" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站经度" prop="stationLatitude">
-              <el-input v-model="form.stationLatitude" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站纬度" prop="stationLongitude">
-              <el-input v-model="form.stationLongitude" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
-            <el-form-item label="部门状态">
-              <el-radio-group v-model="form.status">
-                <el-radio
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictValue"
-                  >{{ dict.dictLabel }}</el-radio
-                >
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '1'">
+          <el-form-item label="分账账号比例" prop="mnoProportion">
+            <el-input
+              v-model="payForm.mnoProportion"
+              maxlength="50"
+              placeholder="请输入分账账号比例"
+            />
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="小程序appID" prop="appId">
-              <el-input v-model="form.appId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="小程序appSecret" prop="appSecret">
-              <el-input v-model="form.appSecret" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="公众号appID" prop="gzhAppId">
-              <el-input v-model="form.gzhAppId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="公众号appSecret" prop="gzhAppSecret">
-              <el-input v-model="form.gzhAppSecret" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="商户号" prop="mno">
-              <el-input v-model="form.mno" maxlength="50" />
-            </el-form-item>
+          <el-col :span="24" v-if="payForm.payType == '2'">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              云闪付配置
+              <hr />
+            </div>
           </el-col>
+          
+        <el-col :span="11" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付商户号码" prop="merchantNo">
+            <el-input
+              v-model="payForm.merchantNo"
+              maxlength="50"
+              placeholder="请输入云闪付商户号码"
+            />
+          </el-form-item>
+        </el-col>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付商户号码" prop="merchantNo">
-              <el-input v-model="form.merchantNo" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付终端号" prop="terminalId">
-              <el-input v-model="form.terminalId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付密钥" prop="yunKey">
-              <el-input v-model="form.yunKey" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="24" v-show="isShow">
-            <el-form-item label="是否启用支付宝">
-              <el-radio-group v-model="form.isAlipayFlag">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24" v-show="isShow">
-            <el-form-item label="是否分账">
-              <el-radio-group v-model="form.mnoStatus">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="分账收款商户编号" prop="mnoArray">
-              <el-input v-model="form.mnoArray" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="分账账号比例" prop="mnoProportion">
-              <el-input v-model="form.mnoProportion" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="showIsLngFlag">
-            <el-form-item label="LNG平台">
-              <el-radio-group v-model="form.isLngFlag">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付终端号" prop="terminalId">
+            <el-input
+              v-model="payForm.terminalId"
+              maxlength="50"
+              placeholder="请输入云闪付终端号"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="23" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付密钥" prop="yunKey">
+            <el-input
+              v-model="payForm.yunKey"
+              maxlength="50"
+              placeholder="请输入云闪付密钥"
+            />
+          </el-form-item>
+        </el-col>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -827,55 +746,59 @@ export default {
 
       groupList: [
         {
-          enterpriseName:'',
+          enterpriseName: "",
           deptName: "李哈哈",
         },
         {
-          enterpriseName:'',
+          enterpriseName: "",
           deptName: "李哈哈",
         },
       ],
       groupForm: {
-        enterpriseName:'', 
-        status:'',
-        leader:'',
-        phone:'',
-        stationLatitude:'',
-        stationLongitude:'',
-        appId:'',
-        appSecret:'',
-        originId:'',
-        gzhAppId:'',
-        gzhAppSecret:'',
-        mno:'',
-        mnoStatus:'',
-        mnoArray:'',
-        mnoProportion:'',
-        merchantNo:'',
-        terminalId:'',
-        yunKey:'',
-
-
+        enterpriseName: "",
+        status: "",
+        leader: "",
+        phone: "",
+        stationLatitude: "",
+        stationLongitude: "",
+        appId: "",
+        appSecret: "",
+        originId: "",
+        gzhAppId: "",
+        gzhAppSecret: "",
+        mno: "",
+        mnoStatus: "",
+        mnoArray: "",
+        mnoProportion: "",
+        merchantNo: "",
+        terminalId: "",
+        yunKey: "",
 
         regionData: [], //["120000","120100","120102"] 省市区码
-        detailRegionData:[], //详细地址
-        corporateAccountName:'', //开户行账户名
-        corporateAccount:'',// 开户行账号
-        corporateBank:'',  // 对公银行 
-        serviceCharge: '', // 手续费
-        licenseImg:[],  // img图片的list  营业执照
-        licenseNo:'', // 营业执照编号
-        payWay:[[1,2],[1,3]], //支付方式list[[微信,随行付]
-        
+        detailRegionData: [], //详细地址
+        corporateAccountName: "", //开户行账户名
+        corporateAccount: "", // 开户行账号
+        corporateBank: "", // 对公银行
+        serviceCharge: "", // 手续费
+        licenseImg: [], // img图片的list  营业执照
+        licenseNo: "", // 营业执照编号
+        payWay: [
+          [1, 2],
+          [1, 3],
+        ], //支付方式list[[微信,随行付]
       },
       imgUpConfig: {
-        headers:{
+        headers: {
           Authorization: "Bearer " + getToken(),
         },
         addressUrl: process.env.VUE_APP_BASE_API + "/common/upload",
-        limit:5
+        limit: 5,
+      },
+      groupOpen: false,
+      payOpen: true,
+      payForm: {
+        type:'1'
       },
-      groupOpen: true,
     };
   },
   created() {
@@ -885,7 +808,11 @@ export default {
     });
   },
   methods: {
-    handleAdd(row) {
+    handlePayAdd(){
+      this.payForm = {};
+      this.payOpen = true;
+    },
+    handleGroupAdd(row) {
       this.groupForm = {
         selectedRegionData: [],
       };
@@ -893,7 +820,7 @@ export default {
     },
     handleChangeRegionData(value) {
       console.log(this.form.regionData);
-      console.log(this.form)
+      console.log(this.form);
     },
     beforeAvatarUpload(file) {
       const isLt5M = file.size / 1024 / 1024 < 5;
@@ -910,7 +837,7 @@ export default {
         ...this.form.licenseImg,
         {
           name: file.name,
-          url:  response.url,
+          url: response.url,
         },
       ];
     },
@@ -981,7 +908,7 @@ export default {
       this.handleQuery();
     },
     /** 新增按钮操作 */
-    handleAdd1(row) {
+    handleGroupAdd1(row) {
       this.reset();
       if (row != undefined) {
         this.form.parentId = row.deptId;

+ 0 - 0
src/views/dept/Dept_OilPrice.vue


+ 581 - 0
src/views/dept/Dept_PayWay.vue

@@ -0,0 +1,581 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+    >
+      <el-form-item label="油企名称" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入油企名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="部门状态"
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="cyan"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          >新增</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+    <el-table :data="payList" style="width: 100%">
+      <el-table-column prop="deptName" label="油企名称" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="ID" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="排序" width="180">
+      </el-table-column>
+
+    </el-table>
+
+    <el-dialog
+      :title="'配置支付渠道'"
+      :visible.sync="payOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="payForm"
+        :model="payForm"
+        :rules="rules"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-col :span="23">
+          <el-form-item label="支付渠道类型">
+            <el-select
+              v-model="payForm.payType"
+              placeholder="请选择支付渠道"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="随行付" value="1"></el-option>
+              <el-option label="云闪付" value="2"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="11">
+          <el-form-item label="使用类型">
+            <el-select
+              v-model="payForm.useType"
+              placeholder="请选择支付渠道的类型"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="消费" value="1"></el-option>
+              <el-option label="充值" value="0"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="11" :offset="1">
+          <el-form-item label="应用渠道">
+            <el-select
+              v-model="payForm.appType"
+              placeholder="请选择支付渠道应用的类型"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="微信" value="1"></el-option>
+              <el-option label="支付宝" value="2"></el-option>
+              <el-option label="银行卡" value="3"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!--
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              随行付信息
+              <hr />
+            </div>
+          </el-col>
+        -->
+        <el-col :span="11" v-if="payForm.payType == '1'">
+          <el-form-item label="随行付商户号" prop="mno">
+            <el-input
+              v-model="payForm.mno"
+              maxlength="50"
+              placeholder="请输入随行付商户号"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '1'">
+          <el-form-item label="是否分账">
+            <el-select
+              v-model="payForm.mnoStatus"
+              placeholder="请选择是否启用分账"
+              clearable
+              :style="{ width: '100%' }"
+            >
+              <el-option label="启用分账" value="1"></el-option>
+              <el-option label="禁用分账" value="0"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="11" v-if="payForm.payType == '1'">
+          <el-form-item label="分账收款商户编号" prop="mnoArray">
+            <el-input
+              v-model="payForm.mnoArray"
+              maxlength="50"
+              placeholder="请输入分账收款商户编号"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '1'">
+          <el-form-item label="分账账号比例" prop="mnoProportion">
+            <el-input
+              v-model="payForm.mnoProportion"
+              maxlength="50"
+              placeholder="请输入分账账号比例"
+            />
+          </el-form-item>
+        </el-col>
+        <!--
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              云闪付信息
+              <hr />
+            </div>
+          </el-col>
+          -->
+        <el-col :span="11" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付商户号码" prop="merchantNo">
+            <el-input
+              v-model="payForm.merchantNo"
+              maxlength="50"
+              placeholder="请输入云闪付商户号码"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="11" :offset="1" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付终端号" prop="terminalId">
+            <el-input
+              v-model="payForm.terminalId"
+              maxlength="50"
+              placeholder="请输入云闪付终端号"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="23" v-if="payForm.payType == '2'">
+          <el-form-item label="云闪付密钥" prop="yunKey">
+            <el-input
+              v-model="payForm.yunKey"
+              maxlength="50"
+              placeholder="请输入云闪付密钥"
+            />
+          </el-form-item>
+        </el-col>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listDept,
+  getDept,
+  delDept,
+  addDept,
+  updateDept,
+  listDeptExcludeChild,
+  listTree,
+  setMnoSplit,
+} from "@/api/system/dept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { regionData } from "element-china-area-data";
+import { getToken } from "@/utils/auth";
+
+export default {
+  name: "Dept",
+  components: { Treeselect },
+  data() {
+    return {
+      regionDataOptions: regionData, // 地址组件
+      selectedRegionData: [],
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 表格树数据
+      deptList: [],
+      // 部门树选项
+      deptOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      isShow: false,
+      showIsLngFlag: false,
+      splitShow: false,
+      // 状态数据字典
+      statusOptions: [],
+      // 查询参数
+      queryParams: {
+        deptName: undefined,
+        status: undefined,
+      },
+      // 表单参数
+      form: {},
+      payWayOptions: [
+        {
+          label: "微信支付",
+          value: 1,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "全民付",
+              value: 3,
+            },
+          ],
+        },
+        {
+          label: "支付宝支付",
+          value: 2,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "上海富友",
+              value: 4,
+            },
+          ],
+        },
+        {
+          label: "银行卡",
+          value: 3,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+          ],
+        },
+      ],
+      // 表单校验
+      rules: {
+        parentId: [
+          { required: true, message: "上级部门不能为空", trigger: "blur" },
+        ],
+        deptName: [
+          { required: true, message: "部门名称不能为空", trigger: "blur" },
+        ],
+        orderNum: [
+          { required: true, message: "显示排序不能为空", trigger: "blur" },
+        ],
+        // singleStationFlag: [
+        //   { required: true, message: "站点类型不能为空", trigger: "change" }
+        // ],
+        email: [
+          {
+            type: "email",
+            message: "'请输入正确的邮箱地址",
+            trigger: ["blur", "change"],
+          },
+        ],
+        phone: [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur",
+          },
+        ],
+      },
+
+      payList: [
+        {
+          enterpriseName: "",
+          deptName: "李哈哈",
+        },
+        {
+          enterpriseName: "",
+          deptName: "李哈哈",
+        },
+      ],
+      imgUpConfig: {
+        headers: {
+          Authorization: "Bearer " + getToken(),
+        },
+        addressUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+        limit: 5,
+      },
+      groupOpen: false,
+      payOpen: true,
+      payForm: {
+        payType: "1", // 支付渠道类型
+        useType: "0", // 使用类型
+        appType: "2", // 应用渠道
+      },
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_normal_disable").then((response) => {
+      this.statusOptions = response.data;
+    });
+  },
+  methods: {
+  
+    handleAdd(row) {
+      this.payForm = {};
+      this.payOpen = true;
+    },
+    handleChangeRegionData(value) {
+      console.log(this.form.regionData);
+      console.log(this.form);
+    },
+    beforeAvatarUpload(file) {
+      const isLt5M = file.size / 1024 / 1024 < 5;
+      if (!isLt5M) {
+        this.$message.error("上传头像图片大小不能超过 5MB!");
+      }
+      return isLt5M;
+    },
+    handleAvatarRemove(file, fileList) {
+      this.form.licenseImg = fileList;
+    },
+    handleAvatarSuccess(response, file, fileList) {
+      this.form.licenseImg = [
+        ...this.form.licenseImg,
+        {
+          name: file.name,
+          url: response.url,
+        },
+      ];
+    },
+    /** 查询部门列表 */
+    getList() {
+      this.loading = true;
+      // listTree(this.queryParams).then(response => {
+      //   this.deptList = this.handleTree(response.data, "deptId");
+      //   this.loading = false;
+      // });
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
+        this.loading = false;
+      });
+    },
+    selectDepart(val) {
+      this.form.jiBie = parseInt(val.jiBie);
+      if (val.jiBie == 1) {
+        this.isShow = true;
+        this.showIsLngFlag = false;
+      } else {
+        this.isShow = false;
+        this.showIsLngFlag = true;
+      }
+    },
+    /** 转换部门数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.deptId,
+        label: node.deptName,
+        children: node.children,
+      };
+    },
+    // 字典状态字典翻译
+    statusFormat(row, column) {
+      return this.selectDictLabel(this.statusOptions, row.status);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.isShow = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        deptId: undefined,
+        parentId: undefined,
+        deptName: undefined,
+        orderNum: undefined,
+        leader: undefined,
+        phone: undefined,
+        email: undefined,
+        status: "0",
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd1(row) {
+      this.reset();
+      if (row != undefined) {
+        this.form.parentId = row.deptId;
+        //判断级别 1是集团,如果是集团展示的是油站的所有数据
+        if (row.jiBie == 1) {
+          this.form.jiBie = parseInt(row.jiBie);
+          this.isShow = true;
+          this.isLngFlag = false;
+        } else {
+          this.isLngFlag = true;
+          this.isShow = false;
+        }
+      }
+      this.open = true;
+      this.title = "添加部门";
+      listDept().then((response) => {
+        this.deptOptions = this.handleTree(response.data, "deptId");
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      getDept(row.deptId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改部门";
+      });
+      listDeptExcludeChild(row.deptId).then((response) => {
+        this.deptOptions = this.handleTree(response.data, "deptId");
+      });
+      //判断级别 1是集团,如果是集团展示的是油站的所有数据
+      if (row.jiBie == 2) {
+        this.isShow = true;
+        this.showIsLngFlag = false;
+      } else {
+        this.isShow = false;
+        this.showIsLngFlag = true;
+      }
+    },
+    //设置分账的参数
+    handleMnoSplit(row) {
+      this.$confirm('是否进行分账设置,点击确定跳转确认页面"', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return setMnoSplit(row.deptId);
+        })
+        .then((res) => {
+          // this.getList();
+          window.open(res.msg, "_blank");
+          //this.msgSuccess("分账设置成功");
+        });
+    },
+
+    /** 提交按钮 */
+    submitForm: function () {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.deptId != undefined) {
+            updateDept(this.form).then((response) => {
+              //window.location=response.message;
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          } else {
+            addDept(this.form).then((response) => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      this.$confirm(
+        '是否确认删除名称为"' + row.deptName + '"的数据项?',
+        "警告",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }
+      )
+        .then(function () {
+          return delDept(row.deptId);
+        })
+        .then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        });
+    },
+  },
+};
+</script>

+ 969 - 0
src/views/dept/Dept_Station copy.vue

@@ -0,0 +1,969 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+    >
+      <el-form-item label="油企名称" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入油企名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="部门状态"
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="cyan"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          >新增</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+    <el-table :data="groupList" style="width: 100%">
+      <el-table-column prop="deptName" label="油站名称" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="ID" width="180">
+      </el-table-column>
+      <el-table-column prop="deptName" label="排序" width="180">
+      </el-table-column>
+    </el-table>
+
+    <el-dialog
+      :title="'添加油企'"
+      :visible.sync="groupOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="form"
+        :model="groupForm"
+        :rules="rules"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-row>
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              基本信息
+              <hr />
+            </div>
+          </el-col>
+
+          <el-col :span="11">
+            <el-form-item label="油企名称" prop="deptName">
+              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
+            </el-form-item>
+          </el-col>
+          <!--
+          <el-col :span="11" :offset="1">
+            <el-form-item label="平台结算模式" prop="isLngFlag">
+              <el-select
+                v-model="form.isLngFlag"
+                placeholder="请选择是否为平台结算"
+                clearable
+                :style="{ width: '100%' }"
+              >
+                <el-option label="是" :value="1"></el-option>
+                <el-option label="否" :value="0"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          -->
+          <el-col :span="11" :offset="1">
+            <el-form-item label="是否启用支付宝">
+              <el-select
+                v-model="form.isAlipayFlag"
+                placeholder="请选择是否启用支付宝"
+                clearable
+                :style="{ width: '100%' }"
+              >
+                <el-option label="启用" :value="1"></el-option>
+                <el-option label="停用" :value="0"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" >
+            <el-form-item label="油站状态">
+              <el-select
+                v-model="form.status"
+                placeholder="请选择是油站状态"
+                clearable
+                :style="{ width: '100%' }"
+              >
+                <el-option label="启用" :value="1"></el-option>
+                <el-option label="停用" :value="0"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="23">
+            <el-form-item label="支付通道选择" prop="payWay">
+              <el-cascader
+                v-model="form.payWay"
+                :options="payWayOptions"
+                :props="{ multiple: true }"
+                :style="{ width: '100%' }"
+                placeholder="请选择可用的支付通道"
+                clearable
+              ></el-cascader>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11">
+            <el-form-item label="联系人" prop="leader">
+              <el-input
+                v-model="form.leader"
+                placeholder="请输入联系人"
+                maxlength="20"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" :offset="1">
+            <el-form-item label="联系电话" prop="phone">
+              <el-input
+                v-model="form.phone"
+                placeholder="请输入联系电话"
+                maxlength="11"
+              />
+            </el-form-item>
+          </el-col>
+
+          
+
+          <el-col :span="11">
+            <el-form-item label="省市区" prop="selectedRegionData">
+              <el-cascader
+                size="large"
+                :options="regionDataOptions"
+                v-model="form.regionData"
+                @change="handleChangeRegionData"
+                :style="{ width: '100%' }"
+                clearable
+                placeholder="请选择省市区"
+              >
+              </el-cascader>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" :offset="1">
+            <el-form-item label="详情地址" prop="dizhi">
+              <el-input
+                v-model="form.city"
+                placeholder="请填写详细地址"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11">
+            <el-form-item label="油站经度" prop="stationLatitude">
+              <el-input
+                v-model="form.stationLatitude"
+                maxlength="50"
+                placeholder="请填写油站经度"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="油站纬度" prop="stationLongitude">
+              <el-input
+                v-model="form.stationLongitude"
+                maxlength="50"
+                placeholder="请填写油站纬度"
+              />
+            </el-form-item>
+          </el-col>
+          <!--
+          <el-col :span="24">
+            <el-form-item label="营业执照编号" prop="licenseNo">
+              <el-input
+                v-model="form.licenseNo"
+                placeholder="请输入营业执照编号"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item
+              label="营业执照上传"
+              prop="licenseImg"
+            >
+              <el-upload
+                class="avatar-uploader"
+                :action="imgUpConfig.addressUrl"
+                :headers="imgUpConfig.headers"
+                multiple
+                list-type="picture-card"
+                :limit="imgUpConfig.limit"
+                :file-list="form.licenseImg"
+                accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"
+                :before-upload="beforeAvatarUpload"
+                :on-remove="handleAvatarRemove"
+                :on-success="handleAvatarSuccess"
+              >
+                <i class="el-icon-plus"></i>
+                <div class="el-upload__tip" slot="tip">
+                  只能上传图片文件,最多上传5张且单张图片不超过5M
+                </div>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          -->
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              银行信息
+              <hr />
+            </div>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="开户行" prop="corporateBank">
+              <el-input
+                v-model="form.corporateBank"
+                placeholder="请输入开户行名称"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="11" :offset="1">
+            <el-form-item label="开户行账号" prop="corporateAccount">
+              <el-input
+                v-model="form.corporateAccount"
+                placeholder="请输入对公账户"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="23">
+            <el-form-item label="开户行账户名" prop="corporateAccountName">
+              <el-input
+                v-model="form.corporateAccountName"
+                placeholder="请输入对公银行"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="23">
+            <el-form-item label="手续费" prop="serviceCharge">
+              <el-input
+                v-model="form.serviceCharge"
+                placeholder="请输入手续费"
+                maxlength="50"
+              >
+                <template slot="append">‰</template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              小程序信息
+              <hr />
+            </div>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="小程序AppId" prop="appId">
+              <el-input v-model="form.appId" maxlength="50" placeholder="请输入小程序AppId"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="小程序AppSecret" prop="appSecret">
+              <el-input v-model="form.appSecret" maxlength="50" placeholder="请输入小程序AppSecret"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="23">
+            <el-form-item label="小程序原始Id" prop="originId">
+              <el-input v-model="form.originId" maxlength="50" placeholder="请输入小程序原始Id"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              公众号信息
+              <hr />
+            </div>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="公众号AppId" prop="gzhAppId">
+              <el-input v-model="form.gzhAppId" maxlength="50" placeholder="请输入公众号AppId"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="公众号AppSecret" prop="gzhAppSecret">
+              <el-input v-model="form.gzhAppSecret" maxlength="50"  placeholder="请输入公众号AppSecret"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              随行付信息
+              <hr />
+            </div>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="随行付商户号" prop="mno">
+              <el-input v-model="form.mno" maxlength="50" placeholder="请输入随行付商户号"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="是否分账">
+              <el-select
+                v-model="form.mnoStatus"
+                placeholder="请选择是否启用分账"
+                clearable
+                :style="{ width: '100%' }"
+              >
+                <el-option label="启用分账" value="1"></el-option>
+                <el-option label="禁用分账" value="0"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="分账收款商户编号" prop="mnoArray">
+              <el-input v-model="form.mnoArray" maxlength="50" placeholder="请输入分账收款商户编号"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="分账账号比例" prop="mnoProportion">
+              <el-input v-model="form.mnoProportion" maxlength="50" placeholder="请输入分账账号比例"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
+              云闪付信息
+              <hr />
+            </div>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="云闪付商户号码" prop="merchantNo">
+              <el-input v-model="form.merchantNo" maxlength="50" placeholder="请输入云闪付商户号码"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11" :offset="1">
+            <el-form-item label="云闪付终端号" prop="terminalId">
+              <el-input v-model="form.terminalId" maxlength="50" placeholder="请输入云闪付终端号"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="23">
+            <el-form-item label="云闪付密钥" prop="yunKey">
+              <el-input v-model="form.yunKey" maxlength="50" placeholder="请输入云闪付密钥"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    
+    <!-- 添加或修改部门对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row>
+          <el-col :span="24" v-if="form.parentId !== 0">
+            <el-form-item label="上级部门" prop="parentId">
+              <treeselect
+                v-model="form.parentId"
+                :options="deptOptions"
+                :normalizer="normalizer"
+                @select="selectDepart"
+                placeholder="选择上级部门"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="油企名称" prop="deptName">
+              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
+            <el-form-item label="显示排序" prop="orderNum">
+              <el-input-number
+                v-model="form.orderNum"
+                controls-position="right"
+                :min="0"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="联系人" prop="leader">
+              <el-input
+                v-model="form.leader"
+                placeholder="请输入联系人"
+                maxlength="20"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="联系电话" prop="phone">
+              <el-input
+                v-model="form.phone"
+                placeholder="请输入联系电话"
+                maxlength="11"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="营业执照编号" prop="yingyezhizhao">
+              <el-input
+                v-model="form.leader"
+                placeholder="请输入营业执照编号"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="省市区" prop="regionData">
+              <el-cascader
+                size="large"
+                :options="regionDataOptions"
+                v-model="form.regionData"
+                @change="handleChangeRegionData"
+              >
+              </el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="form.jiBie == 1">
+            <el-form-item label="详情地址" prop="dizhi">
+              <el-input
+                v-model="form.city"
+                placeholder="所属城市"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="所属城市" prop="city">
+              <el-input
+                v-model="form.city"
+                placeholder="所属城市"
+                maxlength="50"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="油站地址" prop="deptAddress">
+              <el-input v-model="form.deptAddress" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="油站经度" prop="stationLatitude">
+              <el-input v-model="form.stationLatitude" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="油站纬度" prop="stationLongitude">
+              <el-input v-model="form.stationLongitude" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
+            <el-form-item label="部门状态">
+              <el-radio-group v-model="form.status">
+                <el-radio
+                  v-for="dict in statusOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictValue"
+                  >{{ dict.dictLabel }}</el-radio
+                >
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="小程序appID" prop="appId">
+              <el-input v-model="form.appId" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="小程序appSecret" prop="appSecret">
+              <el-input v-model="form.appSecret" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="公众号appID" prop="gzhAppId">
+              <el-input v-model="form.gzhAppId" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="公众号appSecret" prop="gzhAppSecret">
+              <el-input v-model="form.gzhAppSecret" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="商户号" prop="mno">
+              <el-input v-model="form.mno" maxlength="50" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="云闪付商户号码" prop="merchantNo">
+              <el-input v-model="form.merchantNo" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="云闪付终端号" prop="terminalId">
+              <el-input v-model="form.terminalId" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="云闪付密钥" prop="yunKey">
+              <el-input v-model="form.yunKey" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-show="isShow">
+            <el-form-item label="是否启用支付宝">
+              <el-radio-group v-model="form.isAlipayFlag">
+                <el-radio label="1"> 是 </el-radio>
+                <el-radio label="0"> 否 </el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-show="isShow">
+            <el-form-item label="是否分账">
+              <el-radio-group v-model="form.mnoStatus">
+                <el-radio label="1"> 是 </el-radio>
+                <el-radio label="0"> 否 </el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="分账收款商户编号" prop="mnoArray">
+              <el-input v-model="form.mnoArray" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="isShow">
+            <el-form-item label="分账账号比例" prop="mnoProportion">
+              <el-input v-model="form.mnoProportion" maxlength="50" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="showIsLngFlag">
+            <el-form-item label="LNG平台">
+              <el-radio-group v-model="form.isLngFlag">
+                <el-radio label="1"> 是 </el-radio>
+                <el-radio label="0"> 否 </el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listDept,
+  getDept,
+  delDept,
+  addDept,
+  updateDept,
+  listDeptExcludeChild,
+  listTree,
+  setMnoSplit,
+} from "@/api/system/dept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { regionData } from "element-china-area-data";
+import { getToken } from "@/utils/auth";
+
+export default {
+  name: "Dept",
+  components: { Treeselect },
+  data() {
+    return {
+      regionDataOptions: regionData, // 地址组件
+      selectedRegionData: [],
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 表格树数据
+      deptList: [],
+      // 部门树选项
+      deptOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      isShow: false,
+      showIsLngFlag: false,
+      splitShow: false,
+      // 状态数据字典
+      statusOptions: [],
+      // 查询参数
+      queryParams: {
+        deptName: undefined,
+        status: undefined,
+      },
+      // 表单参数
+      form: {
+        regionData: [], //["120000","120100","120102"] 地区码 
+        corporateAccountName:'', //开户行账户名
+        corporateAccount:'',// 开户行账号
+        corporateBank:'',  // 对公银行 
+        serviceCharge: '', // 手续费
+        licenseImg:[],  // img图片的list  营业执照
+        licenseNo:'',
+        payWay:[[1,2],[1,3]], //支付方式list[[微信,随行付]
+        
+      },
+      payWayOptions: [
+        {
+          label: "微信支付",
+          value: 1,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "全民付",
+              value: 3,
+            },
+          ],
+        },
+        {
+          label: "支付宝支付",
+          value: 2,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+            {
+              label: "上海富友",
+              value: 4,
+            },
+          ],
+        },
+        {
+          label: "银行卡",
+          value: 3,
+          children: [
+            {
+              label: "随行付",
+              value: 1,
+            },
+            {
+              label: "云闪付",
+              value: 2,
+            },
+          ],
+        },
+      ],
+      // 表单校验
+      rules: {
+        parentId: [
+          { required: true, message: "上级部门不能为空", trigger: "blur" },
+        ],
+        deptName: [
+          { required: true, message: "部门名称不能为空", trigger: "blur" },
+        ],
+        orderNum: [
+          { required: true, message: "显示排序不能为空", trigger: "blur" },
+        ],
+        // singleStationFlag: [
+        //   { required: true, message: "站点类型不能为空", trigger: "change" }
+        // ],
+        email: [
+          {
+            type: "email",
+            message: "'请输入正确的邮箱地址",
+            trigger: ["blur", "change"],
+          },
+        ],
+        phone: [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur",
+          },
+        ],
+      },
+
+      groupList: [
+        {
+          deptName: "李哈哈",
+        },
+        {
+          deptName: "李哈哈",
+        },
+      ],
+      groupForm: {
+        deptName: "里昂和",
+        selectedRegionData: [],
+      },
+      imgUpConfig: {
+        headers:{
+          Authorization: "Bearer " + getToken(),
+        },
+        addressUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+        limit:5
+      },
+      groupOpen: true,
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_normal_disable").then((response) => {
+      this.statusOptions = response.data;
+    });
+  },
+  methods: {
+    handleAdd(row) {
+      this.groupForm = {
+        selectedRegionData: [],
+      };
+      this.groupOpen = true;
+    },
+    handleChangeRegionData(value) {
+      console.log(this.form.regionData);
+      console.log(this.form)
+    },
+    beforeAvatarUpload(file) {
+      const isLt5M = file.size / 1024 / 1024 < 5;
+      if (!isLt5M) {
+        this.$message.error("上传头像图片大小不能超过 5MB!");
+      }
+      return isLt5M;
+    },
+    handleAvatarRemove(file, fileList) {
+      this.form.licenseImg = fileList;
+    },
+    handleAvatarSuccess(response, file, fileList) {
+      this.form.licenseImg = [
+        ...this.form.licenseImg,
+        {
+          name: file.name,
+          url:  response.url,
+        },
+      ];
+    },
+    /** 查询部门列表 */
+    getList() {
+      this.loading = true;
+      // listTree(this.queryParams).then(response => {
+      //   this.deptList = this.handleTree(response.data, "deptId");
+      //   this.loading = false;
+      // });
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
+        this.loading = false;
+      });
+    },
+    selectDepart(val) {
+      this.form.jiBie = parseInt(val.jiBie);
+      if (val.jiBie == 1) {
+        this.isShow = true;
+        this.showIsLngFlag = false;
+      } else {
+        this.isShow = false;
+        this.showIsLngFlag = true;
+      }
+    },
+    /** 转换部门数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.deptId,
+        label: node.deptName,
+        children: node.children,
+      };
+    },
+    // 字典状态字典翻译
+    statusFormat(row, column) {
+      return this.selectDictLabel(this.statusOptions, row.status);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.isShow = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        deptId: undefined,
+        parentId: undefined,
+        deptName: undefined,
+        orderNum: undefined,
+        leader: undefined,
+        phone: undefined,
+        email: undefined,
+        status: "0",
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd1(row) {
+      this.reset();
+      if (row != undefined) {
+        this.form.parentId = row.deptId;
+        //判断级别 1是集团,如果是集团展示的是油站的所有数据
+        if (row.jiBie == 1) {
+          this.form.jiBie = parseInt(row.jiBie);
+          this.isShow = true;
+          this.isLngFlag = false;
+        } else {
+          this.isLngFlag = true;
+          this.isShow = false;
+        }
+      }
+      this.open = true;
+      this.title = "添加部门";
+      listDept().then((response) => {
+        this.deptOptions = this.handleTree(response.data, "deptId");
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      getDept(row.deptId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改部门";
+      });
+      listDeptExcludeChild(row.deptId).then((response) => {
+        this.deptOptions = this.handleTree(response.data, "deptId");
+      });
+      //判断级别 1是集团,如果是集团展示的是油站的所有数据
+      if (row.jiBie == 2) {
+        this.isShow = true;
+        this.showIsLngFlag = false;
+      } else {
+        this.isShow = false;
+        this.showIsLngFlag = true;
+      }
+    },
+    //设置分账的参数
+    handleMnoSplit(row) {
+      this.$confirm('是否进行分账设置,点击确定跳转确认页面"', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return setMnoSplit(row.deptId);
+        })
+        .then((res) => {
+          // this.getList();
+          window.open(res.msg, "_blank");
+          //this.msgSuccess("分账设置成功");
+        });
+    },
+
+    /** 提交按钮 */
+    submitForm: function () {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.deptId != undefined) {
+            updateDept(this.form).then((response) => {
+              //window.location=response.message;
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          } else {
+            addDept(this.form).then((response) => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.isShow = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      this.$confirm(
+        '是否确认删除名称为"' + row.deptName + '"的数据项?',
+        "警告",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }
+      )
+        .then(function () {
+          return delDept(row.deptId);
+        })
+        .then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        });
+    },
+  },
+};
+</script>

+ 240 - 578
src/views/dept/Dept_Station.vue

@@ -50,7 +50,7 @@
           type="primary"
           icon="el-icon-plus"
           size="mini"
-          @click="handleAdd"
+          @click="handleStationAdd"
           >新增</el-button
         >
       </el-col>
@@ -60,17 +60,23 @@
       ></right-toolbar>
     </el-row>
     <el-table :data="groupList" style="width: 100%">
-      <el-table-column prop="deptName" label="油站名称" width="180">
+      <el-table-column prop="deptName" label="油企名称">
       </el-table-column>
-      <el-table-column prop="deptName" label="ID" width="180">
+      <el-table-column prop="deptName" label="ID">
       </el-table-column>
-      <el-table-column prop="deptName" label="排序" width="180">
+      <el-table-column prop="deptName" label="排序">
+      </el-table-column>
+      <el-table-column label="操作" align="center">
+        <template>
+          <el-button @click="handlePayWayOpen">选择支付渠道</el-button>
+          <el-button @click="handleOilAndGunListOpen">配置油品/枪号</el-button>
+        </template>
       </el-table-column>
     </el-table>
 
     <el-dialog
-      :title="'添加油企'"
-      :visible.sync="groupOpen"
+      :title="'添加油'"
+      :visible.sync="stationOpen"
       width="800px"
       append-to-body
     >
@@ -90,15 +96,19 @@
           </el-col>
 
           <el-col :span="11">
-            <el-form-item label="油企名称" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
+            <el-form-item label="油站名称" prop="deptName">
+              <el-input
+                v-model="groupForm.deptName"
+                placeholder="请输入油站名称"
+              />
             </el-form-item>
           </el-col>
           <!--
+
           <el-col :span="11" :offset="1">
             <el-form-item label="平台结算模式" prop="isLngFlag">
               <el-select
-                v-model="form.isLngFlag"
+                v-model="groupForm.isLngFlag"
                 placeholder="请选择是否为平台结算"
                 clearable
                 :style="{ width: '100%' }"
@@ -109,10 +119,11 @@
             </el-form-item>
           </el-col>
           -->
+
           <el-col :span="11" :offset="1">
             <el-form-item label="是否启用支付宝">
               <el-select
-                v-model="form.isAlipayFlag"
+                v-model="groupForm.isAlipayFlag"
                 placeholder="请选择是否启用支付宝"
                 clearable
                 :style="{ width: '100%' }"
@@ -123,11 +134,11 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="11" >
-            <el-form-item label="油站状态">
+          <el-col :span="23">
+            <el-form-item label="油站状态" prop="status">
               <el-select
-                v-model="form.status"
-                placeholder="请选择油站状态"
+                v-model="groupForm.status"
+                placeholder="请选择油站状态"
                 clearable
                 :style="{ width: '100%' }"
               >
@@ -137,23 +148,10 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="23">
-            <el-form-item label="支付通道选择" prop="payWay">
-              <el-cascader
-                v-model="form.payWay"
-                :options="payWayOptions"
-                :props="{ multiple: true }"
-                :style="{ width: '100%' }"
-                placeholder="请选择可用的支付通道"
-                clearable
-              ></el-cascader>
-            </el-form-item>
-          </el-col>
-
           <el-col :span="11">
             <el-form-item label="联系人" prop="leader">
               <el-input
-                v-model="form.leader"
+                v-model="groupForm.leader"
                 placeholder="请输入联系人"
                 maxlength="20"
               />
@@ -163,21 +161,19 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="联系电话" prop="phone">
               <el-input
-                v-model="form.phone"
+                v-model="groupForm.phone"
                 placeholder="请输入联系电话"
                 maxlength="11"
               />
             </el-form-item>
           </el-col>
 
-          
-
           <el-col :span="11">
-            <el-form-item label="省市区" prop="selectedRegionData">
+            <el-form-item label="省市区" prop="regionData">
               <el-cascader
                 size="large"
                 :options="regionDataOptions"
-                v-model="form.regionData"
+                v-model="groupForm.regionData"
                 @change="handleChangeRegionData"
                 :style="{ width: '100%' }"
                 clearable
@@ -188,9 +184,9 @@
           </el-col>
 
           <el-col :span="11" :offset="1">
-            <el-form-item label="详情地址" prop="dizhi">
+            <el-form-item label="详情地址" prop="detailRegionData">
               <el-input
-                v-model="form.city"
+                v-model="groupForm.detailRegionData"
                 placeholder="请填写详细地址"
                 maxlength="50"
               />
@@ -200,7 +196,7 @@
           <el-col :span="11">
             <el-form-item label="油站经度" prop="stationLatitude">
               <el-input
-                v-model="form.stationLatitude"
+                v-model="groupForm.stationLatitude"
                 maxlength="50"
                 placeholder="请填写油站经度"
               />
@@ -209,186 +205,12 @@
           <el-col :span="11" :offset="1">
             <el-form-item label="油站纬度" prop="stationLongitude">
               <el-input
-                v-model="form.stationLongitude"
+                v-model="groupForm.stationLongitude"
                 maxlength="50"
                 placeholder="请填写油站纬度"
               />
             </el-form-item>
           </el-col>
-          <!--
-          <el-col :span="24">
-            <el-form-item label="营业执照编号" prop="licenseNo">
-              <el-input
-                v-model="form.licenseNo"
-                placeholder="请输入营业执照编号"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item
-              label="营业执照上传"
-              prop="licenseImg"
-            >
-              <el-upload
-                class="avatar-uploader"
-                :action="imgUpConfig.addressUrl"
-                :headers="imgUpConfig.headers"
-                multiple
-                list-type="picture-card"
-                :limit="imgUpConfig.limit"
-                :file-list="form.licenseImg"
-                accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"
-                :before-upload="beforeAvatarUpload"
-                :on-remove="handleAvatarRemove"
-                :on-success="handleAvatarSuccess"
-              >
-                <i class="el-icon-plus"></i>
-                <div class="el-upload__tip" slot="tip">
-                  只能上传图片文件,最多上传5张且单张图片不超过5M
-                </div>
-              </el-upload>
-            </el-form-item>
-          </el-col>
-          -->
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              银行信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="开户行" prop="corporateBank">
-              <el-input
-                v-model="form.corporateBank"
-                placeholder="请输入开户行名称"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="11" :offset="1">
-            <el-form-item label="开户行账号" prop="corporateAccount">
-              <el-input
-                v-model="form.corporateAccount"
-                placeholder="请输入对公账户"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="23">
-            <el-form-item label="开户行账户名" prop="corporateAccountName">
-              <el-input
-                v-model="form.corporateAccountName"
-                placeholder="请输入对公银行"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="23">
-            <el-form-item label="手续费" prop="serviceCharge">
-              <el-input
-                v-model="form.serviceCharge"
-                placeholder="请输入手续费"
-                maxlength="50"
-              >
-                <template slot="append">‰</template>
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              小程序信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="小程序AppId" prop="appId">
-              <el-input v-model="form.appId" maxlength="50" placeholder="请输入小程序AppId"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="小程序AppSecret" prop="appSecret">
-              <el-input v-model="form.appSecret" maxlength="50" placeholder="请输入小程序AppSecret"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="23">
-            <el-form-item label="小程序原始Id" prop="originId">
-              <el-input v-model="form.originId" maxlength="50" placeholder="请输入小程序原始Id"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              公众号信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="公众号AppId" prop="gzhAppId">
-              <el-input v-model="form.gzhAppId" maxlength="50" placeholder="请输入公众号AppId"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="公众号AppSecret" prop="gzhAppSecret">
-              <el-input v-model="form.gzhAppSecret" maxlength="50"  placeholder="请输入公众号AppSecret"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              随行付信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="随行付商户号" prop="mno">
-              <el-input v-model="form.mno" maxlength="50" placeholder="请输入随行付商户号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="是否分账">
-              <el-select
-                v-model="form.mnoStatus"
-                placeholder="请选择是否启用分账"
-                clearable
-                :style="{ width: '100%' }"
-              >
-                <el-option label="启用分账" value="1"></el-option>
-                <el-option label="禁用分账" value="0"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="分账收款商户编号" prop="mnoArray">
-              <el-input v-model="form.mnoArray" maxlength="50" placeholder="请输入分账收款商户编号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="分账账号比例" prop="mnoProportion">
-              <el-input v-model="form.mnoProportion" maxlength="50" placeholder="请输入分账账号比例"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <div style="font-size: 22px; font-weight: bolder; margin-top: 20px">
-              云闪付信息
-              <hr />
-            </div>
-          </el-col>
-          <el-col :span="11">
-            <el-form-item label="云闪付商户号码" prop="merchantNo">
-              <el-input v-model="form.merchantNo" maxlength="50" placeholder="请输入云闪付商户号码"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="11" :offset="1">
-            <el-form-item label="云闪付终端号" prop="terminalId">
-              <el-input v-model="form.terminalId" maxlength="50" placeholder="请输入云闪付终端号"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="23">
-            <el-form-item label="云闪付密钥" prop="yunKey">
-              <el-input v-model="form.yunKey" maxlength="50" placeholder="请输入云闪付密钥"/>
-            </el-form-item>
-          </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -396,202 +218,116 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    
-    <!-- 添加或修改部门对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-row>
-          <el-col :span="24" v-if="form.parentId !== 0">
-            <el-form-item label="上级部门" prop="parentId">
-              <treeselect
-                v-model="form.parentId"
-                :options="deptOptions"
-                :normalizer="normalizer"
-                @select="selectDepart"
-                placeholder="选择上级部门"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="油企名称" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
-            <el-form-item label="显示排序" prop="orderNum">
-              <el-input-number
-                v-model="form.orderNum"
-                controls-position="right"
-                :min="0"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="联系人" prop="leader">
-              <el-input
-                v-model="form.leader"
-                placeholder="请输入联系人"
-                maxlength="20"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="联系电话" prop="phone">
-              <el-input
-                v-model="form.phone"
-                placeholder="请输入联系电话"
-                maxlength="11"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="营业执照编号" prop="yingyezhizhao">
-              <el-input
-                v-model="form.leader"
-                placeholder="请输入营业执照编号"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
 
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="省市区" prop="regionData">
-              <el-cascader
-                size="large"
-                :options="regionDataOptions"
-                v-model="form.regionData"
-                @change="handleChangeRegionData"
+    <el-dialog
+      :title="'选择支付渠道'"
+      :visible.sync="payOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="payForm"
+        :model="payForm"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-col :span="23">
+          <el-form-item label="">
+            <el-checkbox-group v-model="payForm.payWay" size="medium">
+              <el-checkbox
+                v-for="(item, index) in payWayOptions"
+                :key="index"
+                :label="item.value"
+                >{{ item.label }}</el-checkbox
               >
-              </el-cascader>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1">
-            <el-form-item label="详情地址" prop="dizhi">
-              <el-input
-                v-model="form.city"
-                placeholder="所属城市"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
+            </el-checkbox-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="23">
+          <div style="font-size: 12px; color: gray; text-align: center">
+            同一支付方式、消费方式只能选择一种支付渠道
+          </div>
+        </el-col>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="所属城市" prop="city">
-              <el-input
-                v-model="form.city"
-                placeholder="所属城市"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站地址" prop="deptAddress">
-              <el-input v-model="form.deptAddress" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站经度" prop="stationLatitude">
-              <el-input v-model="form.stationLatitude" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="油站纬度" prop="stationLongitude">
-              <el-input v-model="form.stationLongitude" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="form.jiBie == 1 || form.jiBie == 2">
-            <el-form-item label="部门状态">
-              <el-radio-group v-model="form.status">
-                <el-radio
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictValue"
-                  >{{ dict.dictLabel }}</el-radio
-                >
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
+    <el-dialog
+      :title="'油品/枪号 列表'"
+      :visible.sync="oilAndGunListOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleOilAndGunConfOpen"
+            >新增</el-button
+          >
+        </el-col>
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+      </el-row>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="小程序appID" prop="appId">
-              <el-input v-model="form.appId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="小程序appSecret" prop="appSecret">
-              <el-input v-model="form.appSecret" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="公众号appID" prop="gzhAppId">
-              <el-input v-model="form.gzhAppId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="公众号appSecret" prop="gzhAppSecret">
-              <el-input v-model="form.gzhAppSecret" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="商户号" prop="mno">
-              <el-input v-model="form.mno" maxlength="50" />
-            </el-form-item>
-          </el-col>
+      <el-table :data="OilAndGunList" style="width: 100%">
+        <el-table-column prop="deptName" label="油站">
+        </el-table-column>
+        <el-table-column prop="deptName" label="油品">
+        </el-table-column>
+        <el-table-column label="枪号" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.gunList.toString() + "号枪" }}
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" align="center">
+          <template>
+            <el-button @click="handleOilAndGunConfOpen">编辑</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
 
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付商户号码" prop="merchantNo">
-              <el-input v-model="form.merchantNo" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付终端号" prop="terminalId">
-              <el-input v-model="form.terminalId" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="云闪付密钥" prop="yunKey">
-              <el-input v-model="form.yunKey" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="24" v-show="isShow">
-            <el-form-item label="是否启用支付宝">
-              <el-radio-group v-model="form.isAlipayFlag">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24" v-show="isShow">
-            <el-form-item label="是否分账">
-              <el-radio-group v-model="form.mnoStatus">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="分账收款商户编号" prop="mnoArray">
-              <el-input v-model="form.mnoArray" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="isShow">
-            <el-form-item label="分账账号比例" prop="mnoProportion">
-              <el-input v-model="form.mnoProportion" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-show="showIsLngFlag">
-            <el-form-item label="LNG平台">
-              <el-radio-group v-model="form.isLngFlag">
-                <el-radio label="1"> 是 </el-radio>
-                <el-radio label="0"> 否 </el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-        </el-row>
+    <el-dialog
+      :title="'操作 油品/枪号'"
+      :visible.sync="oilAndGunConfOpen"
+      width="800px"
+      append-to-body
+    >
+      <el-form
+        ref="oilAndGunConf"
+        :model="oilAndGunForm"
+        label-width="80px"
+        label-position="top"
+      >
+        <el-col :span="23">
+          <el-form-item label="选择油枪">
+              <el-checkbox-group v-model="oilAndGunForm.gunList" size="medium">
+                <el-checkbox
+                  v-for="(item, index) in 50"
+                  :key="index"
+                  :label="item"
+                  >{{
+                    item.toString().length == 1
+                      ? "0" + item + "号枪"
+                      : item + "号枪"
+                  }}</el-checkbox
+                >
+              </el-checkbox-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="23">
+          <div style="font-size: 12px; color: gray; text-align: center">
+            同一支付方式、消费方式只能选择一种支付渠道
+          </div>
+        </el-col>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -647,69 +383,7 @@ export default {
         status: undefined,
       },
       // 表单参数
-      form: {
-        regionData: [], //["120000","120100","120102"] 地区码 
-        corporateAccountName:'', //开户行账户名
-        corporateAccount:'',// 开户行账号
-        corporateBank:'',  // 对公银行 
-        serviceCharge: '', // 手续费
-        licenseImg:[],  // img图片的list  营业执照
-        licenseNo:'',
-        payWay:[[1,2],[1,3]], //支付方式list[[微信,随行付]
-        
-      },
-      payWayOptions: [
-        {
-          label: "微信支付",
-          value: 1,
-          children: [
-            {
-              label: "随行付",
-              value: 1,
-            },
-            {
-              label: "云闪付",
-              value: 2,
-            },
-            {
-              label: "全民付",
-              value: 3,
-            },
-          ],
-        },
-        {
-          label: "支付宝支付",
-          value: 2,
-          children: [
-            {
-              label: "随行付",
-              value: 1,
-            },
-            {
-              label: "云闪付",
-              value: 2,
-            },
-            {
-              label: "上海富友",
-              value: 4,
-            },
-          ],
-        },
-        {
-          label: "银行卡",
-          value: 3,
-          children: [
-            {
-              label: "随行付",
-              value: 1,
-            },
-            {
-              label: "云闪付",
-              value: 2,
-            },
-          ],
-        },
-      ],
+      form: {},
       // 表单校验
       rules: {
         parentId: [
@@ -742,42 +416,131 @@ export default {
 
       groupList: [
         {
+          enterpriseName: "",
           deptName: "李哈哈",
         },
         {
+          enterpriseName: "",
           deptName: "李哈哈",
         },
       ],
+      OilAndGunList:[
+        {
+          gunList:[1,2,3,4]
+        }
+      ],
       groupForm: {
-        deptName: "里昂和",
-        selectedRegionData: [],
+        enterpriseName: "",
+        status: "",
+        leader: "",
+        phone: "",
+        stationLatitude: "",
+        stationLongitude: "",
+        appId: "",
+        appSecret: "",
+        originId: "",
+        gzhAppId: "",
+        gzhAppSecret: "",
+        mno: "",
+        mnoStatus: "",
+        mnoArray: "",
+        mnoProportion: "",
+        merchantNo: "",
+        terminalId: "",
+        yunKey: "",
+
+        regionData: [], //["120000","120100","120102"] 省市区码
+        detailRegionData: [], //详细地址
+        corporateAccountName: "", //开户行账户名
+        corporateAccount: "", // 开户行账号
+        corporateBank: "", // 对公银行
+        serviceCharge: "", // 手续费
+        licenseImg: [], // img图片的list  营业执照
+        licenseNo: "", // 营业执照编号
+        payWay: [
+          [1, 2],
+          [1, 3],
+        ], //支付方式list[[微信,随行付]
       },
       imgUpConfig: {
-        headers:{
+        headers: {
           Authorization: "Bearer " + getToken(),
         },
         addressUrl: process.env.VUE_APP_BASE_API + "/common/upload",
-        limit:5
+        limit: 5,
+      },
+      stationOpen: false,
+      payOpen: false,
+      payForm: {
+        payWay: [],
+      },
+
+      payWayOptions: [
+        {
+          label: "支付宝-随行付-消费",
+          value: 1,
+        },
+        {
+          label: "支付宝-随行付-充值",
+          value: 2,
+        },
+        {
+          label: "微信-随行付-消费",
+          value: 3,
+        },
+        {
+          label: "微信-随行付-充值",
+          value: 4,
+        },
+        {
+          label: "微信-云闪付-充值",
+          value: 5,
+        },
+        {
+          label: "支付宝-云闪付-消费",
+          value: 6,
+        },
+        {
+          label: "支付宝-云闪付-充值",
+          value: 7,
+        },
+        {
+          label: "支付宝-云闪付-消费",
+          value: 8,
+        },
+      ],
+      oilAndGunListOpen: false,
+      oilAndGunConfOpen: true,
+      oilAndGunForm: {
+        gunList: [],
       },
-      groupOpen: true,
     };
   },
   created() {
     this.getList();
-    this.getDicts("sys_normal_disable").then((response) => {
-      this.statusOptions = response.data;
-    });
   },
   methods: {
-    handleAdd(row) {
+    handleOilAndGunConfOpen() {
+      this.oilAndGunConfOpen = true;
+    },
+    handleOilAndGunListOpen() {
+      this.oilAndGunListOpen = true;
+    },
+    handlePayWayOpen() {
+      this.payForm = {
+        payWay: [],
+      };
+      this.payOpen = true;
+    },
+    handleStationAdd(row) {
       this.groupForm = {
         selectedRegionData: [],
       };
-      this.groupOpen = true;
+      this.stationOpen = true;
     },
     handleChangeRegionData(value) {
       console.log(this.form.regionData);
-      console.log(this.form)
+      console.log(this.form);
     },
     beforeAvatarUpload(file) {
       const isLt5M = file.size / 1024 / 1024 < 5;
@@ -794,7 +557,7 @@ export default {
         ...this.form.licenseImg,
         {
           name: file.name,
-          url:  response.url,
+          url: response.url,
         },
       ];
     },
@@ -810,31 +573,6 @@ export default {
         this.loading = false;
       });
     },
-    selectDepart(val) {
-      this.form.jiBie = parseInt(val.jiBie);
-      if (val.jiBie == 1) {
-        this.isShow = true;
-        this.showIsLngFlag = false;
-      } else {
-        this.isShow = false;
-        this.showIsLngFlag = true;
-      }
-    },
-    /** 转换部门数据结构 */
-    normalizer(node) {
-      if (node.children && !node.children.length) {
-        delete node.children;
-      }
-      return {
-        id: node.deptId,
-        label: node.deptName,
-        children: node.children,
-      };
-    },
-    // 字典状态字典翻译
-    statusFormat(row, column) {
-      return this.selectDictLabel(this.statusOptions, row.status);
-    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -864,63 +602,6 @@ export default {
       this.resetForm("queryForm");
       this.handleQuery();
     },
-    /** 新增按钮操作 */
-    handleAdd1(row) {
-      this.reset();
-      if (row != undefined) {
-        this.form.parentId = row.deptId;
-        //判断级别 1是集团,如果是集团展示的是油站的所有数据
-        if (row.jiBie == 1) {
-          this.form.jiBie = parseInt(row.jiBie);
-          this.isShow = true;
-          this.isLngFlag = false;
-        } else {
-          this.isLngFlag = true;
-          this.isShow = false;
-        }
-      }
-      this.open = true;
-      this.title = "添加部门";
-      listDept().then((response) => {
-        this.deptOptions = this.handleTree(response.data, "deptId");
-      });
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      getDept(row.deptId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改部门";
-      });
-      listDeptExcludeChild(row.deptId).then((response) => {
-        this.deptOptions = this.handleTree(response.data, "deptId");
-      });
-      //判断级别 1是集团,如果是集团展示的是油站的所有数据
-      if (row.jiBie == 2) {
-        this.isShow = true;
-        this.showIsLngFlag = false;
-      } else {
-        this.isShow = false;
-        this.showIsLngFlag = true;
-      }
-    },
-    //设置分账的参数
-    handleMnoSplit(row) {
-      this.$confirm('是否进行分账设置,点击确定跳转确认页面"', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          return setMnoSplit(row.deptId);
-        })
-        .then((res) => {
-          // this.getList();
-          window.open(res.msg, "_blank");
-          //this.msgSuccess("分账设置成功");
-        });
-    },
 
     /** 提交按钮 */
     submitForm: function () {
@@ -945,25 +626,6 @@ export default {
         }
       });
     },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      this.$confirm(
-        '是否确认删除名称为"' + row.deptName + '"的数据项?',
-        "警告",
-        {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        }
-      )
-        .then(function () {
-          return delDept(row.deptId);
-        })
-        .then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        });
-    },
   },
 };
 </script>