Просмотр исходного кода

人员管理-团队长管理、代理人管理新增时,角色禁用,只能选当前角色

lihongxiao 3 лет назад
Родитель
Сommit
410a17aecc

+ 1 - 1
src/components/TemplateTable/index.vue

@@ -146,7 +146,7 @@
             <el-table-column v-if="tableConfig.optBtns" :min-width="tableConfig.operationWidth || '100'" label="操作" fixed="right"   header-align="center" align="center" >
                 <template slot-scope="scope">
                     <span v-for="(btn, index) in tableConfig.optBtns" :key="index">
-                        <el-button style="margin:0 10px" v-if="btn.hide(scope.row)"  v-permission="btn.perm"    @click="btn.click(scope.row, index)" :type="btn.type ||'primary'" :icon="btn.icon" size="small">{{ btn.label }} </el-button>                   
+                        <el-button style="margin:0 10px" v-if="!btn.hide  ||(btn.hide &&btn.hide(scope.row))"  v-permission="btn.perm"    @click="btn.click(scope.row, index)" :type="btn.type ||'primary'" :icon="btn.icon" size="small">{{ btn.label }} </el-button>                   
                    </span>
                 </template>
               </el-table-column>

+ 165 - 240
src/views/FinancialManagement/CostVerification/CostVerification.vue

@@ -1,161 +1,23 @@
 <template>
   <!--布局容器-->
   <div class="container" style="width: 99%; margin-top: 0px">
-    <!-- 顶部查询 -->
-    <el-row class="top">
-      <el-form v-model="queryFrom" label-width="95px" class="form">
-        <el-row>
-          <el-col :span="4">
-            <el-form-item label="保险公司:">
-              <el-select v-model="queryFrom.insCompanyId" placeholder="请选择保险公司" filterable>
-                <el-option
-                  v-for="(InsCompanyitem, InsCompanyindex) in InsCompanyList"
-                  :key="InsCompanyindex"
-                  :label="InsCompanyitem.name"
-                  :value="InsCompanyitem.id"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="出单渠道:">
-              <el-input clearable size="small" placeholder="请输入出单渠道" v-model="queryFrom.出单渠道"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="业务渠道:">
-              <el-input clearable size="small" placeholder="请输入业务渠道" v-model="queryFrom.业务渠道"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="车牌号:">
-              <el-input clearable size="small" placeholder="请输入车牌号" v-model="queryFrom.plateNum"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="导入日期:">
-              <el-date-picker
-                clearable
-                size="small"
-                style="width: 100%;"
-                v-model="queryFrom.importTime"
-                type="daterange"
-                range-separator="至"
-                start-placeholder="请输入开始日期"
-                end-placeholder="请输入结束日期"
-                value-format="yyyy-MM-dd"
-              ></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="签单日期:">
-              <el-date-picker
-                clearable
-                size="small"
-                style="width: 100%;"
-                v-model="queryFrom.签单日期"
-                type="daterange"
-                range-separator="至"
-                start-placeholder="请输入开始日期"
-                end-placeholder="请输入结束日期"
-                value-format="yyyy-MM-dd"
-              ></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="领取状态:">
-              <el-select size="small" clearable v-model="queryFrom.领取状态" placeholder="请选择领取状态">
-                <el-option label="已领取" value="1"></el-option>
-                <el-option label="未领取" value="2"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="批次号:">
-              <el-input clearable size="small" placeholder="请输入批次号" v-model="queryFrom.id"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item label="支付状态:">
-              <el-select size="small" clearable v-model="queryFrom.支付状态" placeholder="请选择支付状态">
-                <el-option label="已支付" value="1"></el-option>
-                <el-option label="未支付" value="2"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="4">
-            <el-form-item>
-              <el-button type="primary" size="small" @click="queryStaffInfo">查询</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-row>
-
-    <!-- 表格 -->
-    <el-table
-      size="small"
-      :data="tableData"
-      height="590"
-      border
-      v-loading="loading"
-      highlight-current-row
-      stripe
-      ref="expandTable"
-      :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }"
-    >
-      <el-table-column prop="id" label="批次号" align="center">
+    <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
+      @getList="getList" @handleSearchList="handleSearchList" :pagination="page">
+      <el-table-column slot="id" label="批次号" align="center">
         <template slot-scope="scope">
           <span class="batchStyle" @click="redirectDetail(scope.row)">{{ scope.row.id }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="insCompanyName" label="保险公司" align="center"></el-table-column>
-      <el-table-column prop="mlifta" label="交强险保费" align="center"></el-table-column>
-      <el-table-column prop="vavt" label="车船税" align="center"></el-table-column>
-      <el-table-column prop="other" label="其他保费" align="center"></el-table-column>
-      <el-table-column prop="inventoryQuantity" label="清单数量" align="center"></el-table-column>
-      <el-table-column prop="createTime" label="导入日期" align="center"></el-table-column>
-      <el-table-column prop="createBy" label="操作人" align="center"></el-table-column>
-      <el-table-column prop="orderno" label="跟单费用" align="center"></el-table-column>
-      <el-table-column prop="orderno" label="支付日期" align="center"></el-table-column>
-      <el-table-column label="操作" align="center" min-width="100">
-        <template slot-scope="scope">
-          <el-button size="mini" type="primary" @click="modifyFun(scope.row)">修改</el-button>
-          <el-button size="mini" type="primary" @click="deleteFun( scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页功能 -->
-    <div class="block">
-      <el-pagination
-        @size-change="tablePageChange"
-        @current-change="tableCurrentChange"
-        :current-page="page.pageNum"
-        :page-size="page.pageSize"
-        :page-sizes="[20, 30, 50, 100]"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="page.totalSize"
-      ></el-pagination>
-    </div>
-    <el-dialog
-      v-dialogDrag
-      title="修改"
-      :visible.sync="dialogVisible"
-      width="1200px"
-      @close="closeVisible"
-    >
+    </templateTable>
+    <el-dialog v-dialogDrag title="修改" :visible.sync="dialogVisible" width="1200px" @close="closeVisible">
       <div>
         <el-form :model="formData" label-width="180px">
           <el-row>
             <el-col :span="8">
               <el-form-item label="保险公司:">
                 <el-select v-model="formData.insCompanyId" placeholder="请选择保险公司" filterable>
-                  <el-option
-                    v-for="(InsCompanyitem, InsCompanyindex) in InsCompanyList"
-                    :key="InsCompanyindex"
-                    :label="InsCompanyitem.name"
-                    :value="InsCompanyitem.id"
-                  ></el-option>
+                  <el-option v-for="(InsCompanyitem, InsCompanyindex) in InsCompanyList" :key="InsCompanyindex"
+                    :label="InsCompanyitem.name" :value="InsCompanyitem.id"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -176,12 +38,7 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="清单数量">
-                <el-input
-                  clearable
-                  size="small"
-                  placeholder="请输入清单数量"
-                  v-model="formData.inventoryQuantity"
-                ></el-input>
+                <el-input clearable size="small" placeholder="请输入清单数量" v-model="formData.inventoryQuantity"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -192,16 +49,11 @@
         <el-button size="small" type="primary" @click="comfirmDialog">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog
-      v-dialogDrag
-      title="批次详情"
-      :visible.sync="dialogBVatchVisible"
-      width="80%"
-      @close="closeBVatchVisibleVisible"
-    >
+    <el-dialog v-dialogDrag title="批次详情" :visible.sync="dialogBVatchVisible" width="80%"
+      @close="closeBVatchVisibleVisible">
       <div class="detailStyle">
         <el-row>
-          <el-col :span="4">交强险保费:{{formDetailData.mlifta}}</el-col>
+          <el-col :span="4">交强险保费:{{ formDetailData.mlifta }}</el-col>
           <el-col :span="4">手续费:</el-col>
           <el-col :span="4">商业险保费:{{ formDetailData.cip }}</el-col>
           <el-col :span="4">手续费:</el-col>
@@ -216,37 +68,24 @@
           <el-col :span="16" style="text-align: center;">合计手续费:</el-col>
         </el-row>
       </div>
-      <el-table
-        size="small"
-        :data="batchData"
-        height="590"
-        border
-        highlight-current-row
-        stripe
-        ref="expandTable"
-        :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }"
-      >
-        <template v-for="(item,index) in columns">
+      <el-table size="small" :data="batchData" border highlight-current-row stripe ref="expandTable"
+        :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }">
+        <template v-for="(item, index) in columns">
           <el-table-column :prop="item.prop" :label="item.label" :key="index"></el-table-column>
         </template>
-        <el-table-column label="操作" align="center" min-width="100">
+        <el-table-column label="操作" align="center" min-width="60">
           <template slot-scope="scope">
-            <el-button
-              size="mini"
-              type="primary"
-              @click="detailBatchFun(scope.$index, scope.row)"
-            >详情</el-button>
+            <el-button size="mini" type="primary" @click="detailBatchFun(scope.row)">详情</el-button>
           </template>
         </el-table-column>
       </el-table>
+      <div class="block">
+        <el-pagination @size-change="tablePageBatchChange" @current-change="tableCurrentBatchChange"
+          :current-page="queryBatchFrom.pageNum" :page-size="queryBatchFrom.pageSize" :page-sizes="[10, 20, 50, 100]"
+          layout="total, sizes, prev, pager, next, jumper" :total="queryBatchFrom.totalSize"></el-pagination>
+      </div>
     </el-dialog>
-    <el-dialog
-      v-dialogDrag
-      title="详情"
-      :visible.sync="dialogBVatch"
-      width="60%"
-      @close="closdialogBVatceVisible"
-    >
+    <el-dialog v-dialogDrag title="详情" :visible.sync="dialogBVatch" width="60%" @close="closdialogBVatceVisible">
       <el-row style="margin-bottom:20px">
         <el-col :span="8">批次号:{{ formBatchDetailData.batchNum }}</el-col>
         <el-col :span="4">保险公司:中煤保险</el-col>
@@ -274,38 +113,98 @@
   </div>
 </template>
 <script>
+import templateTable from '../../../components/TemplateTable/index.vue'
+
 export default {
   name: "costVerification",
-  created() {
-    this.getList();
-    this.$api.cost.gainTopList().then(res => {
-      if (res.data) {
-        this.InsCompanyList = res.data;
-      }
-    });
-  },
+  components: { templateTable },
   data() {
     return {
+      formList: [
+        {
+          label: "保险公司",
+          prop: "insCompanyId",
+          type: "company",
+        },
+        {
+          label: "批次号",
+          prop: "id",
+          type: 'input'
+        },
+        {
+          label: "导入日期",
+          prop: "importTime",
+          type: "datePicker",
+          dateType: 'daterange'
+        },
+        // {
+        //   label: "支付状态",
+        //   prop: "status",
+        //   type: 'select',
+        //   options: [
+        //     {
+        //       label: '未领取',
+        //       value: '0'
+        //     },
+        //     {
+        //       label: '未支付',
+        //       value: '1'
+        //     },
+        //     {
+        //       label: '已支付',
+        //       value: '2'
+        //     },
+        //   ]
+        // },
+      ],
+      searchData: {},
+      tableConfig: {
+        columns: [
+          {
+            type: 'slot',
+            name: 'id',
+          },
+          {
+            prop: 'insCompanyName', label: '保险公司', type: 'text',
+          },
+          {
+            prop: 'mlifta', label: '交强险保费', type: 'text',
+          },
+          {
+            prop: 'vavt', label: '车船税', type: 'text',
+          }, {
+            prop: 'other', label: '其他保费', type: 'text',
+          }, {
+            prop: 'inventoryQuantity', label: '清单数量', type: 'text',
+          }, {
+            prop: 'createTime', label: '导入日期', type: 'text',
+          }, {
+            prop: 'createBy', label: '操作人', type: 'text',
+          }
+        ],
+        loading: true,
+        isPaginationShow: true,
+        optBtns: [
+          {
+            type: 'primary',
+            label: '修改',
+            click: (row, index) => { return this.modifyFun(row) },
+          },
+          {
+            type: 'primary',
+            label: '删除',
+            click: (row, index) => { return this.deleteFun(row) },
+          },
+          
+        ]
+      },
       InsCompanyList: [],
-      queryFrom: {},
       page: {
         pageNum: 1,
         pageSize: 20,
         totalSize: 0
       },
-      tableData: [
-        {
-          taxRate: "ZM-001",
-          错误信息: "111",
-          导入状态: 1
-        },
-        {
-          taxRate: "ZM-002",
-          错误信息: "111",
-          导入状态: 2
-        }
-      ],
-      loading: false,
+      tableData: [],
       formData: {},
       formDetailData: {},
       formBatchDetailData: {},
@@ -313,92 +212,101 @@ export default {
       dialogBVatchVisible: false,
       columns: [
         {
-          prop: "fieldName1",
+          prop: "batchNum",
           label: "批次号"
         },
         {
-          prop: "fieldName2",
+          prop: "policyNum",
           label: "保单号"
         },
         {
-          prop: "fieldName1",
+          prop: "plateNum",
           label: "车牌号"
         },
         {
-          prop: "fieldName1",
+          prop: "insured",
           label: "被保险人"
         },
         {
-          prop: "fieldName1",
+          prop: "insKindName",
           label: "险种"
         },
         {
-          prop: "fieldName1",
+          prop: "mlifta",
           label: "交强险保费"
         },
         {
-          prop: "fieldName1",
+          prop: "vavt",
           label: "车船税"
         },
         {
-          prop: "fieldName1",
+          prop: "cip",
           label: "商业保险费"
         },
         {
-          prop: "fieldName1",
+          prop: "other",
           label: "其他保费"
         },
         {
-          prop: "fieldName1",
+          prop: "payDate",
           label: "付款日期"
         }
       ],
       batchData: [],
-      pageRequest: {
+      queryBatchFrom: {
         pageNum: 1,
-        pageSize: 20
+        pageSize: 10,
+        totalSize: 0
       },
       dialogBVatch: false,
       InsCompany: "",
-      batchNum: 0
+      batchNumId: 0,
     };
   },
+  created() {
+    this.getList();
+    this.$api.cost.gainTopList().then(res => {
+      if (res.data) {
+        this.InsCompanyList = res.data;
+      }
+    });
+  },
   methods: {
     //列表数据
-    getList() {
-      this.loading = true;
-      this.$api.cost.getQueryPage({...this.queryFrom,...this.page,flag:1}).then(res => {
+    getList(data) {
+      this.tableConfig.loading = true;
+      this.$api.cost.getQueryPage({ ...data, ...this.page, flag: 1 }).then(res => {
         if (res.data) {
           this.tableData = res.data.content;
           this.page.pageNum = res.data.pageNum;
           this.page.pageSize = res.data.pageSize;
           this.page.totalSize = res.data.totalSize;
-          this.loading = false;
+          this.tableConfig.loading = false;
+
         } else {
-          this.loading = false;
+          this.tableConfig.loading = false;
         }
       });
     },
     // 查询
-    queryStaffInfo() {
+    handleSearchList(data) {
       if (
-        this.queryFrom.importTime||
-        this.queryFrom.importTime == undefined ||
-        this.queryFrom.importTime == null ||
-        this.queryFrom.importTime == ""
+        data.importTime == undefined ||
+        data.importTime == null ||
+        data.importTime == ""
       ) {
-        (this.queryFrom.importStartTime = ""),
-          (this.queryFrom.importEndTime = "");
+        (data.importStartTime = ""),
+          (data.importEndTime = "");
       } else {
-        this.queryFrom.importStartTime = this.queryFrom.importTime[0];
-        this.queryFrom.importEndTime = this.queryFrom.importTime[1];
+        data.importStartTime = data.importTime[0];
+        data.importEndTime = data.importTime[1];
       }
-      this.getList();
+      this.getList(data)
     },
     // 修改保存页面
     comfirmDialog() {
       this.$api.cost
-        .getEdit({ ...this.formData, id: this.batchNum,flag:2 })
+        .getEdit({ ...this.formData, flag: 1 })
         .then(res => {
           if (res.code == 200) {
             this.$message({
@@ -413,7 +321,6 @@ export default {
     // 修改页面
     modifyFun(row) {
       this.dialogVisible = true;
-      this.batchNum = row.id;
       this.formData = row;
     },
     // 删除
@@ -430,7 +337,7 @@ export default {
             }
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     closeVisible() {
       this.dialogVisible = false;
@@ -444,21 +351,39 @@ export default {
     // 批次详情
     redirectDetail(row) {
       this.dialogBVatchVisible = true;
+      this.formDetailData = row;
+      this.batchNumId = row.id;
       this.findPage();
     },
     // 批次详情列表接口
     findPage() {
-      this.$api.task
-        .queryOfflineExcel(this.pageRequest)
+      this.$api.cost
+        .getQueryPageDetails({ batchNum: this.batchNumId, ...this.queryBatchFrom, })
         .then(res => {
           this.batchData = res.data.content;
-          // this.totalSize = this.pageResult.totalSize;
+          this.queryBatchFrom.pageNum = res.data.pageNum;
+          this.queryBatchFrom.pageSize = res.data.pageSize;
+          this.queryBatchFrom.totalSize = res.data.totalSize;
         })
-        .then(data != null ? data.callback : "");
+
     },
     // 批次详情查看接口
     detailBatchFun(row) {
+      let id = row.id;
       this.dialogBVatch = true;
+      this.$api.cost.detailsById(id).then(res => {
+        if (res.code == 200) {
+          this.formBatchDetailData = res.data;
+        }
+      });
+    },
+    tablePageBatchChange(val) {
+      this.queryBatchFrom.pageSize = val;
+      this.findPage();
+    },
+    tableCurrentBatchChange(val) {
+      this.queryBatchFrom.pageNum = val;
+      this.findPage();
     },
     tablePageChange(val) {
       this.page.pageSize = val;

+ 0 - 1
src/views/FinancialManagement/CostVerification/Payment.vue

@@ -180,7 +180,6 @@ export default {
                         prop: 'payDate', label: '支付日期', type: 'text',
                     }
                 ],
-
                 isCheckBox: true,
                 loading: true,
                 isPaginationShow: true,

+ 7 - 2
src/views/PeopleManage/Agent/AgentManage.vue

@@ -206,6 +206,7 @@
                 style="width:200px"
                 v-model="formData.roleId"
                 placeholder="请选择"
+                disabled
               >
               <el-option v-for="val in roles" :label="val.name" :value="val.id+''" :key="val.id"></el-option>
             </el-select>
@@ -287,7 +288,9 @@ export default {
         realName:'',
         mobile:'',
       },
-      formData:{},
+      formData:{
+        roleId:'20'
+      },
       formDataRules:{
         deptId:[{ required: true, message: "请选择机构", trigger: "change" }],
         mobile: [
@@ -303,7 +306,7 @@ export default {
         name: [{ required: true, message: "请填写名称", trigger: "blur" }],
         // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
-        roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
+        // roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
         },
       filterObject: {},
       peopleid: "",
@@ -523,6 +526,7 @@ export default {
       if(this.formData.deptId){
         this.formData.deptId = this.formData.deptId.at(-1);
       }
+      this.formData.roleId='20'
       this.dialogTitle = "新增后线人员";
       this.dialogVisible = true;
     },
@@ -554,6 +558,7 @@ export default {
       for (let key in this.formData) {
         this.formData[key] = "";
       }
+      this.formData.roleId='21'
       this.dialogVisible = false;
     },
     // 提交

+ 6 - 2
src/views/PeopleManage/TeamLeader/TeamLeaderManage.vue

@@ -206,6 +206,7 @@
                 style="width:200px"
                 v-model="formData.roleId"
                 placeholder="请选择"
+                disabled
               >
               <el-option v-for="val in roles" :label="val.name" :value="val.id+''" :key="val.id"></el-option>
             </el-select>
@@ -287,7 +288,9 @@ export default {
         realName:'',
         mobile:'',
       },
-      formData:{},
+      formData:{
+        roleId:'21'
+      },
       formDataRules:{
         deptId:[{ required: true, message: "请选择机构", trigger: "change" }],
         mobile: [
@@ -303,7 +306,7 @@ export default {
         name: [{ required: true, message: "请填写名称", trigger: "blur" }],
         // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
-        roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
+        // roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
         },
       filterObject: {},
       peopleid: "",
@@ -528,6 +531,7 @@ export default {
       if(this.formData.deptId){
         this.formData.deptId = this.formData.deptId.at(-1);
       }
+      this.formData.roleId='21'
       this.dialogTitle = "新增后线人员";
       this.dialogVisible = true;
     },