Forráskód Böngészése

批单功能;宣传图配置页面

lihongxiao 2 éve
szülő
commit
2902ecd85e

+ 2 - 2
config/dev.env.js

@@ -11,9 +11,9 @@ module.exports = merge(prodEnv, {
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // 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.106:8080/"',//屈晨
   // BASE_URL: '"http:///192.168.0.253:8080/"',//田智
-  // BASE_URL: '"http:///192.168.0.42: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/"',

+ 26 - 0
src/components/TemplateTable/index.vue

@@ -29,6 +29,14 @@
                 :value="s.value || s.dictValue"></el-option>
             </el-select>
           </template>
+          <template v-else-if="f.type === 'selectDept'">
+            <el-select  size="small" v-model="searchDataClone[f.prop]" filterable clearable :placeholder="'请选择' + f.label"
+              @change="selectChange($event, f.prop)">
+              <el-option v-for="(option, index) in f.options" :key="index"
+                :label="f.optionsIabel ? option[f.optionsIabel] : option.name"
+                :value="f.optionsValue ? option[f.optionsValue] : option.id"></el-option>
+            </el-select>
+          </template>
           <template v-else-if="f.type === 'datePicker'">
             <!-- 日期区间 -->
             <el-date-picker style="width: 215px;" type="daterange" size="small" v-model="searchDataClone[f.prop]" align="right" unlink-panels
@@ -245,6 +253,24 @@ export default {
   },
 
   methods: {
+    selectChange(id, filed) {
+      switch (filed) {
+        case 'provinceId':
+          break;
+        case 'cityId':
+
+          break;
+        case 'countyId':
+
+          break;
+
+        default:
+          break;
+      }
+      if (id) {
+        this.$emit('areaSelectChange', { id, filed });
+      }
+    },
     formatDateTime(date) {
       let d = new Date(date),
         month = '' + (d.getMonth() + 1),

+ 14 - 0
src/http/moudules/role.js

@@ -107,4 +107,18 @@ export const postViewAll = () => {
         url: '/sys/position/all',
         method: 'get',
     })
+}
+
+export const pictureSave = (data) => {
+    return axios({
+        url: '/sys/qy/wechat/save/picture',
+        method: 'post',
+        data
+    })
+}
+export const pictureFind = (userId) => {
+    return axios({
+        url: '/sys/qy/wechat/find/picture/'+userId,
+        method: 'get',
+    })
 }

+ 36 - 1
src/http/moudules/task.js

@@ -1340,4 +1340,39 @@ export const auditByBankNumber = (data) => {
     method: "post",
     data
   })
-}
+}
+export const batchOrder = (data) => {
+  return axios({
+    url: "/insurance/order/batchOrder",
+    method: "post",
+    data
+  })
+}
+export const getBatchOrder = (params) => {
+  return axios({
+    url: "/insurance/order/getBatchOrder",
+    method: "get",
+    params
+  })
+}
+export const getBatchOrderList = (data) => {
+  return axios({
+    url: "/insurance/order/getBatchOrderList",
+    method: "post",
+    data
+  })
+}
+export const auditBatchOrder = (data) => {
+  return axios({
+    url: "/insurance/order/auditBatchOrder",
+    method: "post",
+    data
+  })
+}
+export const importAsyncQuery = (data) => {
+  return axios({
+    url: "/fnc/importAsync/query",
+    method: "post",
+    data
+  })
+}

+ 2 - 2
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -253,8 +253,8 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="保单日期类型" prop="matchType">
-                  <el-select v-model="agreement.matchType" placeholder="请选择保单日期类型" style="width: 100%">
+                <el-form-item label="选择日期类型" prop="matchType">
+                  <el-select v-model="agreement.matchType" placeholder="请选择日期类型" style="width: 100%">
                     <el-option v-for="item in matchTypeoptions" :key="item.dictValue" :label="item.dictTag"
                       :value="item.dictValue"></el-option>
                   </el-select>

+ 20 - 0
src/views/Core/KtCommonTable.vue

@@ -108,6 +108,13 @@
             :icon="button5Icon"
             @click="handleButton5(scope.$index, scope.row)"
           />
+          <kt-button
+            v-if="button6Name"
+            :label="button6Name"
+            :size="size"
+            :type="button6Type"
+            @click="handleButton6(scope.$index, scope.row)"
+          />
         </template>
       </el-table-column>
     </el-table>
@@ -201,6 +208,9 @@ export default {
     button5Name: {
       type: String,
     },
+    button6Name: {
+      type: String,
+    },
     permsButton1: {
       type: String,
     },
@@ -265,6 +275,10 @@ export default {
       type: String,
       default: "primary",
     },
+    button6Type: {
+      type: String,
+      default: "primary",
+    },
     editButtonName: {
       type: String,
     },
@@ -490,6 +504,12 @@ export default {
         row: row,
       });
     },
+    handleButton6: function (index, row) {
+      this.$emit("handleButton6", {
+        index: index,
+        row: row,
+      });
+    },
     handleButton: function (index, row) {
       this.$emit("handleButton", {
         index: index,

+ 64 - 5
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue

@@ -4,14 +4,14 @@
     <templateTable custom :formList="formList" ref="templateTable" :searchData.sync="searchData"
       :tableConfig="tableConfig" :data="tableData" :btnGroup="btnGroup" @findPage="findPage"
       @handleSearchList="handleSearchList" :pagination="pageData" @getList="getList">
-      <template slot="内部机构">
+      <!-- <template slot="内部机构">
         <el-select v-model="labelData" placeholder="请选择" :popper-append-to-body="false" style="width: 100%" size="small">
           <el-option :value="selectTree" class="deptOption" disabled>
             <el-tree :data="treedata" :props="defaultProps" ref="tree" :highlight-current="true" @n="handleNodeClick"
               default-expand-all></el-tree>
           </el-option>
         </el-select>
-      </template>
+      </template> -->
       <template slot="保司机构">
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
@@ -285,10 +285,28 @@ export default {
       moneyList: {},
       searchData: {},
       formList: [
+        // {
+        //   label: "内部机构",
+        //   name: "内部机构",
+        //   type: "slot",
+        // },
         {
-          label: "内部机构",
-          name: "内部机构",
-          type: "slot",
+          prop: 'provinceId',
+          label: '省机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'cityId',
+          label: '市机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'countyId',
+          label: '区机构名称',
+          type: 'selectDept',
+          options: []
         },
         {
           label: "保司机构",
@@ -550,6 +568,10 @@ export default {
         isOther: '0',
         isNotDocumentary: '0'
       },
+      pageDataPro: {
+        pageNum: 1,
+        pageSize: 20,
+      },
       formData: {},
       rules: {
         voucherNumber: [
@@ -572,6 +594,8 @@ export default {
     this.findPage();
     this.getDicType("InsInsuranceKind"); //险种类型
     this.getDicType("agreementType"); //险种类型
+    this.areaqueryList(1, 99, "provinceId");
+
     let params = {
       classname: "",
       type: '1',
@@ -596,6 +620,33 @@ export default {
     });
   },
   methods: {
+      //下拉数据匹配
+      selectDataMatching(files, name, data) {
+      files.forEach(filed => {
+        if (filed.prop == name) {
+          filed.options = data;
+        }
+      })
+    },
+    areaqueryList(level, parentId, filed) {
+      this.$api.task.queryListByParentId(level, parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    areaSelectChange(obj) {
+      switch (obj.filed) {
+        case 'provinceId':
+          this.areaqueryList(2, obj.id, 'cityId')
+          break;
+        case 'cityId':
+          this.areaqueryList(3, obj.id, 'countyId')
+          break;
+        case 'countyId':
+          this.areaqueryList(4, obj.id, 'houseId')
+          break;
+        default:
+      }
+    },
     getDicType(type) {
       this.$api.insCompany.dicType(type).then((res) => {
         if (res.code == 200) {
@@ -806,6 +857,14 @@ export default {
       this.fileList = []
       this.batchData = {}
       this.InvoicingData = {}
+      // this.$api.task.importAsyncQuery(this.pageDataPro)
+      //   .then(res => {
+      //     if (res.code == 200) {
+      //     }
+      //     else {
+      //       this.$message.error(res.msg)
+      //     }
+      //   });
       this.dialogVisibleBatch = true
     },
     templateDownload() {

+ 52 - 6
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/HandlingFees.vue

@@ -3,15 +3,15 @@
   <div class="container" style="width: 99%; margin-top: 0px">
     <templateTable custom :formList="formList" ref="templateTable" :searchData.sync="searchData"
       :tableConfig="tableConfig" :data="tableData" :btnGroup="btnGroup" @findPage="findPage"
-      @handleSearchList="handleSearchList" :pagination="pageData" @getList="getList">
-      <template slot="内部机构">
+      @handleSearchList="handleSearchList" :pagination="pageData" @areaSelectChange="areaSelectChange" @getList="getList">
+      <!-- <template slot="内部机构">
         <el-select v-model="labelData" placeholder="请选择" :popper-append-to-body="false" style="width: 100%" size="small">
           <el-option :value="selectTree" class="deptOption" disabled>
             <el-tree :data="treedata" :props="defaultProps" ref="tree" :highlight-current="true"
               @node-click="handleNodeClick" default-expand-all></el-tree>
           </el-option>
         </el-select>
-      </template>
+      </template> -->
       <template slot="保司机构">
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
@@ -221,10 +221,28 @@ export default {
         value: "1",
       }],
       formList: [
+        // {
+        //   label: "内部机构",
+        //   name: "内部机构",
+        //   type: "slot",
+        // },
         {
-          label: "内部机构",
-          name: "内部机构",
-          type: "slot",
+          prop: 'provinceId',
+          label: '省机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'cityId',
+          label: '市机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'countyId',
+          label: '区机构名称',
+          type: 'selectDept',
+          options: []
         },
         {
           label: "保司机构",
@@ -529,6 +547,7 @@ export default {
     });
     this.getDicType("InsInsuranceKind"); //险种类型
     this.getDicType("agreementType"); //险种类型
+    this.areaqueryList(1, 99, "provinceId");
 
     this.findPage();
     let params = {
@@ -555,6 +574,33 @@ export default {
     });
   },
   methods: {
+      //下拉数据匹配
+      selectDataMatching(files, name, data) {
+      files.forEach(filed => {
+        if (filed.prop == name) {
+          filed.options = data;
+        }
+      })
+    },
+    areaqueryList(level, parentId, filed) {
+      this.$api.task.queryListByParentId(level, parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    areaSelectChange(obj) {
+      switch (obj.filed) {
+        case 'provinceId':
+          this.areaqueryList(2, obj.id, 'cityId')
+          break;
+        case 'cityId':
+          this.areaqueryList(3, obj.id, 'countyId')
+          break;
+        case 'countyId':
+          this.areaqueryList(4, obj.id, 'houseId')
+          break;
+        default:
+      }
+    },
     getDicType(type) {
       this.$api.insCompany.dicType(type).then((res) => {
         if (res.code == 200) {

+ 329 - 0
src/views/Sys/PublicizeImg.vue

@@ -0,0 +1,329 @@
+<template>
+    <div>
+        <el-main ref="elMain" style="padding: 0px">
+            <Split :gutterSize="2" style="height: calc(100vh - 120px)">
+                <!-- 左侧树Start -->
+                <SplitArea :size="leftSplitWidth" :minSize="240">
+                    <div>
+                        <!-- 左侧树形结构 -->
+                        <el-tree :data="ztreeNodes" :props="{ children: 'children', label: 'name' }" node-key="id"
+                            :default-expanded-keys="['9']" @node-click="onZTreeClick"></el-tree>
+                    </div>
+                </SplitArea>
+                <!-- 左侧树End -->
+
+                <!-- 右侧列表页面Start -->
+                <SplitArea :size="rightSplitWidth">
+                    <!-- 筛选区域Start -->
+                    <el-row class="queryFrom">
+                        <el-form ref="queryFormRef" :model="pageData" label-width="80px" size="small">
+                            <el-row>
+                                <el-col :span="5">
+                                    <el-form-item label="工号">
+                                        <el-input clearable placeholder="工号" v-model="pageData.userId"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="5">
+                                    <el-form-item label="姓名">
+                                        <el-input clearable placeholder="姓名" v-model="pageData.name"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="5">
+                                    <el-form-item label="手机号">
+                                        <el-input clearable placeholder="手机号" v-model="pageData.mobile"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="5">
+                                    <el-form-item label="状态">
+                                        <el-select style="width:200px" clearable v-model="pageData.status"
+                                            placeholder="请选择">
+                                            <el-option v-for="val in user_statusoptions" :label="val.label"
+                                                :value="val.value" :key="val.id"></el-option>
+                                        </el-select>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="5">
+                                    <el-form-item label="领导人">
+                                        <el-select size="small" style="width:215px" clearable filterable
+                                            v-model="pageData.leaderId" placeholder="请选择">
+                                            <el-option v-for="item in searchLeaderOptions" :key="item.id" :label="item.name"
+                                                :value="item.name">
+                                            </el-option>
+                                        </el-select>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="4">
+                                    <el-form-item label="">
+                                        <el-button type="primary" @click="queryStaffInfo">查询</el-button>
+                                    </el-form-item>
+                                </el-col>
+                            </el-row>
+                        </el-form>
+                    </el-row>
+                    <kt-common-table permsEdit="sys:backline:edit" :data="pageResult" :columns="columns" editButtonName="配置图片"
+                        :showBatchDelete="false" @findPage="findPage" @handleEdit="handleTableEdit">
+                    </kt-common-table>
+
+                </SplitArea>
+                <!-- 右侧列表页面End -->
+            </Split>
+        </el-main>
+
+        <!-- 新增修改界面 -->
+        <el-dialog width="20%" :visible.sync="dialogVisible" :close-on-click-modal="false"
+             @close="closeDialog" v-dialogDrag>
+             <div>
+             上传图片: <el-upload
+                action="#"
+                style="display:inline-block"
+                list-type="picture-card"
+                :auto-upload="false"
+                accept=".png, .jpg, .jpeg"
+                :show-file-list="false"
+                :on-change="drivingupload">
+                <img v-if="qrCodeImage" :src="qrCodeImage"  class="avatar">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+             </div>
+             <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="submitForm">确 定</el-button>
+      </span>
+        </el-dialog>
+
+    </div>
+</template>
+  
+<script>
+import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
+import tree from "@/components/ztree.vue"; // 机构树组件
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import mixa from '../PeopleManage/mixin'
+const mixin = new mixa({
+    treeTypeNum: null
+})
+export default {
+    components: {
+        KtButton,
+        tree,
+        KtCommonTable,
+    },
+    mixins: [mixin],
+    data() {
+        return {
+            qrCodeImage:'',
+            CarFrontFile:{},
+            pageData: {
+                pageNum: 1,
+                pageSize: 20,
+                deptId: JSON.parse(localStorage.getItem('user_data')).deptId,
+                userId: '',
+                realName: '',
+                mobile: '',
+            },
+            formData: {},
+            queryFrom: {},
+            pageResult: {},
+            dialogVisible: false, // 新增编辑界面是否显示
+            departmentList: [], // 选中公司的所有部门的集合
+            deptInfo: {}, //选中机构的基本信息
+            option: [], //机构列表
+            //影像上传列表
+            imagesIdList: [],
+            leaderOptions: [],
+            searchLeaderOptions: {},
+            columns: [
+        // 数据列
+        { prop: "deptId", label: "部门编码", minWidth: 80, sortable: false },
+        {
+          prop: "pdeptName",
+          label: "机构名称",
+          minWidth: 120,
+          sortable: false,
+        },
+
+        { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
+
+        { prop: "userId", label: "工号", minWidth: 80, sortable: false },
+        { prop: "name", label: "姓名", minWidth: 120, sortable: false },
+        {
+          prop: "sex",
+          label: "性别",
+          minWidth: 50,
+          sortable: false,
+        },
+        { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
+        {
+          prop: "roleId",
+          label: "角色",
+          minWidth: 80,
+          sortable: false,
+        },
+        {
+          prop: "positionName",
+          label: "岗位",
+          minWidth: 120,
+        },
+        {
+          prop: "status",
+          label: "状态",
+          minWidth: 50,
+          sortable: false,
+        },
+      ],
+        };
+    },
+    created() {
+        this.searchLeaderFun()
+    },
+    methods: {
+        drivingupload(file, fileList){
+            let fileRaw = file.raw;
+      this.qrCodeImage = window.URL.createObjectURL(fileRaw);
+        const params = new FormData(); // 声明formData数据类型
+        params.append("multipartFile", file.raw);
+        params.append("type", "image");
+        this.$api.letter.uploadFile(params).then(res => {
+            if (res.code == "200") {
+                this.CarFrontFile=res.data
+            }
+            else{
+            this.$message.error(res.msg)
+            }
+        });
+        },
+        searchLeaderFun() {
+            this.$api.user
+                .findBackListByDeptId({ deptId: this.deptId })
+                .then((res) => {
+                    this.searchLeaderOptions = res.data;
+                });
+        },
+        // 查询Start
+        queryStaffInfo() {
+            this.findPage();
+        },
+        onZTreeClick: function (evt, treeId, treeNode) {
+            // 点击事件
+            this.currentTreeNode = evt;
+            this.deptId = this.currentTreeNode.id;
+            this.pageData.pageNum = 1;
+            this.findPage();
+            this.searchLeaderFun()
+        },
+       
+        // 右侧列表的方法Start
+        findPage(data) {
+            // 获取分页数据
+            if (data && data.pageRequest) {
+                this.pageData.pageNum = data.pageRequest.pageNum;
+                this.pageData.pageSize = data.pageRequest.pageSize;
+            }
+            let dto = {
+                deptId: this.deptId,
+                mobile: this.pageData.mobile,
+                name: this.pageData.name,
+                userId: this.pageData.userId,
+                status: this.pageData.status,
+                agentFlag: 0,
+                leaderName: this.pageData.leaderId,
+                roleId: '22',
+            }
+            this.$api.user
+                .findBackUserList({ dto, pageNum: this.pageData.pageNum, pageSize: this.pageData.pageSize })
+                .then((res) => {
+                    res.data.records.forEach(val => {
+                        if (val.sex && val.sex !== '' && val.sex !== null) {
+                            val.sex = this.sexoptions.find(ele => ele.value == val.sex).label
+                        }
+                        if (val.status && val.status !== '' && val.status !== null) {
+                            val.status = this.user_statusoptions.find(ele => ele.value == val.status).label
+                        }
+                        val.roleId = val.roleName
+                    })
+                    this.pageResult = {
+                        content: res.data.records,
+                        pageNum: res.data.current,
+                        pageSize: res.data.size,
+                        totalPages: res.data.pages,
+                        totalSize: res.data.total,
+                    };
+                })
+
+        },
+        
+        async handleTableEdit(params) {
+            this.formData=params.row
+            this.dialogVisible=true
+            this.CarFrontFile={}
+            this.qrCodeImage=''
+            this.$api.role
+                .pictureFind(params.row.userId)
+                .then((res) => {
+                    if (res.code == "200" ) {
+                        if(res.data){
+                            this.qrCodeImage=process.env.BASE_URL  +res.data.wechatPictureUrl
+                            res.data.url=res.data.wechatPictureUrl
+                            this.CarFrontFile=res.data
+                        }
+                    }
+                    else{
+                        this.$message.error(res.msg)
+                    }
+                })
+        },
+
+        getDictItems(typeName) {
+            //--数据字典--
+            this.$api.dict
+                .findByLableName(typeName)
+                .then((response) => {
+                    this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
+                })
+                .catch((error) => {
+                    this[typeName + "options"] = [];
+                });
+        },
+        closeDialog() {
+            this.deptInfo = {};
+            this.dialogVisible = false;
+        },
+        // 提交
+        submitForm() {
+            let data={
+                wechatpicture:this.CarFrontFile.id,
+                wechatPictureUrl:this.CarFrontFile.url,
+                userId:this.formData.userId,
+                userName:this.formData.name,
+            }
+            this.$api.role
+                .pictureSave(data)
+                .then((res) => {
+                    if (res.code == "200") {
+                        this.$message({
+                            message: res.msg ||'操作成功',
+                            type: 'success'
+                            });
+                        this.dialogVisible=false
+                    }
+                    else{
+                    this.$message.error(res.msg)
+                    }
+                })
+               
+        },
+    },
+};
+</script>
+  
+<style scoped>
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 150px;
+  height: 150px;
+  display: block;
+}
+</style>
+  

+ 1 - 0
src/views/Task/AgentPoolChannel/AgentPoolChannel3.vue

@@ -5,6 +5,7 @@
     <kt-common-table :data="pageResult" :columns="columns" element-loading-text="加载中..." v-loading="loading"
       :showBatchDelete="false" @findPage="findPage" button3Name="转发" button3Type="text"
       @handleButton3="transmit" button2Name="报价轨迹" button2Type="text"
+      button6Name="批单" button6Type="text" @handleButton6="batchOrder"
       @handleButton2="trajectory" button5Name="详情" button5Type="text" @handleButton5="detailFun" button4Name="转发记录" button4Type="text"
       @handleButton4="forwardingRecords" :operationWidth="300"></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">

+ 375 - 0
src/views/Task/AgentPoolChannel/BatchOrder.vue

@@ -0,0 +1,375 @@
+<template>
+    <!--布局容器-->
+    <div class="container" style="width: 99%; margin-top: 0px">
+        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
+            @getList="getList" @handleSearchList="handleSearchList" :pagination="queryFrom">
+        </templateTable>
+        <!-- <el-dialog :visible.sync="dialogVisibleOrder" width="40%" :before-close="handleCloseOrder">
+            <el-form ref="form" :model="formDataOrder" label-width="120px" size="small" disabled>
+                <h4 class="form_title">车辆信息</h4>
+                <el-row :gutter="20">
+                    <el-col :span="12" v-for="f in formvehicleList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.carInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="使用性质" prop="carnature">
+                            <el-select v-model="formDataOrder.carInfo.carnature" placeholder="请选择使用性质" @change="natureFun">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆用途" prop="vehicleUse">
+                            <el-select v-if="formDataOrder.carInfo.carnature == '02'"
+                                v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                            <el-select v-else v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆类型" prop="cartype">
+                            <el-select v-model="formDataOrder.carInfo.cartype" placeholder="请选择车辆种类" filterable clearable>
+                                <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆种类" prop="cimodelclass">
+                            <el-select v-model="formDataOrder.carInfo.cimodelclass" placeholder="请选择车辆种类" clearable>
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in vehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="能源种类" prop="energyType">
+                            <el-select v-model="formDataOrder.carInfo.energyType" placeholder="请选择能源种类">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in energyTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="注册日期" prop="registerDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.registerDate"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="发证日期" prop="issueDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.issueDate"
+                                :picker-options="issueDateOptions" type="date" placeholder="选择发证日期"
+                                value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="转移登记日期" prop="transferDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.transferDate"
+                                :picker-options="pickerOptions" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否过户" prop="transferFlag">
+                            <el-select v-model="formDataOrder.carInfo.transferFlag" placeholder="请选择是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="商业险是否过户" prop="transferFlagBi">
+                            <el-select v-model="formDataOrder.carInfo.transferFlagBi" placeholder="请选择商业险是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否脱保" prop="outOfInsurance">
+                            <el-select v-model="formDataOrder.carInfo.outOfInsurance" placeholder="请选择是否脱保">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否二手车" prop="usedCar">
+                            <el-select v-model="formDataOrder.carInfo.usedCar" placeholder="请选择是否二手车">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">车主信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formownersList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.ownerInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">投保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formPolicyholderList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.applyInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">被保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in forminsureinfoList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.insureInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisibleOrder = false">取 消</el-button>
+                <el-button size="small" @click="handAuditing">审核</el-button>
+            </span>
+        </el-dialog> -->
+    </div>
+</template>
+<script>
+import templateTable from '../../../components/TemplateTable/index.vue'
+import { mixin } from "../mixin";
+
+export default {
+    name: "baosi",
+    components: { templateTable, },
+    created() {
+        this.getList();
+    },
+    mixins: [mixin],
+    data() {
+        return {
+            isAuditoption: [
+                {
+                    label: '未审核',
+                    value: '0'
+                }, {
+                    label: '审核通过',
+                    value: '1'
+                }, {
+                    label: '审核驳回',
+                    value: '2'
+                },
+            ],
+            formList: [
+                {
+                    label: "车牌号",
+                    prop: "licenseNo",
+                    type: "input",
+                },
+                {
+                    label: "发动机号",
+                    prop: "engineNo",
+                    type: "input",
+                },
+                {
+                    label: "车辆识别代码",
+                    prop: "frameNo",
+                    type: "input",
+                },
+                {
+                    label: "审核状态",
+                    prop: "isAudit",
+                    type: "select",
+                    options: [
+                        {
+                            label: '未审核',
+                            value: '0'
+                        }, {
+                            label: '审核通过',
+                            value: '1'
+                        }, {
+                            label: '审核驳回',
+                            value: '2'
+                        },
+                    ],
+                },
+            ],
+            searchData: {},
+            tableConfig: {
+                columns: [
+                    {
+                        prop: 'licenseNo', label: '车牌', type: 'text',
+                    },
+                    {
+                        prop: 'vinNo', label: '车架号', type: 'text',
+                    },
+                    {
+                        prop: 'tbrname', label: '投保人姓名', type: 'text',
+                    }, {
+                        prop: 'identifyNumber', label: '身份证号', type: 'text',
+                    }, {
+                        prop: 'isAudit', label: '审核状态', type: 'text',
+                    },
+                ],
+                loading: true,
+                // operateShow: true,
+                isPaginationShow: true,
+                // operationWidth: '150',
+                optBtns: [
+                    {
+                        type: 'primary',
+                        label: '审核',
+                        click: (row, index) => { return this.modifyFun(row) },
+                    }
+                ]
+            },
+
+            queryFrom: {
+                pageNum: 1,
+                pageSize: 10,
+                totalSize: 0
+            },
+            tableData: [],
+            dialogVisible: false,
+
+        };
+    },
+    methods: {
+        handAuditing() {
+            // this.$prompt('是否审核通过,输入驳回原因', '提示', {
+            //     confirmButtonText: '审核驳回',
+            //     cancelButtonText: '审核通过',
+            //     inputPattern: /^.+$/,
+            //     distinguishCancelAndClose: true,
+            //     inputErrorMessage: '输入驳回原因!'
+            // }).then(({ value }) => {
+            //     this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+            //         if (res.code == 200) {
+            //             this.findPage();
+            //             this.$message({
+            //                 type: 'success',
+            //                 message: '审核驳回通过'
+            //             });
+            //         }
+            //         else {
+            //             this.$message.error(res.msg)
+            //         }
+            //     })
+            // }).catch((action) => {
+            //     if (action === 'cancel') {
+            //         this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '1', }).then(res => {
+            //             if (res.code == 200) {
+            //                 this.findPage();
+            //                 this.$message({
+            //                     type: 'success',
+            //                     message: '审核通过'
+            //                 });
+            //             }
+            //             else {
+            //                 this.$message.error(res.msg)
+            //             }
+            //         })
+            //     }
+            // });
+        },
+
+        modifyFun(row) {
+            // this.$api.task.getBatchOrder({ subOrderNo: row.subOrderNo }).then(res => {
+            //     if (res.code == 200) {
+            //         this.dialogVisibleOrder = true
+            //         this.formDataOrder = res.data
+            //     }
+            //     else {
+            //         this.$message.error(res.msg)
+            //     }
+            // })
+                this.$prompt('是否审核通过,输入驳回原因', '提示', {
+                confirmButtonText: '审核驳回',
+                  cancelButtonText: '审核通过',
+                  inputPattern: /^.+$/,
+                  distinguishCancelAndClose: true,
+                inputErrorMessage: '输入驳回原因!'
+                }).then(({ value }) => {
+                    this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+                    if (res.code == 200) {
+                        this.findPage();
+                        this.$message({
+                        type: 'success',
+                        message: '审核驳回通过'
+                        });
+                    }
+                    else {
+                        this.$message.error(res.msg)
+                    }
+                })
+            }) .catch((action) => {
+                if (action === 'cancel') {
+                  this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '1', }).then(res => {
+                    if (res.code == 200) {
+                      this.dialogVisible = false
+                      this.findPage();
+                      this.$message({
+                        type: 'success',
+                        message: '审核通过'
+                      });
+                    }
+                    else {
+                      this.$message.error(res.msg)
+                    }
+                  })
+                }
+              });
+        },
+        handleSearchList(data) {
+            this.getList(data)
+        },
+        //列表数据
+        getList(data) {
+            this.tableConfig.loading = true;
+            this.$api.task.getBatchOrderList({ ...data, ...this.queryFrom }).then(res => {
+                if (res.data) {
+                    res.data.records.forEach(e => {
+                        e.licenseNo = e.carInfo.licenseNo? e.carInfo.licenseNo:''
+                        e.vinNo = e.carInfo.vinNo?e.carInfo.vinNo:''
+                        e.tbrname = e.applyInfo.name?e.applyInfo.name:''
+                        e.identifyNumber = e.applyInfo.identifyNumber?e.applyInfo.identifyNumber:''
+                          this.isAuditoption.find(val => {
+                                if (val.value == e.isAudit) {
+                                    e.isAudit = val.label
+                                }
+                            })
+                    })
+
+                    this.tableData = res.data.records;
+                    this.queryFrom.pageNum = res.data.pageNum;
+                    this.queryFrom.pageSize = res.data.pageSize;
+                    this.queryFrom.totalSize = res.data.totalSize;
+                    this.tableConfig.loading = false;
+
+                } else {
+                    this.tableConfig.loading = false;
+                }
+            });
+        },
+
+
+
+    }
+};
+</script>
+    
+<style scoped></style>
+    

+ 375 - 0
src/views/Task/CompanyPoolChannel/BatchOrder.vue

@@ -0,0 +1,375 @@
+<template>
+    <!--布局容器-->
+    <div class="container" style="width: 99%; margin-top: 0px">
+        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
+            @getList="getList" @handleSearchList="handleSearchList" :pagination="queryFrom">
+        </templateTable>
+        <!-- <el-dialog :visible.sync="dialogVisibleOrder" width="40%" :before-close="handleCloseOrder">
+            <el-form ref="form" :model="formDataOrder" label-width="120px" size="small" disabled>
+                <h4 class="form_title">车辆信息</h4>
+                <el-row :gutter="20">
+                    <el-col :span="12" v-for="f in formvehicleList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.carInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="使用性质" prop="carnature">
+                            <el-select v-model="formDataOrder.carInfo.carnature" placeholder="请选择使用性质" @change="natureFun">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆用途" prop="vehicleUse">
+                            <el-select v-if="formDataOrder.carInfo.carnature == '02'"
+                                v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                            <el-select v-else v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆类型" prop="cartype">
+                            <el-select v-model="formDataOrder.carInfo.cartype" placeholder="请选择车辆种类" filterable clearable>
+                                <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆种类" prop="cimodelclass">
+                            <el-select v-model="formDataOrder.carInfo.cimodelclass" placeholder="请选择车辆种类" clearable>
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in vehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="能源种类" prop="energyType">
+                            <el-select v-model="formDataOrder.carInfo.energyType" placeholder="请选择能源种类">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in energyTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="注册日期" prop="registerDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.registerDate"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="发证日期" prop="issueDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.issueDate"
+                                :picker-options="issueDateOptions" type="date" placeholder="选择发证日期"
+                                value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="转移登记日期" prop="transferDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.transferDate"
+                                :picker-options="pickerOptions" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否过户" prop="transferFlag">
+                            <el-select v-model="formDataOrder.carInfo.transferFlag" placeholder="请选择是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="商业险是否过户" prop="transferFlagBi">
+                            <el-select v-model="formDataOrder.carInfo.transferFlagBi" placeholder="请选择商业险是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否脱保" prop="outOfInsurance">
+                            <el-select v-model="formDataOrder.carInfo.outOfInsurance" placeholder="请选择是否脱保">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否二手车" prop="usedCar">
+                            <el-select v-model="formDataOrder.carInfo.usedCar" placeholder="请选择是否二手车">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">车主信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formownersList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.ownerInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">投保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formPolicyholderList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.applyInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">被保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in forminsureinfoList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.insureInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisibleOrder = false">取 消</el-button>
+                <el-button size="small" @click="handAuditing">审核</el-button>
+            </span>
+        </el-dialog> -->
+    </div>
+</template>
+<script>
+import templateTable from '../../../components/TemplateTable/index.vue'
+import { mixin } from "../mixin";
+
+export default {
+    name: "baosi",
+    components: { templateTable, },
+    created() {
+        this.getList();
+    },
+    mixins: [mixin],
+    data() {
+        return {
+            isAuditoption: [
+                {
+                    label: '未审核',
+                    value: '0'
+                }, {
+                    label: '审核通过',
+                    value: '1'
+                }, {
+                    label: '审核驳回',
+                    value: '2'
+                },
+            ],
+            formList: [
+                {
+                    label: "车牌号",
+                    prop: "licenseNo",
+                    type: "input",
+                },
+                {
+                    label: "发动机号",
+                    prop: "engineNo",
+                    type: "input",
+                },
+                {
+                    label: "车辆识别代码",
+                    prop: "frameNo",
+                    type: "input",
+                },
+                {
+                    label: "审核状态",
+                    prop: "isAudit",
+                    type: "select",
+                    options: [
+                        {
+                            label: '未审核',
+                            value: '0'
+                        }, {
+                            label: '审核通过',
+                            value: '1'
+                        }, {
+                            label: '审核驳回',
+                            value: '2'
+                        },
+                    ],
+                },
+            ],
+            searchData: {},
+            tableConfig: {
+                columns: [
+                    {
+                        prop: 'licenseNo', label: '车牌', type: 'text',
+                    },
+                    {
+                        prop: 'vinNo', label: '车架号', type: 'text',
+                    },
+                    {
+                        prop: 'tbrname', label: '投保人姓名', type: 'text',
+                    }, {
+                        prop: 'identifyNumber', label: '身份证号', type: 'text',
+                    }, {
+                        prop: 'isAudit', label: '审核状态', type: 'text',
+                    },
+                ],
+                loading: true,
+                // operateShow: true,
+                isPaginationShow: true,
+                // operationWidth: '150',
+                optBtns: [
+                    {
+                        type: 'primary',
+                        label: '审核',
+                        click: (row, index) => { return this.modifyFun(row) },
+                    }
+                ]
+            },
+
+            queryFrom: {
+                pageNum: 1,
+                pageSize: 10,
+                totalSize: 0
+            },
+            tableData: [],
+            dialogVisible: false,
+
+        };
+    },
+    methods: {
+        handAuditing() {
+            // this.$prompt('是否审核通过,输入驳回原因', '提示', {
+            //     confirmButtonText: '审核驳回',
+            //     cancelButtonText: '审核通过',
+            //     inputPattern: /^.+$/,
+            //     distinguishCancelAndClose: true,
+            //     inputErrorMessage: '输入驳回原因!'
+            // }).then(({ value }) => {
+            //     this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+            //         if (res.code == 200) {
+            //             this.findPage();
+            //             this.$message({
+            //                 type: 'success',
+            //                 message: '审核驳回通过'
+            //             });
+            //         }
+            //         else {
+            //             this.$message.error(res.msg)
+            //         }
+            //     })
+            // }).catch((action) => {
+            //     if (action === 'cancel') {
+            //         this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '1', }).then(res => {
+            //             if (res.code == 200) {
+            //                 this.findPage();
+            //                 this.$message({
+            //                     type: 'success',
+            //                     message: '审核通过'
+            //                 });
+            //             }
+            //             else {
+            //                 this.$message.error(res.msg)
+            //             }
+            //         })
+            //     }
+            // });
+        },
+
+        modifyFun(row) {
+            // this.$api.task.getBatchOrder({ subOrderNo: row.subOrderNo }).then(res => {
+            //     if (res.code == 200) {
+            //         this.dialogVisibleOrder = true
+            //         this.formDataOrder = res.data
+            //     }
+            //     else {
+            //         this.$message.error(res.msg)
+            //     }
+            // })
+                this.$prompt('是否审核通过,输入驳回原因', '提示', {
+                confirmButtonText: '审核驳回',
+                  cancelButtonText: '审核通过',
+                  inputPattern: /^.+$/,
+                  distinguishCancelAndClose: true,
+                inputErrorMessage: '输入驳回原因!'
+                }).then(({ value }) => {
+                    this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+                    if (res.code == 200) {
+                        this.findPage();
+                        this.$message({
+                        type: 'success',
+                        message: '审核驳回通过'
+                        });
+                    }
+                    else {
+                        this.$message.error(res.msg)
+                    }
+                })
+            }) .catch((action) => {
+                if (action === 'cancel') {
+                  this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '1', }).then(res => {
+                    if (res.code == 200) {
+                      this.dialogVisible = false
+                      this.findPage();
+                      this.$message({
+                        type: 'success',
+                        message: '审核通过'
+                      });
+                    }
+                    else {
+                      this.$message.error(res.msg)
+                    }
+                  })
+                }
+              });
+        },
+        handleSearchList(data) {
+            this.getList(data)
+        },
+        //列表数据
+        getList(data) {
+            this.tableConfig.loading = true;
+            this.$api.task.getBatchOrderList({ ...data, ...this.queryFrom }).then(res => {
+                if (res.data) {
+                    res.data.records.forEach(e => {
+                        e.licenseNo = e.carInfo.licenseNo? e.carInfo.licenseNo:''
+                        e.vinNo = e.carInfo.vinNo?e.carInfo.vinNo:''
+                        e.tbrname = e.applyInfo.name?e.applyInfo.name:''
+                        e.identifyNumber = e.applyInfo.identifyNumber?e.applyInfo.identifyNumber:''
+                          this.isAuditoption.find(val => {
+                                if (val.value == e.isAudit) {
+                                    e.isAudit = val.label
+                                }
+                            })
+                    })
+
+                    this.tableData = res.data.records;
+                    this.queryFrom.pageNum = res.data.pageNum;
+                    this.queryFrom.pageSize = res.data.pageSize;
+                    this.queryFrom.totalSize = res.data.totalSize;
+                    this.tableConfig.loading = false;
+
+                } else {
+                    this.tableConfig.loading = false;
+                }
+            });
+        },
+
+
+
+    }
+};
+</script>
+    
+<style scoped></style>
+    

+ 151 - 42
src/views/Task/CompanyPoolChannel/CompanyPoolChannel3.vue

@@ -3,9 +3,11 @@
     <retrievalForm :fields="retrievalFields" @submit="handleFormSubmit" @toggleCollapse="toggleCollapse"
       @areaSelectChange="areaSelectChange"></retrievalForm>
     <kt-common-table :data="pageResult" :columns="columns" element-loading-text="加载中..." v-loading="loading"
-      :showBatchDelete="false" @findPage="findPage" button3Name="转发" button3Type="text"
-      @handleButton3="transmit" button2Name="报价轨迹" button2Type="text"
-      @handleButton2="trajectory" button5Name="详情" button5Type="text" @handleButton5="detailFun" button4Name="转发记录" button4Type="text"
+      :showBatchDelete="false" @findPage="findPage"
+       button3Name="转发" button3Type="text" @handleButton3="transmit"
+        button2Name="报价轨迹" button2Type="text" @handleButton2="trajectory"
+      button6Name="批单" button6Type="text" @handleButton6="batchOrder"
+       button5Name="详情" button5Type="text" @handleButton5="detailFun" button4Name="转发记录" button4Type="text"
       @handleButton4="forwardingRecords" :operationWidth="300"></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">
       转发人:
@@ -51,6 +53,144 @@
         <el-table-column property="createTime" align="center" label="转发时间"></el-table-column>
       </el-table>
     </el-dialog>
+    <el-dialog
+    :visible.sync="dialogVisibleOrder"
+    width="40%"
+    :before-close="handleCloseOrder">
+    <el-form ref="form" :model="formDataOrder" label-width="120px" size="small">
+      <h4 class="form_title">车辆信息</h4>
+      <el-row :gutter="20">
+        <el-col :span="12"  v-for="f in formvehicleList" :key="f.prop">
+          <el-form-item  :label="f.label" :prop="f.prop">
+              <el-input v-model.trim="formDataOrder.carinfo[f.prop]"  :placeholder="'请输入' + f.label"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="使用性质" prop="carnature">
+              <el-select v-model="formDataOrder.carinfo.carnature" placeholder="请选择使用性质" @change="natureFun">
+                <el-option :label="item.dictTag" :value="item.dictValue"
+                  v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="车辆用途" prop="vehicleUse">
+              <el-select v-if="formDataOrder.carinfo.carnature == '02'" v-model="formDataOrder.carinfo.vehicleUse" placeholder="请选择使车辆用途">
+                <el-option :label="item.dictTag" :value="item.dictValue"
+                  v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
+              </el-select>
+              <el-select v-else v-model="formDataOrder.carinfo.vehicleUse" placeholder="请选择使车辆用途">
+                <el-option :label="item.dictTag" :value="item.dictValue"
+                  v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="车辆类型" prop="cartype">
+              <el-select v-model="formDataOrder.carinfo.cartype" placeholder="请选择车辆种类" filterable clearable>
+                <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
+                  v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="车辆种类" prop="cimodelclass">
+              <el-select v-model="formDataOrder.carinfo.cimodelclass" placeholder="请选择车辆种类" clearable>
+                <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in vehicleTypeoptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="能源种类" prop="energyType">
+              <el-select v-model="formDataOrder.carinfo.energyType" placeholder="请选择能源种类">
+                <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in energyTypeoptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="注册日期" prop="registerDate">
+              <el-date-picker v-dateFormat v-model="formDataOrder.carinfo.registerDate" :picker-options="pickerOptions"
+                value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期" placement="bottom-start"></el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="发证日期" prop="issueDate">
+              <el-date-picker v-dateFormat v-model="formDataOrder.carinfo.issueDate" :picker-options="issueDateOptions" type="date"
+                placeholder="选择发证日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="转移登记日期" prop="transferDate">
+              <el-date-picker v-dateFormat v-model="formDataOrder.carinfo.transferDate" :picker-options="pickerOptions" type="date"
+                placeholder="选择日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否过户" prop="transferFlag">
+              <el-select v-model="formDataOrder.carinfo.transferFlag" placeholder="请选择是否过户">
+                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="商业险是否过户" prop="transferFlagBi">
+              <el-select v-model="formDataOrder.carinfo.transferFlagBi" placeholder="请选择商业险是否过户">
+                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否脱保" prop="outOfInsurance">
+              <el-select v-model="formDataOrder.carinfo.outOfInsurance" placeholder="请选择是否脱保">
+                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否二手车" prop="usedCar">
+              <el-select v-model="formDataOrder.carinfo.usedCar" placeholder="请选择是否二手车">
+                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+        </el-col>
+      </el-row>
+      <h4 class="form_title">车主信息</h4>
+      <el-row>
+        <el-col :span="12" v-for="f in formownersList" :key="f.prop">
+          <el-form-item  :label="f.label" :prop="f.prop">
+              <el-input  v-model.trim="formDataOrder.ownerinfo[f.prop]"  :placeholder="'请输入' + f.label"></el-input>
+            </el-form-item>
+        </el-col>
+      </el-row>
+      <h4 class="form_title">投保人信息</h4>
+      <el-row>
+        <el-col :span="12" v-for="f in formPolicyholderList" :key="f.prop">
+          <el-form-item  :label="f.label" :prop="f.prop">
+              <el-input  v-model.trim="formDataOrder.applyinfo[f.prop]"  :placeholder="'请输入' + f.label"></el-input>
+            </el-form-item>
+        </el-col>
+      </el-row>
+      <h4 class="form_title">被保人信息</h4>
+      <el-row>
+        <el-col :span="12" v-for="f in forminsureinfoList" :key="f.prop">
+          <el-form-item  :label="f.label" :prop="f.prop">
+              <el-input  v-model.trim="formDataOrder.insureinfo[f.prop]"  :placeholder="'请输入' + f.label"></el-input>
+            </el-form-item>
+        </el-col>
+      </el-row>
+  </el-form>
+  <span slot="footer" class="dialog-footer">
+    <el-button size="small" @click="dialogVisibleOrder = false">取 消</el-button>
+    <el-button size="small" type="primary" @click="submitOrder">确 定</el-button>
+  </span>
+</el-dialog>
+
   </div>
 </template>
 <script>
@@ -203,45 +343,7 @@ export default {
         this.queryFrom.endDate = e[1];
       }
     },
-    // detailFun(row) {
-
-    //   let params = {
-    //     companyId: row.row.subOrderId
-    //   };
-
-    //   this.$api.letter.getByCompanyId(params).then(res => {
-    //     if (res.code == "200") {
-    //       var data = res.data;
-    //       this.orderInfo = res.data;
-    //       this.cpolicy();
-    //       this.ImageList();
-    //       data.kindinfo.map((ele, index) => {
-    //         switch (ele.kindCode) {
-    //           case "A":
-    //             ele.amount = "投保";
-    //             break;
-    //           case "D4":
-    //           case "SY_FJ_YBW2":
-    //             ele.unitAmount = this.toChinesNum(ele.unitAmount);
-    //             break;
-    //           case "MJ1":
-    //           case "MJ2":
-    //           case "MJ3":
-    //           case "MJ4":
-    //             ele.deductibleRate = ele.deductibleRate + "%";
-    //             break;
-    //           default:
-    //             ele.amount = this.toChinesNum(ele.amount);
-    //         }
-    //         return ele;
-    //       });
-    //       this.queryOrders = data;
-    //       //赋值费用信息
-    //       // this.feeDetailInfo=data.orderFeeResult;
-    //     }
-    //   });
-    //   this.$refs.detailsDialog.setBackupVisible(true);
-    // },
+    
   }
 };
 </script>
@@ -269,4 +371,11 @@ export default {
     box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.1);
   }
 }
+.form_title{
+  padding-bottom: 10px;
+  border-bottom: 1px solid #ccc;
+}
+.width{
+  width: 240px;
+}
 </style>

+ 375 - 0
src/views/Task/TaskPoolChannel/BatchOrder.vue

@@ -0,0 +1,375 @@
+<template>
+    <!--布局容器-->
+    <div class="container" style="width: 99%; margin-top: 0px">
+        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
+            @getList="getList" @handleSearchList="handleSearchList" :pagination="queryFrom">
+        </templateTable>
+        <!-- <el-dialog :visible.sync="dialogVisibleOrder" width="40%" :before-close="handleCloseOrder">
+            <el-form ref="form" :model="formDataOrder" label-width="120px" size="small" disabled>
+                <h4 class="form_title">车辆信息</h4>
+                <el-row :gutter="20">
+                    <el-col :span="12" v-for="f in formvehicleList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.carInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="使用性质" prop="carnature">
+                            <el-select v-model="formDataOrder.carInfo.carnature" placeholder="请选择使用性质" @change="natureFun">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆用途" prop="vehicleUse">
+                            <el-select v-if="formDataOrder.carInfo.carnature == '02'"
+                                v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                            <el-select v-else v-model="formDataOrder.carInfo.vehicleUse" placeholder="请选择使车辆用途">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆类型" prop="cartype">
+                            <el-select v-model="formDataOrder.carInfo.cartype" placeholder="请选择车辆种类" filterable clearable>
+                                <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="车辆种类" prop="cimodelclass">
+                            <el-select v-model="formDataOrder.carInfo.cimodelclass" placeholder="请选择车辆种类" clearable>
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in vehicleTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="能源种类" prop="energyType">
+                            <el-select v-model="formDataOrder.carInfo.energyType" placeholder="请选择能源种类">
+                                <el-option :label="item.dictTag" :value="item.dictValue"
+                                    v-for="(item, index) in energyTypeoptions" :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="注册日期" prop="registerDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.registerDate"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="发证日期" prop="issueDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.issueDate"
+                                :picker-options="issueDateOptions" type="date" placeholder="选择发证日期"
+                                value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="转移登记日期" prop="transferDate">
+                            <el-date-picker v-dateFormat v-model="formDataOrder.carInfo.transferDate"
+                                :picker-options="pickerOptions" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"
+                                placement="bottom-start"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否过户" prop="transferFlag">
+                            <el-select v-model="formDataOrder.carInfo.transferFlag" placeholder="请选择是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="商业险是否过户" prop="transferFlagBi">
+                            <el-select v-model="formDataOrder.carInfo.transferFlagBi" placeholder="请选择商业险是否过户">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否脱保" prop="outOfInsurance">
+                            <el-select v-model="formDataOrder.carInfo.outOfInsurance" placeholder="请选择是否脱保">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否二手车" prop="usedCar">
+                            <el-select v-model="formDataOrder.carInfo.usedCar" placeholder="请选择是否二手车">
+                                <el-option :label="item.label" :value="item.value" v-for="(item, index) in whetheroptions"
+                                    :key="index"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">车主信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formownersList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.ownerInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">投保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in formPolicyholderList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.applyInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <h4 class="form_title">被保人信息</h4>
+                <el-row>
+                    <el-col :span="12" v-for="f in forminsureinfoList" :key="f.prop">
+                        <el-form-item :label="f.label" :prop="f.prop">
+                            <el-input v-model.trim="formDataOrder.insureInfo[f.prop]"
+                                :placeholder="'请输入' + f.label"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisibleOrder = false">取 消</el-button>
+                <el-button size="small" @click="handAuditing">审核</el-button>
+            </span>
+        </el-dialog> -->
+    </div>
+</template>
+<script>
+import templateTable from '../../../components/TemplateTable/index.vue'
+import { mixin } from "../mixin";
+
+export default {
+    name: "baosi",
+    components: { templateTable, },
+    created() {
+        this.getList();
+    },
+    mixins: [mixin],
+    data() {
+        return {
+            isAuditoption: [
+                {
+                    label: '未审核',
+                    value: '0'
+                }, {
+                    label: '审核通过',
+                    value: '1'
+                }, {
+                    label: '审核驳回',
+                    value: '2'
+                },
+            ],
+            formList: [
+                {
+                    label: "车牌号",
+                    prop: "licenseNo",
+                    type: "input",
+                },
+                {
+                    label: "发动机号",
+                    prop: "engineNo",
+                    type: "input",
+                },
+                {
+                    label: "车辆识别代码",
+                    prop: "frameNo",
+                    type: "input",
+                },
+                {
+                    label: "审核状态",
+                    prop: "isAudit",
+                    type: "select",
+                    options: [
+                        {
+                            label: '未审核',
+                            value: '0'
+                        }, {
+                            label: '审核通过',
+                            value: '1'
+                        }, {
+                            label: '审核驳回',
+                            value: '2'
+                        },
+                    ],
+                },
+            ],
+            searchData: {},
+            tableConfig: {
+                columns: [
+                    {
+                        prop: 'licenseNo', label: '车牌', type: 'text',
+                    },
+                    {
+                        prop: 'vinNo', label: '车架号', type: 'text',
+                    },
+                    {
+                        prop: 'tbrname', label: '投保人姓名', type: 'text',
+                    }, {
+                        prop: 'identifyNumber', label: '身份证号', type: 'text',
+                    }, {
+                        prop: 'isAudit', label: '审核状态', type: 'text',
+                    },
+                ],
+                loading: true,
+                // operateShow: true,
+                isPaginationShow: true,
+                // operationWidth: '150',
+                optBtns: [
+                    {
+                        type: 'primary',
+                        label: '审核',
+                        click: (row, index) => { return this.modifyFun(row) },
+                    }
+                ]
+            },
+
+            queryFrom: {
+                pageNum: 1,
+                pageSize: 10,
+                totalSize: 0
+            },
+            tableData: [],
+            dialogVisible: false,
+
+        };
+    },
+    methods: {
+        handAuditing() {
+            // this.$prompt('是否审核通过,输入驳回原因', '提示', {
+            //     confirmButtonText: '审核驳回',
+            //     cancelButtonText: '审核通过',
+            //     inputPattern: /^.+$/,
+            //     distinguishCancelAndClose: true,
+            //     inputErrorMessage: '输入驳回原因!'
+            // }).then(({ value }) => {
+            //     this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+            //         if (res.code == 200) {
+            //             this.findPage();
+            //             this.$message({
+            //                 type: 'success',
+            //                 message: '审核驳回通过'
+            //             });
+            //         }
+            //         else {
+            //             this.$message.error(res.msg)
+            //         }
+            //     })
+            // }).catch((action) => {
+            //     if (action === 'cancel') {
+            //         this.$api.task.auditBatchOrder({ orderNo: this.formDataOrder.subOrderNo, isAudit: '1', }).then(res => {
+            //             if (res.code == 200) {
+            //                 this.findPage();
+            //                 this.$message({
+            //                     type: 'success',
+            //                     message: '审核通过'
+            //                 });
+            //             }
+            //             else {
+            //                 this.$message.error(res.msg)
+            //             }
+            //         })
+            //     }
+            // });
+        },
+
+        modifyFun(row) {
+            // this.$api.task.getBatchOrder({ subOrderNo: row.subOrderNo }).then(res => {
+            //     if (res.code == 200) {
+            //         this.dialogVisibleOrder = true
+            //         this.formDataOrder = res.data
+            //     }
+            //     else {
+            //         this.$message.error(res.msg)
+            //     }
+            // })
+                this.$prompt('是否审核通过,输入驳回原因', '提示', {
+                confirmButtonText: '审核驳回',
+                  cancelButtonText: '审核通过',
+                  inputPattern: /^.+$/,
+                  distinguishCancelAndClose: true,
+                inputErrorMessage: '输入驳回原因!'
+                }).then(({ value }) => {
+                    this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '2', rejectReason: value }).then(res => {
+                    if (res.code == 200) {
+                        this.findPage();
+                        this.$message({
+                        type: 'success',
+                        message: '审核驳回通过'
+                        });
+                    }
+                    else {
+                        this.$message.error(res.msg)
+                    }
+                })
+            }) .catch((action) => {
+                if (action === 'cancel') {
+                  this.$api.task.auditBatchOrder({ orderNo:row.subOrderNo, isAudit: '1', }).then(res => {
+                    if (res.code == 200) {
+                      this.dialogVisible = false
+                      this.findPage();
+                      this.$message({
+                        type: 'success',
+                        message: '审核通过'
+                      });
+                    }
+                    else {
+                      this.$message.error(res.msg)
+                    }
+                  })
+                }
+              });
+        },
+        handleSearchList(data) {
+            this.getList(data)
+        },
+        //列表数据
+        getList(data) {
+            this.tableConfig.loading = true;
+            this.$api.task.getBatchOrderList({ ...data, ...this.queryFrom }).then(res => {
+                if (res.data) {
+                    res.data.records.forEach(e => {
+                        e.licenseNo = e.carInfo.licenseNo? e.carInfo.licenseNo:''
+                        e.vinNo = e.carInfo.vinNo?e.carInfo.vinNo:''
+                        e.tbrname = e.applyInfo.name?e.applyInfo.name:''
+                        e.identifyNumber = e.applyInfo.identifyNumber?e.applyInfo.identifyNumber:''
+                          this.isAuditoption.find(val => {
+                                if (val.value == e.isAudit) {
+                                    e.isAudit = val.label
+                                }
+                            })
+                    })
+
+                    this.tableData = res.data.records;
+                    this.queryFrom.pageNum = res.data.pageNum;
+                    this.queryFrom.pageSize = res.data.pageSize;
+                    this.queryFrom.totalSize = res.data.totalSize;
+                    this.tableConfig.loading = false;
+
+                } else {
+                    this.tableConfig.loading = false;
+                }
+            });
+        },
+
+
+
+    }
+};
+</script>
+    
+<style scoped></style>
+    

+ 9 - 4
src/views/Task/TaskPoolChannel/TaskPoolChannel3.vue

@@ -3,10 +3,12 @@
     <retrievalForm :fields="retrievalFields" @submit="handleFormSubmit" @toggleCollapse="toggleCollapse"
       @areaSelectChange="areaSelectChange"></retrievalForm>
     <kt-common-table :data="pageResult" :columns="columns" element-loading-text="加载中..." v-loading="loading"
-      :showBatchDelete="false" @findPage="findPage" button3Name="转发" button3Type="text" @handleButton3="transmit"
-      button2Name="报价轨迹" button2Type="text" @handleButton2="trajectory" button5Name="详情" button5Type="text"
-      @handleButton5="detailFun" button4Name="转发记录" button4Type="text"
-      @handleButton4="forwardingRecords" :operationWidth="300"></kt-common-table>
+      :showBatchDelete="false" @findPage="findPage" 
+      button3Name="转发" button3Type="text" @handleButton3="transmit"
+      button2Name="报价轨迹" button2Type="text" @handleButton2="trajectory"
+      button6Name="批单" button6Type="text" @handleButton6="batchOrder"
+      button5Name="详情" button5Type="text" @handleButton5="detailFun"
+      button4Name="转发记录" button4Type="text" @handleButton4="forwardingRecords" :operationWidth="300"></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">
       转发人:
       <el-select v-model="transmitValue" filterable clearable  placeholder="请选择">
@@ -198,6 +200,9 @@ export default {
         this.queryFrom.startDate = e[0];
         this.queryFrom.endDate = e[1];
       }
+    },
+    batchOrder(row){
+
     },
     // detailFun(row) {
     //   let params = {

+ 113 - 0
src/views/Task/mixin.js

@@ -163,9 +163,72 @@ export const mixin = { // 导出混入对象
         adjustFeeFlag:false,
       },
       feeOrderNewVoList:{},
+      dialogVisibleOrder:false,
+      formDataOrder:{
+        carinfo:{},
+        ownerinfo:{},
+        applyinfo:{},
+        insureinfo:{},
+      },
+      formvehicleList: [
+        { prop: "licenseNo", label: "车牌号" },
+        { prop: "vinNo", label: "车辆识别代码" },
+        { prop: "modelcname", label: "品牌型号" },
+        { prop: "engineNo", label: "发动机号" },
+        { prop: "caryear", label: "年款" },
+        { prop: "seatCount", label: "座位数" },
+        { prop: "completeKerbMass", label: "整备质量" },
+        { prop: "limitLoad", label: "核定载质量" },
+        { prop: "enginedesc", label: "排量" },
+        { prop: "powerScale", label: "功率" },
+        { prop: "purchasePrice", label: "新车购置价" },
+      ],
+      formownersList: [
+        { prop: "name", label: "车主姓名" },
+        { prop: "identifyType", label: "证件类型" ,type:'select'},
+        { prop: "identifyNumber", label: "身份证号" },
+        { prop: "mobile", label: "手机号" },
+        { prop: "email", label: "电子邮箱" },
+        { prop: "addr", label: "地址" },
+      ],
+      formPolicyholderList: [
+        { prop: "name", label: "投保人姓名" },
+        { prop: "identifyType", label: "证件类型" ,type:'select'},
+        { prop: "identifyNumber", label: "身份证号" },
+        { prop: "mobile", label: "手机号" },
+        { prop: "email", label: "电子邮箱" },
+        { prop: "addr", label: "地址" },
+      ],
+      forminsureinfoList: [
+        { prop: "name", label: "被保人姓名" },
+        { prop: "identifyType", label: "证件类型" ,type:'select'},
+        { prop: "identifyNumber", label: "身份证号" },
+        { prop: "mobile", label: "手机号" },
+        { prop: "email", label: "电子邮箱" },
+        { prop: "addr", label: "地址" },
+      ],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        }
+      },
+      whetheroptions:[
+        {
+          label:'是',
+          value:false
+        }, {
+          label:'否',
+          value:true
+        },
+      ]
     }
   },
   computed: {
+    issueDateOptions() {
+      return {
+        disabledDate: this.disabledDate
+      };
+    },
     currentDate() {
       const today = new Date();
       const year = today.getFullYear();
@@ -195,6 +258,42 @@ export const mixin = { // 导出混入对象
     this.getDicTypePro("outOfBusinessVehicleUse"); //(车辆用途)非营业
   },
   methods: {
+    submitOrder(){
+      let data={
+        ownerInfo:this.formDataOrder.ownerinfo,
+        carInfo:this.formDataOrder.carinfo,
+        applyInfo:this.formDataOrder.applyinfo,
+        insureInfo:this.formDataOrder.insureinfo,
+        subOrderNo:this.formDataOrder.id
+      }
+      this.$api.task.batchOrder(data).then(res => {
+        if (res.code == 200) {
+      this.findPage();
+      this.dialogVisibleOrder=false
+
+          this.$message({
+            message: res.msg ||'操作成功',
+            type: 'success'
+          });
+        }
+        else{
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    disabledDate(time) {
+      let datetime = this.formDataOrder.registerDate;
+      return time.getTime() < new Date(datetime).getTime();
+    },
+
+    natureFun() {
+      if (this.formDataOrder.carinfo.carnature == "01") {
+        this.formDataOrder.carinfo.vehicleUse = "";
+      }
+    },
+    handleCloseOrder(){
+      this.dialogVisibleOrder=false
+    },
     getDicTypePro(type) {
       this.$api.insCompany.dicType(type).then(res => {
         if (res.code == 200) {
@@ -288,6 +387,20 @@ export const mixin = { // 导出混入对象
       });
       this.$refs.detailsDialog.setBackupVisible(true);
     },
+    batchOrder(row){
+      this.dialogVisibleOrder=true
+      let params = {
+        companyId: row.row.subOrderId
+      };
+      this.$api.letter.getTaskByCompanyId(params).then(res => {
+        if(res.code==200){
+          this.formDataOrder = res.data;
+        }
+        else{
+          this.$message.error(res.msg)
+        }
+      })
+    },
     areaSelectChange(obj) {
       switch (obj.filed) {
         case 'provinceId':