Преглед изворни кода

fix:开发报价管理和报价配置的页面

wuguojie пре 1 година
родитељ
комит
d6540dc426

+ 2 - 2
config/dev.env.js

@@ -10,14 +10,14 @@ module.exports = merge(prodEnv, {
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"', //凯森
   // BASE_URL: '"http://192.168.0.106:8080/"',//屈晨
-  // BASE_URL: '"http://192.168.0.253:8080/"',//田智
+  BASE_URL: '"http://192.168.0.253:8080/"',//田智
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http:///192.168.0.253:8080/"',//田智
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http://192.168.1.101:8080/"',
   // BASE_URL: '"http://192.168.0.250:8080/"',//
   //  BASE_URL: '"http:///192.168.0.103:8080/"',//霍续亮
-  BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
+  // BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
   // BASE_URL: '"http:///192.168.0.55:8080/"',// 董鑫
   CONSOLE_BASE_URL: '"http://localhost:8080/"', //控制台测试服务器
   CONSOLE_KHGX_URL: '"http://192.168.0.103:8081/login"', //跳转客户服务平台地址

+ 223 - 0
src/views/PeopleManage/Agent/QuoteCountManagement.vue

@@ -0,0 +1,223 @@
+<template>
+  <div class="QuoteCountManagement">
+    <el-row style="height: 100%">
+      <el-col :span="4" style="height: 100%; overflow-y: auto; background: rgba(244, 246, 248, 1);">
+        <div class="menu-item" :class="{'active': menuIndex === index}" v-for="(item, index) in leftTree" :key="item.id" @click="handleSelect(item, index)">{{ item.label }}</div>
+      </el-col>
+      <el-col :span="20">
+        <el-row :gutter="20" align="middle" style="display: flex; align-items: center; width: 100%; overflow: hidden; margin: 0">
+          <el-col :span="18" style="padding-left: 20px">报价限制</el-col>
+          <el-col :span="6">
+            <el-button type="primary" @click="handleSync">同步配置到其他保司</el-button>
+            <el-button type="primary" @click="handleEdit">编辑</el-button>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+        <el-form :model="quoteForm" ref="QuoteForm" :rules="quoteRules" style="padding-left: 30px;" label-width="100px">
+          <el-form-item prop="count" label="报价次数限制">
+            <el-switch v-model="quoteForm.count"></el-switch>
+            <p class="tips">开启后,代理人的报价次数将收到限制,超出设置的报价次数后将停止代理人的报价功能</p>
+          </el-form-item>
+          <el-form-item prop="agentLimit" label="代理人限制">
+            <div>
+              <el-radio-group v-model="quoteForm.agentLimit">
+                <el-radio :label="3">限制全部代理人</el-radio>
+                <el-radio :label="6">限制部分代理人</el-radio>
+              </el-radio-group>
+              <kt-button v-if="quoteForm.agentLimit === 6" type="text" label="选择代理人" icon="el-icon-plus" style="color: #2D4D89; margin-left: 30px" @click="selectAgent" />
+            </div>
+            <el-table
+              :data="agentData"
+            >
+              <el-table-column prop="code" label="部门编码"></el-table-column>
+              <el-table-column prop="organization" label="机构名称"></el-table-column>
+              <el-table-column prop="department" label="部门名称"></el-table-column>
+              <el-table-column prop="number" label="工号"></el-table-column>
+              <el-table-column prop="name" label="姓名"></el-table-column>
+              <el-table-column prop="phone" label="联系电话"></el-table-column>
+              <el-table-column label="操作">
+                <template slot-scope="scope">
+                  <kt-button type="text" label="删除" style="color: #2D4D89;" />
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+          <el-form-item prop="quoteLimit" label="报价限制">
+            <el-checkbox-group v-model="quoteForm.quoteLimit">
+              <div>
+                <el-checkbox :label="1">
+                  <div style="display: flex; align-items: center">
+                    单日报价,出单比不满<el-input size="small" v-model="quoteForm.limit1" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">%</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+              <div>
+                <el-checkbox :label="2">
+                  <div>单日最大报价次数</div>
+                  <div style="display: flex; align-items: center">
+                    单日代理人报价满<el-input size="small" v-model="quoteForm.limit2" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">次</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+              <div>
+                <el-checkbox :label="3">
+                  <div>单日单车限制</div>
+                  <div style="display: flex; align-items: center">
+                    单日代理人单车最多报价<el-input size="small" v-model="quoteForm.limit3" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">次</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+            </el-checkbox-group>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+    <el-dialog
+      :visible.sync="syncShow"
+      width="30%"
+    >
+      <template slot="title">
+        <i class="el-icon-warning" style="color: red"></i><span>是否同步配置到其它保险公司</span>
+      </template>
+      <span>同步后,所有保险公司的报价限制配置都将变为该保险公司相同配置,是否确认同步</span>
+      <template slot="footer">
+        <el-button @click="syncShow = false">取消</el-button>
+        <el-button type="primary" @click="handleSubmit">确定</el-button>
+      </template>
+    </el-dialog>
+    <el-dialog
+      :visible.sync="agentTableShow"
+      width="80%"
+    >
+      <el-table
+        :data="agentDataList"
+        row-key="id"
+        style="width: 100%">
+        <el-table-column prop="code" label="部门编码"></el-table-column>
+        <el-table-column prop="organization" label="机构名称"></el-table-column>
+        <el-table-column prop="department" label="部门名称"></el-table-column>
+        <el-table-column prop="number" label="工号"></el-table-column>
+        <el-table-column prop="name" label="姓名"></el-table-column>
+        <el-table-column prop="phone" label="联系电话"></el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "../../Core/KtButton.vue";
+
+export default {
+  components: {
+    KtButton
+  },
+  data() {
+    return {
+      leftTree: [
+        {
+          id: 0,
+          label: '保险1'
+        },{
+          id: 1,
+          label: '保险2'
+        },{
+          id: 2,
+          label: '保险3'
+        },{
+          id: 3,
+          label: '保险4'
+        },
+      ],
+      menuIndex: 0,
+      syncShow: false,
+      quoteForm: {
+        count: false,
+        agentLimit: '',
+        quoteLimit: []
+      },
+      quoteRules: {
+        agentLimit: [
+          {
+            required: true, message: '请选择代理人限制', trigger: 'change'
+          }
+        ],
+        quoteLimit: [
+          {
+            type: 'array',required: true, message: '请选择报价限制', triangle: 'change'
+          }
+        ]
+      },
+      agentData: [{
+        code: '',
+        organization: '',
+        department: '',
+        number: '',
+        name: '',
+        phone: ''
+      }],
+      agentTableShow: false,
+      agentDataList: [{
+        id: '1',
+        code: '',
+        organization: '',
+        department: '',
+        number: '',
+        name: '',
+        phone: ''
+      }]
+    }
+  },
+  methods: {
+    handleSelect(item, index) {
+      this.menuIndex = index
+    },
+    handleSync() {
+      this.syncShow = true
+    },
+    handleEdit() {
+
+    },
+    handleSubmit() {
+
+    },
+    selectAgent() {
+      this.agentTableShow = true
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.QuoteCountManagement{
+  width: 100%;
+  height: 100%;
+  overflow-y: auto;
+  .tips{
+    font-size: 12px;
+    color: #999;
+  }
+}
+.menu-item{
+  line-height: 38px;
+  padding: 8px 0 8px 10px;
+  color: #333333;
+  cursor: pointer;
+}
+.active{
+  background: rgba(24, 144, 255, 0.2);
+  color: #1890FF;
+  font-weight: 700;
+}
+/deep/.el-divider--horizontal{
+  margin: 12px 0;
+}
+/deep/.el-input__inner{
+  padding-left: 34px !important;
+}
+</style>

+ 136 - 0
src/views/PeopleManage/Agent/QuoteManagement.vue

@@ -0,0 +1,136 @@
+<template>
+  <div class="quoteManagement">
+    <el-row :gutter="20">
+      <el-form ref="QuoteForm" :model="quoteForm" :inline="true" label-width="130px">
+        <el-col :span="6">
+          <el-form-item label="代理人信息">
+            <el-input v-model="quoteForm.people" size="small" placeholder="请输入姓名和手机号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="工号">
+            <el-input v-model="quoteForm.number" size="small" placeholder="请输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="保险公司">
+            <el-select v-model="quoteForm.company" size="small"></el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-button size="small">重置</el-button>
+          <el-button type="primary" size="small">查询</el-button>
+        </el-col>
+      </el-form>
+    </el-row>
+    <el-table
+      :data="quoteData"
+    >
+      <el-table-column prop="" label="部门编码"></el-table-column>
+      <el-table-column prop="" label="机构名称"></el-table-column>
+      <el-table-column prop="" label="部门名称"></el-table-column>
+      <el-table-column prop="" label="工号"></el-table-column>
+      <el-table-column prop="" label="姓名"></el-table-column>
+      <el-table-column prop="" label="联系电话"></el-table-column>
+      <el-table-column prop="" label="保险公司"></el-table-column>
+      <el-table-column prop="" label="今日报价(次)"></el-table-column>
+      <el-table-column prop="" label="今日报价后承保(单)"></el-table-column>
+      <el-table-column prop="" label="累计报价(次)"></el-table-column>
+      <el-table-column prop="" label="累计承保(单)"></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="scope">
+          <kt-button label="增加次数" size="small" type="text" perms="agreement:input:delete"
+                     @click="addCount(scope.$index, scope.row)" style="color: #D42426 !important " />
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="flex-box">
+      <el-pagination
+        @size-change="handleSizeChange"
+        :current-page="pageNum"
+        :page-sizes="[10, 20, 30, 40]"
+        :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total">
+      </el-pagination>
+    </div>
+    <el-dialog
+      title="增加次数"
+      :visible.sync="dialogVisible"
+      width="30%">
+      <el-form style="width: 100%" ref="AddForm" :model="addForm" :inline="true" label-width="130px">
+        <el-form-item label="代理人" style="width: 100%">
+          <el-input style="width: 100%" v-model="addForm.agent" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="保险公司">
+          <el-input v-model="addForm.company" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="今日已报价">
+          <el-input v-model="addForm.hadQuote" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="今日已承保">
+          <el-input v-model="addForm.had" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="报价出单比">
+          <el-input v-model="addForm.assign" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="增加次数">
+          <el-input v-model="addForm.count"></el-input>
+        </el-form-item>
+        <el-form-item label="备注">
+          <el-input type="textarea" v-model="addForm.tips"></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "@/views/Core/KtButton";
+export default {
+  name: "index.vue",
+  components: {
+    KtButton
+  },
+  data() {
+    return {
+      quoteForm: {
+        people: '',
+        number: '',
+        company: ''
+      },
+      quoteData: [{}],
+      pageNum: 1,
+      pageSize: 10,
+      total: 0,
+      dialogVisible: false,
+      addForm: {
+
+      }
+    }
+  },
+  methods: {
+    addCount(index, row) {
+      this.dialogVisible = true
+    },
+    handleSizeChange() {
+
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.flex-box{
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+}
+.el-form-item__content{
+  width: 100%;
+}
+</style>