@dongkboy hai 4 meses
pai
achega
32b14a8c77

+ 8 - 8
src/views/consoleManage/financeDataManage/costVerificationData/index.vue

@@ -79,14 +79,14 @@ const listOption = reactive({
       label: "保险公司",
       width: "",
     },
-    {
-      prop: "pendingReviewNum",
-      label: "待审核",
-      width: "240",
-      align: "right",
-      sortable: true,
-      component: "customSlot",
-    },
+    // {
+    //   prop: "pendingReviewNum",
+    //   label: "待审核",
+    //   width: "240",
+    //   align: "right",
+    //   sortable: true,
+    //   component: "customSlot",
+    // },
     {
       prop: "reviewedNum",
       label: "已审核",

+ 387 - 429
src/views/payCredit/agentCount.vue

@@ -1,301 +1,252 @@
 <template>
-    <div class="agentCount">
-        <el-tabs class="demo-tabs" @tab-click="handleClick">
-            <el-tab-pane name="0">
-                <template #label>
-                    <el-badge :value="total1">
-                        <span>待审核</span>
-                    </el-badge>
+  <div class="agentCount">
+    <el-tabs class="demo-tabs" @tab-click="handleClick">
+      <el-tab-pane name="0">
+        <template #label>
+          <el-badge :value="total1">
+            <span>待审核</span>
+          </el-badge>
+        </template>
+        <el-form v-model="firstForm" label-width="100">
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="业务员">
+                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="业务员类型">
+                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
+                  <el-option label="团队" value="5"></el-option>
+                  <el-option label="个代" value="6"></el-option>
+                  <el-option label="渠道" value="7"></el-option>
+                  <el-option label="电销组" value="8"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="申请时间">
+                <el-date-picker v-model="firstForm.applyTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核人">
+                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核时间">
+                <el-date-picker v-model="firstForm.auditTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
+              <el-button type="primary" @click="handleSearch">搜索</el-button>
+              <el-button plain @click="handleReset">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
+          <el-table-column prop="name" label="业务员"></el-table-column>
+          <el-table-column prop="typeAttr" label="业务员类型">
+            <template #default="scope">
+              {{
+                scope.row.typeAttr == '5' ? '团队' : scope.row.typeAttr == '6' ? '个代' : scope.row.typeAttr == '7' ? '渠道' : scope.row.typeAttr == '8' ?'电销组':'--'
+              }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="workNumber" label="业务员工号"></el-table-column>
+          <el-table-column prop="applyTime" label="申请时间"></el-table-column>
+          <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
+          <el-table-column prop="bankName" label="银行"></el-table-column>
+          <el-table-column prop="name" label="姓名"></el-table-column>
+          <el-table-column prop="bankAddress" label="开户行"></el-table-column>
+          <el-table-column prop="auditTime" label="审核时间"></el-table-column>
+          <el-table-column prop="auditBy" label="审核人"></el-table-column>
+          <el-table-column label="操作" fixed="right" width="200">
+            <template #default="scope">
+              <el-button link type="primary" size="small" @click="agentPass(scope.row)">申请通过</el-button>
+              <el-popover placement="top" width="300" trigger="click" v-model:visible="scope.row.agentShow">
+                <template #reference>
+                  <el-button link type="primary" size="small">驳回</el-button>
                 </template>
-                <el-form v-model="firstForm" label-width="100" >
-                    <el-row :gutter="20">
-                        <el-col :span="8">
-                            <el-form-item label="业务员">
-                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
-                                    <el-option label="团队" value="5"></el-option>
-                                    <el-option label="个代" value="6"></el-option>
-                                    <el-option label="渠道" value="7"></el-option>
-                                    <el-option label="电销组" value="8"></el-option>
-                                </el-select>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="申请时间">
-                                <el-date-picker
-                                    v-model="firstForm.applyTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核人">
-                                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核时间">
-                                <el-date-picker
-                                    v-model="firstForm.auditTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary" @click="handleSearch">搜索</el-button>
-                            <el-button plain @click="handleReset">重置</el-button>
-                        </el-col>
-                    </el-row>
-                </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="name" label="业务员"></el-table-column>
-                    <el-table-column prop="typeAttr" label="业务员类型">
-                        <template #default="scope">
-                            {{ scope.row.typeAttr=='5'?'团队':scope.row.typeAttr=='6'?'个代':scope.row.typeAttr=='7'?'渠道':scope.row.typeAttr=='8'?'电销组':'--' }}
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="applyTime" label="申请时间"></el-table-column>
-                    <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
-                    <el-table-column prop="bankName" label="银行"></el-table-column>
-                    <el-table-column prop="name" label="姓名"></el-table-column>
-                    <el-table-column prop="bankAddress" label="开户行"></el-table-column>
-                    <el-table-column label="操作" fixed="right" width="200">
-                        <template #default="scope">
-                            <el-button link type="primary" size="small" @click="agentPass(scope.row)">申请通过</el-button>
-                            <el-popover placement="top" width="300" trigger="click" v-model:visible="scope.row.agentShow">
-                                <template #reference>
-                                    <el-button link type="primary" size="small" >驳回</el-button>
-                                </template>
-                                <el-input type="textarea" v-model="agentReason" maxlength="200"></el-input>
-                                <div style="display: flex; align-items: center; justify-content: flex-end; margin-top: 10px">
-                                    <el-button size="small" @click="handleAgentCancel(scope.row)">取消</el-button>
-                                    <el-button type="danger" size="small" @click="handleAgentConfirm(scope.row)">确定驳回</el-button>
-                                </div>
-                            </el-popover>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <div class="pagination">
-                    <el-pagination
-                        v-model:current-page="pages"
-                        v-model:page-size="size"
-                        :page-sizes="[10, 20, 30, 40]"
-                        layout="total, sizes, prev, pager, next, jumper"
-                        :total="total1"
-                        @size-change="handleSizeChange"
-                        @current-change="handleCurrentChange"
-                    ></el-pagination>
+                <el-input type="textarea" v-model="agentReason" maxlength="200"></el-input>
+                <div style="display: flex; align-items: center; justify-content: flex-end; margin-top: 10px">
+                  <el-button size="small" @click="handleAgentCancel(scope.row)">取消</el-button>
+                  <el-button type="danger" size="small" @click="handleAgentConfirm(scope.row)">确定驳回</el-button>
                 </div>
-            </el-tab-pane>
-            <el-tab-pane name="1">
-                <template #label>
-                    <el-badge :value="total2">
-                        <span>审核通过</span>
-                    </el-badge>
-                </template>
-                <el-form v-model="firstForm" label-width="100">
-                    <el-row :gutter="20">
-                        <el-col :span="8">
-                            <el-form-item label="业务员">
-                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
-                                    <el-option label="团队" value="5"></el-option>
-                                    <el-option label="个代" value="6"></el-option>
-                                    <el-option label="渠道" value="7"></el-option>
-                                    <el-option label="电销组" value="8"></el-option>
-                                </el-select>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="申请时间">
-                                <el-date-picker
-                                    v-model="firstForm.applyTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核人">
-                                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核时间">
-                                <el-date-picker
-                                    v-model="firstForm.auditTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary" @click="handleSearch">搜索</el-button>
-                            <el-button plain @click="handleReset">重置</el-button>
-                        </el-col>
-                    </el-row>
-                </el-form>
-                <el-table :data="secondData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="name" label="业务员"></el-table-column>
-                    <el-table-column prop="typeAttr" label="业务员类型">
-                        <template #default="scope">
-                            {{ scope.row.typeAttr=='5'?'团队':scope.row.typeAttr=='6'?'个代':scope.row.typeAttr=='7'?'渠道':scope.row.typeAttr=='8'?'电销组':'--' }}
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="applyTime" label="申请时间"></el-table-column>
-                    <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
-                    <el-table-column prop="bankName" label="银行"></el-table-column>
-                    <el-table-column prop="name" label="姓名"></el-table-column>
-                    <el-table-column prop="bankAddress" label="开户行"></el-table-column>
-                </el-table>
-                <div class="pagination">
-                    <el-pagination
-                        v-model:current-page="pages"
-                        v-model:page-size="size"
-                        :page-sizes="[10, 20, 30, 40]"
-                        layout="total, sizes, prev, pager, next, jumper"
-                        :total="total2"
-                        @size-change="handleSizeChange"
-                        @current-change="handleCurrentChange"
-                    ></el-pagination>
-                </div>
-            </el-tab-pane>
-            <el-tab-pane name="2">
-                <template #label>
-                    <el-badge :value="total3">
-                        <span>审核不通过</span>
-                    </el-badge>
-                </template>
-                <el-form v-model="firstForm" label-width="100">
-                    <el-row :gutter="20">
-                        <el-col :span="8">
-                            <el-form-item label="业务员">
-                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
-                                    <el-option label="团队" value="5"></el-option>
-                                    <el-option label="个代" value="6"></el-option>
-                                    <el-option label="渠道" value="7"></el-option>
-                                    <el-option label="电销组" value="8"></el-option>
-                                </el-select>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="申请时间">
-                                <el-date-picker
-                                    v-model="firstForm.applyTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核人">
-                                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="审核时间">
-                                <el-date-picker
-                                    v-model="firstForm.auditTime"
-                                    type="daterange"
-                                    range-separator="至"
-                                    start-placeholder="开始时间"
-                                    end-placeholder="结束时间"
-                                    format="YYYY-MM-DD"
-                                    value-format="YYYY-MM-DD"
-                                />
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary" @click="handleSearch">搜索</el-button>
-                            <el-button plain @click="handleReset">重置</el-button>
-                        </el-col>
-                    </el-row>
-                </el-form>
-                <el-table :data="thirdData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="name" label="业务员"></el-table-column>
-                    <el-table-column prop="typeAttr" label="业务员类型">
-                        <template #default="scope">
-                            {{ scope.row.typeAttr=='5'?'团队':scope.row.typeAttr=='6'?'个代':scope.row.typeAttr=='7'?'渠道':scope.row.typeAttr=='8'?'电销组':'--' }}
-                        </template>
-                    </el-table-column>
-                    <!-- <el-table-column prop="applyTime" label="申请时间"></el-table-column> -->
-                    <el-table-column prop="lastRejectReason" label="驳回原因"></el-table-column>
-                    <el-table-column prop="lastRejectTime" label="驳回时间"></el-table-column>
-                    <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
-                    <el-table-column prop="bankName" label="银行"></el-table-column>
-                    <el-table-column prop="name" label="姓名"></el-table-column>
-                    <el-table-column prop="bankAddress" label="开户行"></el-table-column>
-                </el-table>
-                <div class="pagination">
-                    <el-pagination
-                        v-model:current-page="pages"
-                        v-model:page-size="size"
-                        :page-sizes="[10, 20, 30, 40]"
-                        layout="total, sizes, prev, pager, next, jumper"
-                        :total="total3"
-                        @size-change="handleSizeChange"
-                        @current-change="handleCurrentChange"
-                    ></el-pagination>
-                </div>
-            </el-tab-pane>
-        </el-tabs>
-        <el-dialog
-            v-model="show"
-            width="600"
-            title="银行卡审核"
-        >
-            <el-form v-model="agentForm" :rules="rules" disabled label-width="80">
-                <el-form-item prop="name" label="姓名">
-                    <el-input v-model="agentForm.name"></el-input>
-                </el-form-item>
-                <el-form-item prop="bankName" label="银行">
-                    <el-select v-model="agentForm.bankName">
-                        <el-option label="1" value="1"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item prop="bankCardNumber" label="银行卡号">
-                    <el-input v-model="agentForm.bankCardNumber"></el-input>
-                </el-form-item>
-                <el-form-item prop="bankAddress" label="开户行">
-                    <el-input v-model="agentForm.bankAddress"></el-input>
-                </el-form-item>
-                <el-form-item label="照片" class="upload-btn">
-<!--                    <el-upload :auto-upload="false" v-if="!agentForm.cardFileUrl" :show-file-list="false" accept=".png, .jpg, .jpeg" @change="uploadImage">
+              </el-popover>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div class="pagination">
+          <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
+            layout="total, sizes, prev, pager, next, jumper" :total="total1" @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"></el-pagination>
+        </div>
+      </el-tab-pane>
+      <el-tab-pane name="1">
+        <template #label>
+          <el-badge :value="total2">
+            <span>审核通过</span>
+          </el-badge>
+        </template>
+        <el-form v-model="firstForm" label-width="100">
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="业务员">
+                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="业务员类型">
+                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
+                  <el-option label="团队" value="5"></el-option>
+                  <el-option label="个代" value="6"></el-option>
+                  <el-option label="渠道" value="7"></el-option>
+                  <el-option label="电销组" value="8"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="申请时间">
+                <el-date-picker v-model="firstForm.applyTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核人">
+                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核时间">
+                <el-date-picker v-model="firstForm.auditTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
+              <el-button type="primary" @click="handleSearch">搜索</el-button>
+              <el-button plain @click="handleReset">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-table :data="secondData" style="width: 100%; margin-top: 20px;">
+          <el-table-column prop="name" label="业务员"></el-table-column>
+          <el-table-column prop="typeAttr" label="业务员类型">
+            <template #default="scope">
+              {{
+                scope.row.typeAttr == '5' ? '团队' : scope.row.typeAttr == '6' ? '个代' : scope.row.typeAttr == '7' ? '渠道' : scope.row.typeAttr == '8' ?'电销组':'--'
+              }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="workNumber" label="业务员工号"></el-table-column>
+          <el-table-column prop="applyTime" label="申请时间"></el-table-column>
+          <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
+          <el-table-column prop="bankName" label="银行"></el-table-column>
+          <el-table-column prop="name" label="姓名"></el-table-column>
+          <el-table-column prop="bankAddress" label="开户行"></el-table-column>
+          <el-table-column prop="auditTime" label="审核时间"></el-table-column>
+          <el-table-column prop="auditBy" label="审核人"></el-table-column>
+        </el-table>
+        <div class="pagination">
+          <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
+            layout="total, sizes, prev, pager, next, jumper" :total="total2" @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"></el-pagination>
+        </div>
+      </el-tab-pane>
+      <el-tab-pane name="2">
+        <template #label>
+          <el-badge :value="total3">
+            <span>审核不通过</span>
+          </el-badge>
+        </template>
+        <el-form v-model="firstForm" label-width="100">
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="业务员">
+                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="业务员类型">
+                <el-select v-model="firstForm.typeAttr" placeholder="请选择" clearable>
+                  <el-option label="团队" value="5"></el-option>
+                  <el-option label="个代" value="6"></el-option>
+                  <el-option label="渠道" value="7"></el-option>
+                  <el-option label="电销组" value="8"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="申请时间">
+                <el-date-picker v-model="firstForm.applyTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核人">
+                <el-input v-model="firstForm.auditBy" placeholder="请输入" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审核时间">
+                <el-date-picker v-model="firstForm.auditTime" type="daterange" range-separator="至"
+                  start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8" style="display: flex; align-items: center; justify-content: flex-end">
+              <el-button type="primary" @click="handleSearch">搜索</el-button>
+              <el-button plain @click="handleReset">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-table :data="thirdData" style="width: 100%; margin-top: 20px;">
+          <el-table-column prop="name" label="业务员"></el-table-column>
+          <el-table-column prop="typeAttr" label="业务员类型">
+            <template #default="scope">
+              {{
+                scope.row.typeAttr == '5' ? '团队' : scope.row.typeAttr == '6' ? '个代' : scope.row.typeAttr == '7' ? '渠道' : scope.row.typeAttr == '8' ?'电销组':'--'
+              }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="workNumber" label="业务员工号"></el-table-column>
+          <!-- <el-table-column prop="applyTime" label="申请时间"></el-table-column> -->
+          <el-table-column prop="lastRejectReason" label="驳回原因"></el-table-column>
+          <el-table-column prop="lastRejectTime" label="驳回时间"></el-table-column>
+          <el-table-column prop="bankCardNumber" label="银行卡号"></el-table-column>
+          <el-table-column prop="bankName" label="银行"></el-table-column>
+          <el-table-column prop="name" label="姓名"></el-table-column>
+          <el-table-column prop="bankAddress" label="开户行"></el-table-column>
+          <el-table-column prop="auditTime" label="审核时间"></el-table-column>
+          <el-table-column prop="auditBy" label="审核人"></el-table-column>
+        </el-table>
+        <div class="pagination">
+          <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
+            layout="total, sizes, prev, pager, next, jumper" :total="total3" @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"></el-pagination>
+        </div>
+      </el-tab-pane>
+    </el-tabs>
+    <el-dialog v-model="show" width="600" title="银行卡审核">
+      <el-form v-model="agentForm" :rules="rules" disabled label-width="80">
+        <el-form-item prop="name" label="姓名">
+          <el-input v-model="agentForm.name"></el-input>
+        </el-form-item>
+        <el-form-item prop="bankName" label="银行">
+          <el-select v-model="agentForm.bankName">
+            <el-option label="1" value="1"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="bankCardNumber" label="银行卡号">
+          <el-input v-model="agentForm.bankCardNumber"></el-input>
+        </el-form-item>
+        <el-form-item prop="bankAddress" label="开户行">
+          <el-input v-model="agentForm.bankAddress"></el-input>
+        </el-form-item>
+        <el-form-item label="照片" class="upload-btn">
+          <!--                    <el-upload :auto-upload="false" v-if="!agentForm.cardFileUrl" :show-file-list="false" accept=".png, .jpg, .jpeg" @change="uploadImage">
                         <el-button size="large" icon="Plus" />
                     </el-upload>
                     <div class="image-view" v-else>
@@ -307,28 +258,28 @@
                             &lt;!&ndash;            <el-icon class="btn-icon" @click="imageView"><View /></el-icon>&ndash;&gt;
                         </div>
                     </div>-->
-                    <img style="display: block; width: 130px; height: 80px; border-radius: 4px" :src="agentForm.cardFileUrl" />
-                </el-form-item>
-            </el-form>
-            <div class="footer">
-                <el-button @click="show = false">取消</el-button>
-                <el-button type="primary" @click="handleConfirmAudit">审核通过</el-button>
-            </div>
-        </el-dialog>
-    </div>
+          <img style="display: block; width: 130px; height: 80px; border-radius: 4px" :src="agentForm.cardFileUrl" />
+        </el-form-item>
+      </el-form>
+      <div class="footer">
+        <el-button @click="show = false">取消</el-button>
+        <el-button type="primary" @click="handleConfirmAudit">审核通过</el-button>
+      </div>
+    </el-dialog>
+  </div>
 </template>
 
 <script setup lang="ts">
 import api from '@/api'
-import {ElMessage} from "element-plus";
+import { ElMessage } from "element-plus";
 
 let activeName = ref('0')
 const handleClick = (e) => {
-    activeName.value = e.props.name
-    pages.value = 1
-    size.value = 10
-    firstForm.value = {}
-    initList(Number(activeName.value))
+  activeName.value = e.props.name
+  pages.value = 1
+  size.value = 10
+  firstForm.value = {}
+  initList(Number(activeName.value))
 }
 
 // 待审核
@@ -344,166 +295,173 @@ let total3 = ref(0)
 let pages = ref(1)
 let size = ref(10)
 const handleSizeChange = (size) => {
-    size.value = size
-    initList(Number(activeName.value))
+  size.value = size
+  initList(Number(activeName.value))
 }
 const handleCurrentChange = (page) => {
-    pages.value = page
-    initList(Number(activeName.value))
+  pages.value = page
+  initList(Number(activeName.value))
 }
 
 const initList = (type) => {
-    api.financeApi.queryUserBankCardList({
-        salesman: firstForm.value?.salesman,
-        typeAttr: firstForm.value?.typeAttr,
-        applyTimeStart: firstForm.value?.applyTime?.[0],
-        applyTimeEnd: firstForm.value?.applyTime?.[1],
-        auditTimeStart: firstForm.value?.auditTime?.[0],
-        auditTimeEnd: firstForm.value?.auditTime?.[1],
-        auditBy: firstForm.value?.auditBy,
-        auditStatus: type,
-        pages: pages.value,
-        size: size.value
-    }).then((res: any) => {
-        if(res.code == 200) {
-            switch (type) {
-                case 0:
-                    firstData.value = res.data.records.map(a => {
-                        return {
-                            ...a,
-                            agentShow: false
-                        }
-                    })
-                    total1.value = res.data.total
-                    break;
-                case 1:
-                    secondData.value = res.data.records
-                    total2.value = res.data.total
-                    break;
-                case 2:
-                    thirdData.value = res.data.records
-                    total3.value = res.data.total
-                    break;
+  api.financeApi.queryUserBankCardList({
+    salesman: firstForm.value?.salesman,
+    typeAttr: firstForm.value?.typeAttr,
+    applyTimeStart: firstForm.value?.applyTime?.[0],
+    applyTimeEnd: firstForm.value?.applyTime?.[1],
+    auditTimeStart: firstForm.value?.auditTime?.[0],
+    auditTimeEnd: firstForm.value?.auditTime?.[1],
+    auditBy: firstForm.value?.auditBy,
+    auditStatus: type,
+    pages: pages.value,
+    size: size.value
+  }).then((res: any) => {
+    if (res.code == 200) {
+      switch (type) {
+        case 0:
+          firstData.value = res.data.records.map(a => {
+            return {
+              ...a,
+              agentShow: false
             }
-        } else {
+          })
+          total1.value = res.data.total
+          break;
+        case 1:
+          secondData.value = res.data.records
+          total2.value = res.data.total
+          break;
+        case 2:
+          thirdData.value = res.data.records
+          total3.value = res.data.total
+          break;
+      }
+    } else {
 
-        }
-    })
+    }
+  })
 }
 const handleSearch = () => {
-    initList(Number(activeName.value))
+  initList(Number(activeName.value))
 }
 const handleReset = () => {
-    firstForm.value = {}
-    initList(Number(activeName.value))
+  firstForm.value = {}
+  initList(Number(activeName.value))
 }
 
 const agentPass = (row) => {
-    show.value = true
-    agentForm.value = row
+  show.value = true
+  agentForm.value = row
 }
 // 审核弹框
 let show = ref(false)
 let agentForm = ref({
-    imageUrl: ''
+  imageUrl: ''
 })
 let rules = ref({
-    name: [
-        { required: true, message: '请填写姓名', trigger: 'blur' }
-    ],
+  name: [
+    { required: true, message: '请填写姓名', trigger: 'blur' }
+  ],
 })
 
 // 通过
 const handleConfirmAudit = () => {
-    api.financeApi.userBankCardAudit({
-        id: agentForm.value.id,
-        auditStatus: '1'
-    }).then((res: any) => {
-        if(res.code == 200) {
-            ElMessage({
-                message: res.msg,
-                type: 'success'
-            })
-            show.value = false
-            initList(0)
-            initList(1)
-        }
-    })
+  api.financeApi.userBankCardAudit({
+    id: agentForm.value.id,
+    auditStatus: '1'
+  }).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      show.value = false
+      initList(0)
+      initList(1)
+    }
+  })
 }
 
 // 驳回
 let agentReason = ref('')
 const handleAgentCancel = (row) => {
-    row.agentShow = false
-    agentReason.value = ''
+  row.agentShow = false
+  agentReason.value = ''
 }
 const handleAgentConfirm = (row) => {
-    row.agentShow = false
-    api.financeApi.userBankCardAudit({
-        id: row.id,
-        auditStatus: '2',
-        remark: agentReason.value
-    }).then((res: any) => {
-        if(res.code == 200) {
-            ElMessage({
-                message: res.msg,
-                type: 'success'
-            })
-            initList(0)
-            initList(2)
-        }
-    })
+  row.agentShow = false
+  api.financeApi.userBankCardAudit({
+    id: row.id,
+    auditStatus: '2',
+    remark: agentReason.value
+  }).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      initList(0)
+      initList(2)
+    }
+  })
 }
 
 onMounted(() => {
-    initList(0)
-    initList(1)
-    initList(2)
+  initList(0)
+  initList(1)
+  initList(2)
 })
 
 </script>
 
 <style scoped lang="scss">
-.agentCount{
-    height: calc(100vh - 130px);
-    width: calc(100% - 24px);
-    margin: 12px auto;
-    padding: 12px;
-    background: #FFFFFF;
-    overflow-y: auto;
-    .icon_s{
-        display: flex;
-        align-items: center;
-        justify-content: flex-end;
-        margin-left: 20px;
-        color: #00a0f4;
-        cursor: pointer;
-        .is_icon{
-            transition: ease 0.2s;
-        }
-        .is_down{
-            transform: rotate(180deg);
-        }
-    }
-    .pagination{
-        margin-top: 20px;
-        display: flex;
-        justify-content: flex-end;
-    }
-    .upload-btn{
-        :deep(.el-button) {
-            width: 80px;
-            height: 80px;
-            font-size: 30px;
-            color: #ccc;
-        }
+.agentCount {
+  height: calc(100vh - 130px);
+  width: calc(100% - 24px);
+  margin: 12px auto;
+  padding: 12px;
+  background: #FFFFFF;
+  overflow-y: auto;
+
+  .icon_s {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+    margin-left: 20px;
+    color: #00a0f4;
+    cursor: pointer;
+
+    .is_icon {
+      transition: ease 0.2s;
     }
-    :deep(.el-badge__content.is-fixed) {
-        right: calc(var(--el-badge-size) / 2 - 10px);
-        top: 50%;
+
+    .is_down {
+      transform: rotate(180deg);
     }
-    :deep(.el-badge__content--danger) {
-        background-color: #D40000;
+  }
+
+  .pagination {
+    margin-top: 20px;
+    display: flex;
+    justify-content: flex-end;
+  }
+
+  .upload-btn {
+    :deep(.el-button) {
+      width: 80px;
+      height: 80px;
+      font-size: 30px;
+      color: #ccc;
     }
+  }
+
+  :deep(.el-badge__content.is-fixed) {
+    right: calc(var(--el-badge-size) / 2 - 10px);
+    top: 50%;
+  }
+
+  :deep(.el-badge__content--danger) {
+    background-color: #D40000;
+  }
 }
 </style>

+ 59 - 49
src/views/personnel/modules/editInstitution.vue

@@ -1,60 +1,70 @@
 <template>
   <div class="institution">
-    <PageMain style="margin-bottom: 100px;" title="基本信息">
-      <el-form label-position="top" label-width="auto" class="" :rules="rules" :model="form" ref="ruleFormRef">
-        <el-row :gutter="24">
-          <el-col :span="12">
-            <el-form-item label="机构名称" prop="name">
-              <el-input v-model.trim="form.name" maxlength="50" placeholder="输入机构名称" clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="上级机构" prop="parentId">
-              <el-cascader clearable style="width: 100%" v-model="form.parentId" :options="tableData"
-                :props="tableProps" @change="handleChange" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="机构类型" prop="comType">
-              <el-select v-model="form.comType" placeholder="选择机构类型" clearable>
-                <el-option v-for="item in comTypeList" :key="item.value" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="地区" prop="area">
-              <el-cascader clearable style="width: 100%" v-model="form.area" :options="areaOptins" :props="areaProps" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="展业范围" prop="exhibitionScope">
-              <el-select v-model="form.exhibitionScope" placeholder="选择展业范围" multiple clearable>
-                <el-option v-for="item in exhibitionScopeTypeList" :key="item.value" :label="item.label"
-                  :value="item.value" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="机构地址" prop="address">
-              <el-input v-model.trim="form.address" maxlength="50" placeholder="请输入机构地址" clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="机构负责人" prop="leaderId">
-              <el-select v-model="form.leaderId" placeholder="选择机构负责人" clearable>
-                <el-option v-for="item in memberList" :key="item.userId" :label="item.name" :value="item.userId" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
+    <PageMain title="基本信息" class="vh100">
+      <el-form label-position="top" label-width="auto" :rules="rules" :model="form" ref="ruleFormRef" class="h-full">
+        <div class="h-[calc(100%-64px)]">
+          <el-row :gutter="24">
+            <el-col :span="12">
+              <el-form-item label="机构名称" prop="name">
+                <el-input v-model.trim="form.name" maxlength="50" placeholder="输入机构名称" clearable />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="上级机构" prop="parentId">
+                <el-cascader clearable style="width: 100%" v-model="form.parentId" :options="tableData"
+                  :props="tableProps" @change="handleChange" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="机构类型" prop="comType">
+                <el-select v-model="form.comType" placeholder="选择机构类型" clearable>
+                  <el-option v-for="item in comTypeList" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="地区" prop="area">
+                <el-cascader clearable style="width: 100%" v-model="form.area" :options="areaOptins"
+                  :props="areaProps" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="展业范围" prop="exhibitionScope">
+                <el-select v-model="form.exhibitionScope" placeholder="选择展业范围" multiple clearable>
+                  <el-option v-for="item in exhibitionScopeTypeList" :key="item.value" :label="item.label"
+                    :value="item.value" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="机构地址" prop="address">
+                <el-input v-model.trim="form.address" maxlength="50" placeholder="请输入机构地址" clearable />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="机构负责人" prop="leaderId">
+                <el-select v-model="form.leaderId" placeholder="选择机构负责人" clearable>
+                  <el-option v-for="item in memberList" :key="item.userId" :label="item.name" :value="item.userId" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </div>
+        <div>
+          <el-button @click="router.back()">取 消</el-button>
+          <el-button type="primary" @click="confirm(ruleFormRef)">
+            保 存
+          </el-button>
+        </div>
       </el-form>
+
     </PageMain>
-    <FixedActionBar>
+    <!-- <FixedActionBar>
       <el-button @click="router.back()">取 消</el-button>
       <el-button type="primary" @click="confirm(ruleFormRef)">
         保 存
       </el-button>
-    </FixedActionBar>
+    </FixedActionBar> -->
   </div>
 </template>
 

+ 381 - 345
src/views/receivable/handingFee/ticket.vue

@@ -1,175 +1,147 @@
 <template>
-    <div class="ticket">
-        <div class="search-list">
-            <div class="search-left">
-                <el-select v-model="searchLeft">
-                    <el-option value="1" label="并且"></el-option>
-                    <el-option value="2" label="或者"></el-option>
-                </el-select>
-            </div>
-            <div class="search-right">
-                <div class="search-type" v-for="(item, index) in searchList">
-                    <el-select v-model="item.name" style="margin-right: 20px; width: 200px">
-                        <el-option value="1" label="保险公司"></el-option>
-                        <el-option value="2" label="签单时间"></el-option>
-                        <el-option value="3" label="出单协议"></el-option>
-                        <el-option value="4" label="订单类型"></el-option>
-                        <el-option value="5" label="签单年份"></el-option>
-                    </el-select>
-                    <el-select v-model="item.type" v-if="item.name != '2'" style="margin-right: 20px; width: 150px">
-                        <el-option value="1" label="等于"></el-option>
-                        <el-option value="2" label="不等于"></el-option>
-                        <el-option value="3" label="包含"></el-option>
-                        <el-option value="4" label="不包含"></el-option>
-                        <el-option value="5" label="为空"></el-option>
-                        <el-option value="6" label="不为空"></el-option>
-                    </el-select>
-                    <el-select v-model="item.type" v-else style="margin-right: 20px; width: 150px">
-                        <el-option value="1" label="大于等于"></el-option>
-                        <el-option value="2" label="小于等于"></el-option>
-                        <el-option value="3" label="固定范围"></el-option>
-                        <el-option value="4" label="不在固定范围"></el-option>
-                        <el-option value="5" label="为空"></el-option>
-                        <el-option value="6" label="不为空"></el-option>
-                    </el-select>
-                    <el-cascader
-                        style="width: 350px"
-                        v-model="item.search"
-                        v-if="item.name == '1'"
-                        :options="option"
-                        :props="tableProps"
-                        :disabled="item.type == '5'"
-                    ></el-cascader>
-                    <el-date-picker
-                        style="width: 350px"
-                        v-model="item.search"
-                        v-if="item.name == '2'"
-                        :type="item.type == '1' || item.type == '2' ?'date':'daterange'"
-                        placeholder="请选择"
-                        :disabled="item.type == '5'"
-                    />
-                    <el-select style="width: 350px" v-model="item.search" v-if="item.name == '3'" multiple filterable :disabled="item.type == '5'">
-                        <el-option value="1" label="协议1"></el-option>
-                    </el-select>
-                    <el-select style="width: 350px" v-model="item.search" v-if="item.name == '4'" multiple :disabled="item.type == '5'">
-                        <el-option value="1" label="车险订单"></el-option>
-                        <el-option value="2" label="补录订单"></el-option>
-                        <el-option value="3" label="代课录单"></el-option>
-                    </el-select>
-                    <el-date-picker
-                        v-if="item.name == '5'"
-                        style="width: 350px"
-                        v-model="item.search"
-                        type="yearrange"
-                        range-separator="-"
-                        :disabled="item.type == '5'"
-                    />
-                    <el-icon style="margin-left: 20px; cursor:pointer;"><CircleClose /></el-icon>
-                </div>
-                <el-button type="primary" @click="handleSearch">搜索</el-button>
-            </div>
+  <div class="ticket">
+    <div class="search-list">
+      <div class="search-left">
+        <el-select v-model="logicJudge">
+          <el-option value="and" label="并且"></el-option>
+          <el-option value="or" label="或者"></el-option>
+        </el-select>
+      </div>
+      <div class="search-right">
+        <div class="search-type" v-for="(item, index) in searchList">
+          <el-select v-model="item.name" style="margin-right: 20px; width: 200px" disabled>
+            <el-option value="companyId" label="保险公司"></el-option>
+            <el-option value="signDate" label="签单时间"></el-option>
+            <el-option value="ptlAgreement" label="出单协议"></el-option>
+            <el-option value="orderType" label="订单类型"></el-option>
+            <el-option value="signYear" label="签单年份"></el-option>
+          </el-select>
+          <el-select v-model="item.type" v-if="item.name != 'signDate'" style="margin-right: 20px; width: 150px" @change="val=>signDateSelectChange(index, val)">
+            <el-option value="等于" label="等于"></el-option>
+            <el-option value="不等于" label="不等于"></el-option>
+            <el-option value="包含" label="包含"></el-option>
+            <el-option value="不包含" label="不包含"></el-option>
+            <el-option value="为空" label="为空"></el-option>
+          </el-select>
+          <el-select v-model="item.type" v-else style="margin-right: 20px; width: 150px" @change="val=>signDateSelectChange(index, val)">
+            <el-option value="大于等于" label="大于等于"></el-option>
+            <el-option value="小于等于" label="小于等于"></el-option>
+            <el-option value="固定范围" label="固定范围"></el-option>
+            <el-option value="不在固定范围" label="不在固定范围"></el-option>
+            <el-option value="为空" label="为空"></el-option>
+          </el-select>
+          <el-select class="w-350px" v-if="item.name == 'companyId'" v-model="item.search" placeholder="请选择" clearable
+            filterable :disabled="item.type == '为空'">
+            <el-option v-for="item in companyList" :key="item.id" :value="item.id" :label="item.name"></el-option>
+          </el-select>
+          <el-date-picker style="width: 350px" v-model="datesearch" v-if="item.name == 'signDate'"
+            :type="item.type == '大于等于' || item.type == '小于等于' ? 'date' : 'daterange'" placeholder="请选择"
+            :disabled="item.type == '为空'"  @change="handlePtlAgreementChange(index, $event)"   value-format="YYYY-MM-DD" />
+          <el-select style="width: 350px" v-model="multipleSearch" v-if="item.name == 'ptlAgreement'" multiple filterable
+            :disabled="item.type == '为空'" @change="handlePtlAgreementChange(index, $event)">
+            <el-option v-for="item in insurerContract" :key="item.id" :value="item.id" :label="item.agreementName" ></el-option>
+          </el-select>
+          <el-select style="width: 350px" v-model="orderTypesearch" v-if="item.name == 'orderType'" multiple
+            :disabled="item.type == '为空'" @change="handlePtlAgreementChange(index, $event)">
+            <el-option value="1" label="车险订单"></el-option>
+            <el-option value="2" label="代课录单"></el-option>
+            <el-option value="3" label="补录订单"></el-option>
+          </el-select>
+          <el-date-picker v-if="item.name == 'signYear'" style="width: 350px" format="YYYY"
+          value-format="YYYY" v-model="yearrangesearch" type="yearrange"
+            range-separator="-" :disabled="item.type == '为空'" @change="handlePtlAgreementChange(index, $event)" />
+          <!-- <el-icon style="margin-left: 20px; cursor:pointer;"><CircleClose /></el-icon> -->
         </div>
-        <div class="tips">
-            <p>应收明细</p>
-            <el-button type="primary" @click="addTicket">添加应收</el-button>
-        </div>
-        <el-table
-            :data="tableData"
-            style="height: calc(100% - 340px)"
-        >
-            <template #empty>
-                <div v-if="noData">暂无应收,点击<el-button link type="primary">导入应收</el-button></div>
-                <div v-else>没有符合的应收单据~</div>
+        <el-button type="primary" @click="handleSearch">搜索</el-button>
+      </div>
+    </div>
+    <div class="tips">
+      <p>应收明细</p>
+      <el-button type="primary" @click="addTicket">添加应收</el-button>
+    </div>
+    <el-table :data="tableData" style="height: calc(100% - 340px)">
+      <template #empty>
+        <div v-if="noData">暂无应收,点击<el-button link type="primary">导入应收</el-button></div>
+        <div v-else>没有符合的应收单据~</div>
+      </template>
+      <el-table-column prop="licenseNo" label="车牌号"></el-table-column>
+      <el-table-column prop="jqPolicyNo" label="交强保单号"></el-table-column>
+      <el-table-column prop="syPolicyNo" label="商业保单号"></el-table-column>
+      <el-table-column prop="jqPremium" label="交强险保费"></el-table-column>
+      <el-table-column prop="jqSuperviseCostsProportion" label="交强险手续费比例"></el-table-column>
+      <el-table-column prop="syPremium" label="商业险保费"></el-table-column>
+      <el-table-column prop="sySuperviseCostsProportion" label="商业险手续费比例"></el-table-column>
+      <el-table-column label="应收金额">
+        <template #default="scope">
+          {{ scope.row.productId === '0330' || scope.row.productId === '0330034002' || scope.row.productId ===
+            '034002' ? scope.row.jqSuperviseCostsPremiums : scope.row.productId === '034001' || scope.row.productId ===
+              '0330034001' ? scope.row.sySuperviseCostsPremiums : '' }}
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="footer">
+      <el-button plain @click="handleBack">取消</el-button>
+      <el-button plain type="primary" @click="handleTicket">开票并结算</el-button>
+      <el-button type="primary" @click="handleInvoice">开票</el-button>
+    </div>
+    <el-dialog v-model="addShow" width="800" title="添加应收">
+      <div class="add-content">
+        <el-input v-model="addSearchValue" style="max-width: 500px" :placeholder="`请输入${placeholder}`"
+          class="input-with-select">
+          <template #prepend>
+            <el-select v-model="addSelectType" placeholder="请选择" style="width: 120px"
+              @change="handleAddSelectTypeChange">
+              <el-option label="订单号查询" value="1" />
+              <el-option label="交强险保单号查询" value="2" />
+              <el-option label="商业险保单号查询" value="3" />
+            </el-select>
+          </template>
+          <template #append>
+            <el-button type="primary" @click="getUnauditedOrder">搜索</el-button>
+          </template>
+        </el-input>
+        <el-table :data="selectingData" style="width: 100%;">
+          <el-table-column prop="a" label="费用状态" width="100"></el-table-column>
+          <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+          <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+          <el-table-column prop="jqPolicyNo" label="交强保单号" width="120"></el-table-column>
+          <el-table-column prop="syPolicyNo" label="商业保单号" width="120"></el-table-column>
+          <el-table-column prop="jqPremium" label="交强保费" width="100"></el-table-column>
+          <el-table-column prop="jqSuperviseCostsProportion" label="交强手续费比例" width="100"></el-table-column>
+          <el-table-column prop="syPremium" label="商业保费" width="100"></el-table-column>
+          <el-table-column prop="sySuperviseCostsProportion" label="商业手续费比例" width="100"></el-table-column>
+          <el-table-column prop="a" label="应收金额" width="100"></el-table-column>
+          <el-table-column label="操作" fixed="right" width="100">
+            <template #default="scope">
+              <el-button link type="primary" @click="handleToAdd(scope.row)">添加</el-button>
             </template>
-            <el-table-column prop="licenseNo" label="车牌号"></el-table-column>
-            <el-table-column prop="jqPolicyNo" label="交强保单号"></el-table-column>
-            <el-table-column prop="syPolicyNo" label="商业保单号"></el-table-column>
-            <el-table-column prop="jqPremium" label="交强险保费"></el-table-column>
-            <el-table-column prop="jqSuperviseCostsProportion" label="交强险手续费比例"></el-table-column>
-            <el-table-column prop="syPremium" label="商业险保费"></el-table-column>
-            <el-table-column prop="sySuperviseCostsProportion" label="商业险手续费比例"></el-table-column>
-            <el-table-column label="应收金额">
-                <template #default="scope">
-                    {{ scope.row.productId === '0330' || scope.row.productId === '0330034002' || scope.row.productId === '034002'?scope.row.jqSuperviseCostsPremiums:scope.row.productId === '034001' || scope.row.productId === '0330034001'?scope.row.sySuperviseCostsPremiums: ''  }}
-                </template>
-            </el-table-column>
+          </el-table-column>
         </el-table>
-        <div class="footer">
-            <el-button plain @click="handleBack">取消</el-button>
-            <el-button plain type="primary" @click="handleTicket">开票并结算</el-button>
-            <el-button type="primary" @click="handleInvoice">开票</el-button>
-        </div>
-        <el-dialog
-            v-model="addShow"
-            width="800"
-            title="添加应收"
-        >
-            <div class="add-content">
-                <el-input
-                    v-model="addSearchValue"
-                    style="max-width: 500px"
-                    :placeholder="`请输入${placeholder}`"
-                    class="input-with-select"
-                >
-                    <template #prepend>
-                        <el-select v-model="addSelectType" placeholder="请选择" style="width: 120px" @change="handleAddSelectTypeChange">
-                            <el-option label="订单号查询" value="1" />
-                            <el-option label="交强险保单号查询" value="2" />
-                            <el-option label="商业险保单号查询" value="3" />
-                        </el-select>
-                    </template>
-                    <template #append>
-                        <el-button type="primary" @click="getUnauditedOrder">搜索</el-button>
-                    </template>
-                </el-input>
-                <el-table
-                    :data="selectingData"
-                    style="width: 100%;"
-                >
-                    <el-table-column prop="a" label="费用状态" width="100"></el-table-column>
-                    <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
-                    <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
-                    <el-table-column prop="jqPolicyNo" label="交强保单号" width="120"></el-table-column>
-                    <el-table-column prop="syPolicyNo" label="商业保单号" width="120"></el-table-column>
-                    <el-table-column prop="jqPremium" label="交强保费" width="100"></el-table-column>
-                    <el-table-column prop="jqSuperviseCostsProportion" label="交强手续费比例" width="100"></el-table-column>
-                    <el-table-column prop="syPremium" label="商业保费" width="100"></el-table-column>
-                    <el-table-column prop="sySuperviseCostsProportion" label="商业手续费比例" width="100"></el-table-column>
-                    <el-table-column prop="a" label="应收金额" width="100"></el-table-column>
-                    <el-table-column label="操作" fixed="right" width="100">
-                        <template #default="scope">
-                            <el-button link type="primary" @click="handleToAdd(scope.row)">添加</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <p>已添加的应收单据</p>
-                <el-table
-                    :data="selectedData"
-                    style="width: 100%;"
-                >
-                    <el-table-column prop="a" label="费用状态" width="100"></el-table-column>
-                    <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
-                    <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
-                    <el-table-column prop="jqPolicyNo" label="交强保单号" width="120"></el-table-column>
-                    <el-table-column prop="syPolicyNo" label="商业保单号" width="120"></el-table-column>
-                    <el-table-column prop="jqPremium" label="交强保费" width="100"></el-table-column>
-                    <el-table-column prop="jqSuperviseCostsProportion" label="交强手续费比例" width="100"></el-table-column>
-                    <el-table-column prop="syPremium" label="商业保费" width="100"></el-table-column>
-                    <el-table-column prop="sySuperviseCostsProportion" label="商业手续费比例" width="100"></el-table-column>
-                    <el-table-column prop="a" label="应收金额" width="100"></el-table-column>
-                    <el-table-column label="操作" fixed="right" width="100">
-                        <template #default="scope">
-                            <el-button link type="primary" @click="handleDel(scope.row)">删除</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-            </div>
-            <template #footer>
-                <el-button plain @click="addShow = false">取消</el-button>
-                <el-button type="primary" @click="handleAddSubmit">确定</el-button>
+        <p>已添加的应收单据</p>
+        <el-table :data="selectedData" style="width: 100%;">
+          <el-table-column prop="a" label="费用状态" width="100"></el-table-column>
+          <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+          <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+          <el-table-column prop="jqPolicyNo" label="交强保单号" width="120"></el-table-column>
+          <el-table-column prop="syPolicyNo" label="商业保单号" width="120"></el-table-column>
+          <el-table-column prop="jqPremium" label="交强保费" width="100"></el-table-column>
+          <el-table-column prop="jqSuperviseCostsProportion" label="交强手续费比例" width="100"></el-table-column>
+          <el-table-column prop="syPremium" label="商业保费" width="100"></el-table-column>
+          <el-table-column prop="sySuperviseCostsProportion" label="商业手续费比例" width="100"></el-table-column>
+          <el-table-column prop="a" label="应收金额" width="100"></el-table-column>
+          <el-table-column label="操作" fixed="right" width="100">
+            <template #default="scope">
+              <el-button link type="primary" @click="handleDel(scope.row)">删除</el-button>
             </template>
-        </el-dialog>
-    </div>
+          </el-table-column>
+        </el-table>
+      </div>
+      <template #footer>
+        <el-button plain @click="addShow = false">取消</el-button>
+        <el-button type="primary" @click="handleAddSubmit">确定</el-button>
+      </template>
+    </el-dialog>
+  </div>
 </template>
 
 <script setup lang="ts">
@@ -180,47 +152,75 @@ import { ElMessage } from "element-plus";
 
 let route = useRoute()
 let router = useRouter()
+const selectedList = ref([])//选中的应收单据
+const companyList = ref()//保险公司
+const insurerContract = ref()//保险公司协议
+const multipleSearch = ref('')
+const orderTypesearch = ref('')
+const yearrangesearch = ref('')
+const datesearch = ref('')
+//获取保险公司协议
+const getByCompanyId = () => {
+  api.dispatchApi.getByCompanyIdt(route.query.id).then((res: any) => {
+    if (res.code == 200) {
+      insurerContract.value = res.data
+    }
+  })
+}
+//保险公司协议
 
-let searchLeft = ref('')
+let logicJudge = ref('and')
 let searchList = ref([
-    {
-        name: '1',
-        type: '',
-        search: ''
-    },{
-        name: '2',
-        type: '',
-        search: ''
-    },{
-        name: '3',
-        type: '',
-        search: ''
-    },{
-        name: '4',
-        type: '',
-        search: ''
-    },{
-        name: '5',
-        type: '',
-        search: ''
-    }
+  {
+    name: 'companyId',
+    type: '等于',
+    search: ''
+  }, {
+    name: 'signDate',
+    type: '固定范围',
+    search: ''
+  }, {
+    name: 'ptlAgreement',
+    type: '等于',
+    search: ''
+  }, {
+    name: 'orderType',
+    type: '等于',
+    search: ''
+  }, {
+    name: 'signYear',
+    type: '等于',
+    search: ''
+  }
 ])
+if (route.query) {
+  console.log(route.query)
+
+  selectedList.value = JSON.parse(route.query.selectedList || '[]')
+  searchList.value[0].search = route.query.id
+  getByCompanyId()
+  console.log(selectedList.value)
+}
 
-let option = ref([])
-const tableProps = ref({
-    value: "id",
-    label: "name",
-    children: "children",
-    checkStrictly: true,
-});
 
 let noData = ref(true)
 let tableData = ref([])
 const addTicket = () => {
-    addShow.value = true
+  addShow.value = true
 }
 const handleSearch = () => {
-    noData.value = false
+  console.log(searchList.value)
+  // router
+  api.financeApi.getSelectedReceivableList({
+    companyId: route.query.id,
+    orderNos: selectedList.value.map(item => item.orderNo),
+    searchList: searchList.value,
+    logicJudge: logicJudge.value,
+  }).then((res: any) => {
+    if (res.code == 200) {
+      tableData.value = res.data
+    }
+  })
 }
 
 let addShow = ref(false)
@@ -228,191 +228,227 @@ let addSearchValue = ref('')
 let placeholder = ref('订单号查询')
 let addSelectType = ref('1')
 const handleAddSelectTypeChange = (e) => {
-    switch (e) {
-        case '1':
-            placeholder.value = '订单号查询'
-            break;
-        case '2':
-            placeholder.value = '交强险保单号查询'
-            break;
-        case '3':
-            placeholder.value = '商业险保单号查询'
-            break;
-    }
+  switch (e) {
+    case '1':
+      placeholder.value = '订单号查询'
+      break;
+    case '2':
+      placeholder.value = '交强险保单号查询'
+      break;
+    case '3':
+      placeholder.value = '商业险保单号查询'
+      break;
+  }
 }
 let selectingData = ref([])
 let selectedData = ref([])
 
+// 出单协议多选转换
+const handlePtlAgreementChange = (index: any, e: any) => {
+  console.log(e)
+  if (Array.isArray(e)) {
+    searchList.value[index].search = e.join(',') || ''
+  }else{
+    searchList.value[index].search = e|| ''
+  }
+}
+
+// 签单时间选择器改变时触发
+const signDateSelectChange = (index:any,e:any) => {
+  switch (e) {
+    case '为空':
+      searchList.value[index].search = ''
+      break;
+    case '大于等于':
+    case '小于等于':
+    searchList.value[index].search = ''
+    datesearch.value =  ''
+      break;
+  }
+}
+
+// 未审核订单查询
 const getUnauditedOrder = () => {
-    api.financeApi.getUnauditedOrder(addSearchValue.value).then((res: any) => {
-        if(res.code == 200) {
-            selectingData.value = res.data
-        }
-    })
+  api.financeApi.getUnauditedOrder(addSearchValue.value).then((res: any) => {
+    if (res.code == 200) {
+      selectingData.value = res.data
+    }
+  })
 }
 const handleDel = (row) => {
-    selectedData.value = selectedData.value.filter(item => item.id != row.id)
+  selectedData.value = selectedData.value.filter(item => item.id != row.id)
 }
 const handleAddSubmit = () => {
-    if(selectedData.value.length < 1) {
+  if (selectedData.value.length < 1) {
+    ElMessage({
+      message: '请选择要添加的数据!',
+      type: 'warning'
+    })
+  } else {
+    api.financeApi.addReceivable(selectedData.value).then((res: any) => {
+      if (res.code == 200) {
         ElMessage({
-            message: '请选择要添加的数据!',
-            type: 'warning'
-        })
-    } else {
-        api.financeApi.addReceivable(selectedData.value).then((res: any) => {
-            if(res.code == 200) {
-                ElMessage({
-                    message: res.msg,
-                    type: 'success'
-                })
-                addShow.value = false
-            }
+          message: res.msg,
+          type: 'success'
         })
-    }
+        addShow.value = false
+      }
+    })
+  }
 }
 
 const handleToAdd = (row) => {
-    if(selectedData.value.length < 1) {
-        selectedData.value.push(row)
-    } else {
-        if(!selectedData.value.some(item => item.id === row.id)) {
-            selectedData.value.push(row)
-        }
+  if (selectedData.value.length < 1) {
+    selectedData.value.push(row)
+  } else {
+    if (!selectedData.value.some(item => item.id === row.id)) {
+      selectedData.value.push(row)
     }
-    // ElMessage({
-    //     message: '该订单已被xxx添加到应收开票中',
-    //     type: 'warning'
-    // })
+  }
+  // ElMessage({
+  //     message: '该订单已被xxx添加到应收开票中',
+  //     type: 'warning'
+  // })
 }
 
 // 开票并结算
 const handleBack = () => {
-    router.back()
+  router.back()
 }
 const handleTicket = () => {
-    const selectedList=route.query.selectedList?JSON.parse(route.query.selectedList):[]
-    api.financeApi.invoicingCheck({
-        incomeIds: selectedList.map(v =>v.id),
+  api.financeApi.invoicingCheck({
+    incomeIds: selectedList.value.map(v => v.id),
+    companyId: route.query.id,
+    invoiceType: route.query.invoiceType
+  }).then((res: any) => {
+    if (res.code == 200) {
+      api.financeApi.commissionInvoicing({
+        incomeIds: selectedList.value.map(v => v.id),
+        orderNos: selectedList.value.map(v => v.orderNo),
         companyId: route.query.id,
         invoiceType: route.query.invoiceType
-    }).then((res: any) => {
-        if(res.code == 200) {
-            api.financeApi.commissionInvoicing({
-                incomeIds: selectedList.map(v =>v.id),
-                orderNos: selectedList.map(v =>v.orderNo),
-                companyId: route.query.id,
-                invoiceType: route.query.invoiceType
-            }).then((sub: any) => {
-                if(sub.code == 200) {
-                    ElMessage({
-                        message: sub.msg,
-                        type: 'success'
-                    })
-                    api.financeApi.settlement({
-                        invoicingId: sub.data.invoiceId,
-                        actualReceivedAmount: sub.data.sumPrice
-                    }).then((msg: any) => {
-                        if(msg.code == 200) {
-                            ElMessage({
-                                message: msg.msg,
-                                type: 'success'
-                            })
-                        }
-                    })
-                }
-            })
+      }).then((sub: any) => {
+        if (sub.code == 200) {
+          ElMessage({
+            message: sub.msg,
+            type: 'success'
+          })
+          api.financeApi.settlement({
+            invoicingId: sub.data.invoiceId,
+            actualReceivedAmount: sub.data.sumPrice
+          }).then((msg: any) => {
+            if (msg.code == 200) {
+              ElMessage({
+                message: msg.msg,
+                type: 'success'
+              })
+            }
+          })
         }
-    })
+      })
+    }
+  })
 }
 const handleInvoice = () => {
-    const selectedList=route.query.selectedList?JSON.parse(route.query.selectedList):[]
-    api.financeApi.invoicingCheck({
-        incomeIds: selectedList.map(v =>v.id),
+  api.financeApi.invoicingCheck({
+    incomeIds: selectedList.value.map(v => v.id),
+    companyId: route.query.id,
+    invoiceType: route.query.invoiceType
+  }).then((res: any) => {
+    if (res.code == 200) {
+      api.financeApi.commissionInvoicing({
+        incomeIds: selectedList.value.map(v => v.id),
+        orderNos: selectedList.value.map(v => v.orderNo),
         companyId: route.query.id,
         invoiceType: route.query.invoiceType
-    }).then((res: any) => {
-        if(res.code == 200) {
-            api.financeApi.commissionInvoicing({
-                incomeIds: selectedList.map(v =>v.id),
-                orderNos: selectedList.map(v =>v.orderNo),
-                companyId: route.query.id,
-                invoiceType: route.query.invoiceType
-            }).then((sub: any) => {
-                if(sub.code == 200) {
-                    ElMessage({
-                        message: sub.msg,
-                        type: 'success'
-                    })
-                }
-            })
+      }).then((sub: any) => {
+        if (sub.code == 200) {
+          ElMessage({
+            message: sub.msg,
+            type: 'success'
+          })
         }
-    })
+      })
+    }
+  })
 }
 
 const initData = () => {
   // router
-    console.log("🚀 ~ initData ~ router:", route)
-    const orderNos=route.query.selectedList?JSON.parse(route.query.selectedList):[]
-    api.financeApi.getSelectedReceivableList({orderNos:orderNos.map(v=>v.orderNo)}).then((res: any) => {
-        if(res.code == 200) {
-            tableData.value = res.data
-        }
-    })
+    api.financeApi.getSelectedReceivableList({ orderNos: selectedList.value.map(v => v.orderNo),companyId: route.query.id}).then((res: any) => {
+    if (res.code == 200) {
+      tableData.value = res.data
+    }
+  })
+}
+// 保险公司
+const initCompany = () => {
+  api.insuranceApi.leftList('').then((res: any) => {
+    if (res.code == 200) {
+      companyList.value = res.data
+    }
+  })
 }
-
 onMounted(() => {
-    initData()
+  initData()
+  initCompany()
 })
 
 </script>
 
 <style scoped lang="scss">
-    .ticket{
-        height: calc(100vh - 135px);
-        width: calc(100% - 24px);
-        margin: 12px auto;
-        padding: 12px;
-        background: #FFFFFF;
-        overflow-y: auto;
-        .search-list{
-            display: flex;
-            align-items: center;
-            justify-content: flex-start;
-            .search-left{
-                width: 150px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                margin-right: 20px;
-            }
-            .search-right{
-                width: 700px;
-                .search-type{
-                    display: flex;
-                    align-items: center;
-                    justify-content: flex-start;
-                    margin-bottom: 10px;
-                }
-            }
-        }
-        .tips{
-            display: flex;
-            align-items: center;
-            justify-content: flex-start;
-            p{
-                margin-right: 30px;
-            }
-        }
-        .footer{
-            width: 100%;
-            position: fixed;
-            left: 0;
-            bottom: 0;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            height: 80px;
-        }
+.ticket {
+  height: calc(100vh - 135px);
+  width: calc(100% - 24px);
+  margin: 12px auto;
+  padding: 12px;
+  background: #FFFFFF;
+  overflow-y: auto;
+
+  .search-list {
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+
+    .search-left {
+      width: 150px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      margin-right: 20px;
     }
-</style>
+
+    .search-right {
+      width: 700px;
+
+      .search-type {
+        display: flex;
+        align-items: center;
+        justify-content: flex-start;
+        margin-bottom: 10px;
+      }
+    }
+  }
+
+  .tips {
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+
+    p {
+      margin-right: 30px;
+    }
+  }
+
+  .footer {
+    width: 100%;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 80px;
+  }
+}
+</style>