QiuYuMiao hai 7 meses
pai
achega
ce2b397fdc

+ 1 - 1
src/router/_import.js

@@ -313,7 +313,7 @@ const map = {
   customerXz:()=>import('@/views/mis/customerManagement/customerXzbg-index'),//用户性质变更
   customerFpbg:()=>import('@/views/mis/customerManagement/customerFpbg-index'),//用户发票信息变更
   sysRegin: ()=>import('@/views/mis/codingManagement/sysRegin-index'),//行政区管理
-  businessArea:()=>import('@/views/mis/codingManagement/businessArea-List'),//营业区域管理
+  chargingUnit:()=>import('@/views/mis/codingManagement/chargingUnit-List'),//收费单位管理
   tollTerminal:()=>import('@/views/mis/codingManagement/tollTerminal-index'),//收费终端管理
   customerHtgl:()=>import('@/views/mis/customerManagement/customerHtgl-index'),//用户合同管理
   customerXypj:()=>import('@/views/mis/customerManagement/customerXypj-index'),//用户信用管理

+ 365 - 0
src/views/mis/codingManagement/chargingUnit-List.vue

@@ -0,0 +1,365 @@
+<template>
+  <div class="mis-pageBox">
+    <!-- 主页 -->
+    <el-container>
+      <el-header height="40px">
+        <el-row>
+          <el-col :span="18">
+            <el-input
+              v-model="queryParams.searchText"
+              size="small"
+              style="width: 300px"
+              placeholder="输入关键字"
+              clearable
+              @keyup.enter.native="clickQuery()"
+            />
+            <el-button
+              type="primary"
+              size="small"
+              icon="el-icon-search"
+              @click="clickQuery()"
+              >查询</el-button
+            >
+          </el-col>
+          <el-col :span="6" class="list-opCol">
+            <el-button
+              type="primary"
+              size="small"
+              icon="el-icon-plus"
+              @click="clickAdd()"
+              >添加</el-button
+            >
+            <el-button
+              type="primary"
+              size="small"
+              icon="el-icon-edit"
+              @click="clickModify()"
+              :disabled="disabledModify"
+              >修改</el-button
+            >
+            <el-button
+              type="danger"
+              size="small"
+              icon="el-icon-delete"
+              @click="clickDelete()"
+              :disabled="disabledDelete"
+              >删除</el-button
+            >
+          </el-col>
+        </el-row>
+      </el-header>
+      <el-main>
+        <tfTable
+          :table-data="dataList"
+          :column="columns"
+          :for-id="false"
+          :pagination="false"
+          :currentpage="pageInfo.current"
+          :pagesize="pageInfo.size"
+          :total="pageInfo.tableTotal"
+          :border="true"
+          :multiple="true"
+          :fixed="true"
+          :isdelete="false"
+          :is-select="false"
+          :stripe="true"
+          @handleCurrentChange="handleCurrentChange"
+          @handleSizeChange="handleSizeChange"
+          @handleSelectionChange="handleSelectionChange"
+          @rowDblclick="showDetail"
+          @detail="showDetail"
+        />
+      </el-main>
+    </el-container>
+    <!-- 详情页 -->
+    <el-dialog
+      v-if="dialogVisible"
+      v-dialogDrag
+      top="20vh"
+      :title="dialogTitle"
+      :visible.sync="dialogVisible"
+      width="800px"
+      class="dialog"
+    >
+      <tfDetail :detailData="detailData" :editState="editState" ref="dForm" />
+      <template slot="footer">
+        <el-button
+          type="warning"
+          icon="el-icon-check"
+          @click="clickSave()"
+          v-if="!editState"
+          >确 定</el-button
+        >
+        <el-button type="warning" icon="el-icon-close" @click="clickCancel()"
+          >关 闭</el-button
+        >
+      </template>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import "@/views/mis/common/assets/styles/misStyle.scss";
+import { DateHelper } from "@/views/mis/common/assets/scripts/utils.js";
+import { chargingUnit } from "@/views/mis/common/api/codingManagement.js";
+import tfTable from "@/views/mis/common/misTable/index.vue";
+import tfDetail from "./chargingUnit-form.vue";
+export default {
+  components: { tfTable, tfDetail },
+  props: ["data"],
+  data() {
+    return {
+      /* ----- 主页 ----- */
+      queryParams: {
+        searchText: "",
+      },
+      disabledModify: true,
+      disabledDelete: true,
+      editType: true, //编辑类型,true:新增;false:修改
+      loading: false, // 控制表格查询时
+      pageInfo: {
+        current: 1,
+        size: 10,
+        tableTotal: 1,
+        "orders[0].asc": "true",
+        "orders[0].column": "gsbm",
+      }, // 分页数据
+      columns: [
+        {
+          label: "代收公司编码",
+          prop: "gsbm",
+          align: "center",
+          sortable: true,
+        },
+        {
+          label: "代收公司名称",
+          prop: "gsmc",
+          align: "center",
+        },   
+        {
+          label: "公司地址",
+          prop: "gsdz",
+          align: "center",
+        },   
+        {
+          label: "联系电话",
+          prop: "lxdh",
+          align: "center",
+        },  
+        {
+          label: "是否启用",
+          prop: "disabled",
+          align: "center",
+          formatter: function (row, column, cellValue, index) {
+            return cellValue == 1 ? "是" : "否";
+          },
+        },
+        {
+          label: "操作人员",
+          prop: "czryxm",
+          align: "center",
+        },
+        {
+          label: "操作时间",
+          prop: "czsj",
+          align: "center",
+          sortable: true,
+        },
+      ],
+      dataList: [], // 表格数据
+      selectionsData: [], // 表格选中数据
+      selectedRow: {}, //表格选中行
+
+      /* ----- 详情页 ----- */
+      dialogTitle: "新增",
+      editState: false, //编辑状态,true:禁用;false:启用
+      dialogVisible: false,
+      detailData: {
+        gsbm: undefined,
+        gsmc: undefined,
+        gsdz:undefined,
+        lxdh:undefined,
+        czsj: undefined,
+        disabled: undefined,
+        czryxm: undefined,
+      },
+    };
+  },
+  watch: {
+    selectionsData(value) {
+      this.disabledModify = this.selectionsData.length !== 1;
+      this.disabledDelete = this.selectionsData.length == 0;
+    },
+    dialogVisible(newVal, oldVal) {
+      if (!newVal) {
+        this.resetDetailData();
+      }
+    },
+  },
+  created() {},
+  mounted() {
+    this.bindList();
+  },
+  methods: {
+    /* ----- 方法 ----- */
+    /**
+     * @description 绑定列表
+     */
+    bindList() {
+      // 追加分页参数
+      let params = Object.assign({}, this.pageInfo, this.queryParams);
+      this.dataList = [];
+      this.loading = true;
+      chargingUnit.query(params)
+        .then((res) => {
+          if (res.code !== 1) {
+            this.$message.error("查询失败!");
+            return;
+          }
+          // 数据总数
+          this.pageInfo.tableTotal = res.result.total;
+          this.dataList = res.result.records;
+        })
+        .catch((ex) => {
+          this.$message.error("查询失败!");
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    resetDetailData() {
+      // 表单数据
+      for (var key in this.detailData) {
+        //console.log("key值:" + key)
+        this.detailData[key] = undefined;
+      }
+    },
+    add() {
+      let params = Object.assign({}, this.detailData);
+      params.czry = this.$store.state.user.userId;
+      params.czryxm = this.$store.state.user.realName;
+
+      chargingUnit.add(params).then((res) => {
+        if (res.code == 1) {
+          this.bindList();
+          this.$message.success("添加成功!");
+          this.dialogVisible = false;
+        }
+      });
+    },
+    modify() {
+      let params = Object.assign({}, this.detailData);
+      params.czry = this.$store.state.user.userId;
+      params.czryxm = this.$store.state.user.realName;
+      params.czsj = DateHelper.getNowFormatDate(true);
+
+      chargingUnit.modify(params).then((res) => {
+        if (res.code == 1) {
+          this.bindList();
+          this.$message.success("修改成功!");
+          this.dialogVisible = false;
+        }
+      });
+    },
+    delete() {
+      const ids = this.selectionsData.map((item) => {
+        return item.code;
+      });
+
+      chargingUnit.delete({ ids: ids.join(",") }).then((res) => {
+        if (res.code == 1) {
+          this.bindList();
+          this.$message.success("删除成功!");
+        }
+      });
+    },
+    /**
+     * @description 显示详情
+     */
+    showDetail(data) {
+      this.selectedRow = data;
+      this.detailData = Object.assign({}, this.selectedRow);
+
+      this.dialogTitle = "查看";
+      this.editState = true;
+      this.dialogVisible = true; // 显示弹窗
+    },
+
+    /* ----- dom事件 ----- */
+    /**
+     * @description 查询
+     */
+    clickQuery() {
+      this.pageInfo.current = 1;
+      this.bindList();
+    },
+    /**
+     * @description 添加
+     */
+    clickAdd() {
+      this.detailData.czryxm = this.$store.state.user.realName;
+      this.detailData.czsj = DateHelper.getNowFormatDate(true);
+
+      this.editType = true;
+      this.dialogTitle = "添加";
+      this.editState = false;
+      this.dialogVisible = true; // 显示弹窗
+    },
+    /**
+     * @description 修改
+     */
+    clickModify() {
+      this.selectedRow = this.selectionsData[0];
+      this.detailData = Object.assign({}, this.selectedRow);
+
+      this.editType = false;
+      this.dialogTitle = "修改";
+      this.editState = false;
+      this.dialogVisible = true; // 显示弹窗
+    },
+    /**
+     * @description 删除
+     */
+    clickDelete() {
+      this.$confirm("确定删除?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        this.delete();
+      });
+    },
+    clickCancel() {
+      this.dialogVisible = false; // 关闭弹窗
+    },
+    clickSave() {
+      let flag = this.$refs.dForm.validate();
+      if (flag) {
+        if (this.editType) this.add(); // 新增
+        else this.modify(); // 修改
+      }
+    },
+
+    /* ----- 组件事件 ----- */
+    /**
+     * @description 改变当前页
+     */
+    handleCurrentChange(current) {
+      this.pageInfo.current = current;
+      this.bindList();
+    },
+    /**
+     * @description 分页每页条数
+     */
+    handleSizeChange(size) {
+      this.pageInfo.size = size;
+      this.bindList();
+    },
+    /**
+     * @description 选择改变
+     */
+    handleSelectionChange(rows) {
+      this.selectionsData = rows;
+    },
+  },
+};
+</script>

+ 81 - 0
src/views/mis/codingManagement/chargingUnit-form.vue

@@ -0,0 +1,81 @@
+<template>
+  <el-form
+    :model="detailData"
+    :disabled="editState"
+    :rules="rules"
+    :inline-message="true"
+    :status-icon="true"
+    ref="form"
+    class="MIS_FORM"
+  >
+    <el-descriptions title="" :column="2" border size="mini">
+      <el-descriptions-item label="编码">
+        <el-input
+          v-model="detailData.gsbm"
+          placeholder="自动生成"
+          disabled
+        ></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item label="代收公司名称" labelClassName="redStar">
+        <el-form-item prop="gsmc">
+          <el-input v-model="detailData.gsmc" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="公司地址" span="2">
+        <el-input v-model="detailData.gsdz" placeholder="请输入"></el-input>
+      </el-descriptions-item>
+
+      <el-descriptions-item label="联系电话">
+        <el-form-item>
+          <el-input v-model="detailData.lxdh" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+     
+      <el-descriptions-item label="是否启用">
+        <el-switch
+          v-model="detailData.disable"
+          active-text="是"
+          inactive-text="否"
+          active-value="1"
+          inactive-value="0"
+          inactive-color="lightgray"
+        >
+        </el-switch>
+      </el-descriptions-item>
+    </el-descriptions>
+  </el-form>
+</template>
+  
+  <script>
+export default {
+  name: "detail",
+  props: {
+    detailData: {},
+    editState: false,
+  },
+  data() {
+    return {
+      rules: {
+        name: [{ required: true, message: "请输入", trigger: "blur" }],
+      },
+    };
+  },
+  computed: {},
+  watch: {},
+  mounted() {},
+  created() {},
+  destroyed() {},
+  methods: {
+    validate() {
+      let flag = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          flag = true;
+        }
+      });
+      return flag;
+    },
+  },
+};
+</script>
+  

+ 98 - 60
src/views/mis/codingManagement/tollTerminal-form.vue

@@ -1,66 +1,104 @@
 <template>
-    <el-form :model="detailData" :disabled="editState" :rules="rules" :inline-message="true" :status-icon=true ref="form"
-      class="MIS_FORM">
-      <el-descriptions title="" :column="2" border size="mini">
-        <el-descriptions-item label="编码">
-          <el-input v-model="detailData.code" placeholder="自动生成" disabled></el-input>
-        </el-descriptions-item>
-        <el-descriptions-item label="终端名称" labelClassName="redStar">
-          <el-form-item prop="name">
-            <el-input v-model="detailData.name" placeholder="请输入"></el-input>
-          </el-form-item>
-        </el-descriptions-item>
-     
-        <el-descriptions-item label="所属网点">
-            <el-input v-model="detailData.sswd" placeholder="请输入"></el-input>
-          </el-descriptions-item>
-        
-        <el-descriptions-item label="是否启用">
-          <el-switch v-model="detailData.isdisabled" active-text="是" inactive-text="否" active-value="1" inactive-value="0"
-            inactive-color="lightgray">
-          </el-switch>
-        </el-descriptions-item>
-      </el-descriptions>
-    </el-form>
-  </template>
+  <el-form
+    :model="detailData"
+    :disabled="editState"
+    :rules="rules"
+    :inline-message="true"
+    :status-icon="true"
+    ref="form"
+    class="MIS_FORM"
+  >
+    <el-descriptions title="" :column="2" border size="mini">
+      <el-descriptions-item label="编码">
+        <el-input
+          v-model="detailData.id"
+          placeholder="自动生成"
+          disabled
+        ></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item label="设备名称" labelClassName="redStar">
+        <el-form-item prop="sbmc">
+          <el-input v-model="detailData.sbmc" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="设备型号">
+        <el-form-item>
+          <el-input v-model="detailData.sbxh" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="所属公司" labelClassName="redStar">
+        <el-form-item prop="ssgs">
+          <cpsCompany
+            v-model="detailData.ssgs"
+            placeholder="请选择"
+            style="width: 100%"
+          >
+          </cpsCompany>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="所属片区">
+        <el-form-item>
+          <el-input v-model="detailData.sspq" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="营业点">
+        <el-form-item>
+          <el-input v-model="detailData.yyd" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+      <el-descriptions-item label="使用人员">
+        <el-form-item>
+          <el-input v-model="detailData.syry" placeholder="请输入"></el-input>
+        </el-form-item>
+      </el-descriptions-item>
+
+      <el-descriptions-item label="是否启用">
+        <el-switch
+          v-model="detailData.yxbz"
+          active-text="是"
+          inactive-text="否"
+          active-value="1"
+          inactive-value="0"
+          inactive-color="lightgray"
+        >
+        </el-switch>
+      </el-descriptions-item>
+    </el-descriptions>
+  </el-form>
+</template>
   
   <script>
-  export default {
-    name: 'detail',
-    props: {
-      detailData: {},
-      editState: false
-    },
-    data() {
-      return {
-        rules: {
-          name: [
-            { required: true, message: "请输入", trigger: "blur" }
-          ]
+import cpsCompany from "@/views/mis/common/components/cps-company.vue";
+export default {
+  name: "detail",
+  components: { cpsCompany },
+  props: {
+    detailData: {},
+    editState: false,
+  },
+  data() {
+    return {
+      rules: {
+        name: [{ required: true, message: "请输入", trigger: "blur" }],
+      },
+    };
+  },
+  computed: {},
+  watch: {},
+  mounted() {},
+  created() {},
+  destroyed() {},
+  methods: {
+    validate() {
+      let flag = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          flag = true;
         }
-      }
-    },
-    computed: {
-    },
-    watch: {
-    },
-    mounted() {
-    },
-    created() {
-    },
-    destroyed() {
+      });
+      return flag;
     },
-    methods: {
-      validate() {
-        let flag = false;
-        this.$refs.form.validate((valid) => {
-          if (valid) {
-            flag = true;
-          }
-        });
-        return flag;
-      }
-    }
-  }
-  </script>
+  },
+};
+</script>
   

+ 37 - 12
src/views/mis/codingManagement/tollTerminal-index.vue

@@ -122,28 +122,48 @@
           size: 10,
           tableTotal: 1,
           "orders[0].asc": "true",
-          "orders[0].column": "code",
+          "orders[0].column": "id",
         }, // 分页数据
         columns: [
           {
             label: "编码",
-            prop: "code",
+            prop: "id",
             align: "center",
             sortable: true,
           },
           {
-            label: "名称",
-            prop: "name",
+            label: "设备名称",
+            prop: "sbmc",
             align: "center",
           },
           {
-            label: "所属网点",
-            prop: "sswd",
+            label: "设备型号",
+            prop: "sbxh",
+            align: "center",
+          },
+          {
+            label: "所属公司",
+            prop: "ssgs",
+            align: "center",
+          },
+          {
+            label: "所属片区",
+            prop: "sspq",
+            align: "center",
+          },
+          {
+            label: "营业点",
+            prop: "yyd",
+            align: "center",
+          },  
+          {
+            label: "使用人员",
+            prop: "syry",
             align: "center",
           },         
           {
             label: "是否启用",
-            prop: "isdisabled",
+            prop: "yxbz",
             align: "center",
             formatter: function (row, column, cellValue, index) {
               return cellValue == 1 ? "是" : "否";
@@ -170,11 +190,16 @@
         editState: false, //编辑状态,true:禁用;false:启用
         dialogVisible: false,
         detailData: {
-          code: undefined,
-          name: undefined,
-          sswd: undefined,
+          id: undefined,
+          sbmc: undefined,
+          sbxh: undefined,
+          ssgs:undefined,
+          sspq:undefined,
+          syry:undefined,
+          yyd:undefined,
           czsj: undefined,
-          isdisabled: undefined,
+          yxbz: undefined,
+          czry: undefined,
           czryxm: undefined,
         },
       };
@@ -257,7 +282,7 @@
       },
       delete() {
         const ids = this.selectionsData.map((item) => {
-          return item.code;
+          return item.id;
         });
   
         TollTerminal.delete({ ids: ids.join(",") }).then((res) => {

+ 49 - 10
src/views/mis/common/api/codingManagement.js

@@ -255,7 +255,8 @@ const MrBook = {
     delete(requestParams) {
         return request({
             url: `/fees-aba-api/api/bmgl/bmcbb/${requestParams}`,
-            method: 'delete'
+            method: 'delete',
+            
         })
     }
 }
@@ -287,8 +288,9 @@ const Community={
     },
     delete(requestParams) {
         return request({
-            url: `/fees-aba-api/bmq/deleteByIds/${requestParams}`,
-            method: 'delete'
+            url: `/fees-aba-api/bmq/deleteByIds`,
+            method: 'delete',
+            params: requestParams
         })
     }
 
@@ -321,8 +323,9 @@ const Pressurise={
     },
     delete(requestParams) {
         return request({
-            url: `/fees-aba-api/bmjydj/${requestParams}`,
-            method: 'delete'
+            url: `/fees-aba-api/bmjydj/deleteByIds`,
+            method: 'delete',
+            params: requestParams
         })
     }
 
@@ -355,8 +358,9 @@ const TollTerminal={
     },
     delete(requestParams) {
         return request({
-            url: `/fees-aba-api/api/bmgl/bmsfzd/${requestParams}`,
-            method: 'delete'
+            url: `/fees-aba-api/api/bmgl/bmsfzd/deleteByIds`,
+            method: 'delete',
+            params: requestParams
         })
     }
 
@@ -389,8 +393,43 @@ const sysRegin={
     },
     delete(requestParams) {
         return request({
-            url: `/fees-aba-api/area/${requestParams}`,
-            method: 'delete'
+            url: `/fees-aba-api/area/deleteByIds`,
+            method: 'delete',
+            params: requestParams
+        })
+    }
+}
+
+/**
+ * @description 收费单位
+ */
+const chargingUnit={
+    query(requestParams) {
+        return request({
+            url: '/fees-aba-api/api/dsgl/dsdsgs/page',
+            method: 'get',
+            params: requestParams
+        })
+    },
+    add(requestParams) {
+        return request({
+            url: '/fees-aba-api/api/dsgl/dsdsgs',
+            method: 'post',
+            data: requestParams
+        })
+    },
+    modify(requestParams) {
+        return request({
+            url: '/fees-aba-api/api/dsgl/dsdsgs',
+            method: 'put',
+            data: requestParams
+        })
+    },
+    delete(requestParams) {
+        return request({
+            url: `/fees-aba-api/api/dsgl/dsdsgs/deleteByIds`,
+            method: 'delete',
+            params: requestParams
         })
     }
 }
@@ -545,4 +584,4 @@ const CodingCustom = {
     }
 }
 
-export { ChargeChannel, MeterType, MeterFactory, MeterModel, PayMode, MrArea, MrBook, UniversalCodeP, UniversalCode, CodingCustom,Community,Pressurise,TollTerminal,sysRegin };
+export { ChargeChannel, MeterType, MeterFactory, MeterModel, PayMode, MrArea, MrBook, UniversalCodeP, UniversalCode, CodingCustom,Community,Pressurise,TollTerminal,sysRegin,chargingUnit };

+ 1 - 1
src/views/mis/common/api/customerManagement.js

@@ -109,7 +109,7 @@ const CustomerBatch = {
      */
     batch(requestParams) {
         return request({
-            url: '/fees-aba-api/api/yhgl/yhkhjbxx/import2',
+            url: '/fees-aba-api/api/yhgl/yhkhjbxx/import',
             method: 'post',
             data: requestParams
         })