Przeglądaj źródła

Merge branches 'dev' and 'dev' of http://39.101.143.165:8090/dong_k/tenant-Platform into dev

@dongkboy 4 miesięcy temu
rodzic
commit
54fff1310d

+ 6 - 6
src/views/finance/index.vue

@@ -94,7 +94,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="16" style="display: flex;align-items: flex-start; justify-content: flex-end">
+            <el-col :span="isTrue?24:16" style="display: flex;align-items: flex-start; justify-content: flex-end">
               <el-button plain @click="handleExport('0')">数据导出</el-button>
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
@@ -107,7 +107,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="firstData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
+        <el-table :data="firstData" :height="isTrue ? 'calc(100% - 294px)' : 'calc(100% - 212px)'"
           style="width: 100%; margin-top: 20px;">
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="companyALlName" label="保险公司" width="120"></el-table-column>
@@ -239,7 +239,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="16" style="display: flex;align-items: flex-start; justify-content: flex-end">
+            <el-col :span="isTrue?24:16" style="display: flex;align-items: flex-start; justify-content: flex-end">
               <el-button plain @click="handleExport('1')">数据导出</el-button>
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
@@ -252,7 +252,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="secondData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
+        <el-table :data="secondData" :height="isTrue ? 'calc(100% - 294px)' : 'calc(100% - 212px)'"
           style="width: 100%; margin-top: 20px;">
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="companyALlName" label="保险公司" width="120"></el-table-column>
@@ -385,7 +385,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="16" style="display: flex;align-items: flex-start; justify-content: flex-end">
+            <el-col :span="isTrue?24:16" style="display: flex;align-items: flex-start; justify-content: flex-end">
               <el-button plain @click="handleExport('2')">数据导出</el-button>
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
@@ -398,7 +398,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="thirdData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
+        <el-table :data="thirdData" :height="isTrue ? 'calc(100% - 294px)' : 'calc(100% - 212px)'"
           style="width: 100%; margin-top: 20px;">
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="companyALlName" label="保险公司" width="120"></el-table-column>

+ 3 - 3
src/views/quoteConfig/agreement/agreementDetails.vue

@@ -611,7 +611,7 @@ const columns = [
     prop: "ptlAgreementCostTypeList", label: "交强险费用", width: '300', formatter: (row: any) => {
       let info = row.ptlAgreementCostTypeList.find((val: any) => val.costType == '交强险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-'
       }
@@ -621,7 +621,7 @@ const columns = [
     prop: "agreementAbbreviation", label: "商业险费用", width: '300', formatter: (row: any) => {
       let info = row.ptlAgreementCostTypeList.find((val: any) => val.costType == '商业险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-'
       }
@@ -631,7 +631,7 @@ const columns = [
     prop: "deptName", label: "驾意险费用", width: '300', formatter: (row: any) => {
       let info = row.ptlAgreementCostTypeList.find((val: any) => val.costType == '驾意险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-'
       }

+ 54 - 44
src/views/quoteConfig/costManagement.vue

@@ -77,7 +77,8 @@
       </div>
       <template #footer>
         <div class="dialog-footer">
-          <el-button class="border-[#0083FF] color-[#0083FF]" plain @click="agreementSelectionVisible = false">取消</el-button>
+          <el-button class="border-[#0083FF] color-[#0083FF]" plain
+            @click="agreementSelectionVisible = false">取消</el-button>
           <el-button type="primary" @click="agreementSelectionConfirm" :disabled="!ruleInfo">
             确定
           </el-button>
@@ -110,8 +111,8 @@ interface PageInfo {
 }
 onBeforeMount(async () => {
   await loadDicts(['valid_status', 'is_enable', 'audit_status', 'insurance_type']);//获取多个字典
-  if(id.value){
-    formInline.agreement=id.value;
+  if (id.value) {
+    formInline.agreement = id.value;
   }
   findpage();//列表数据
   getDeptTree();
@@ -160,22 +161,22 @@ const formInline = reactive({
 // 保险公司
 let companyOption = ref([])
 const initCompany = () => {
-    // api.projectApi.getCompanyList().then(res => {
-    api.insuranceApi.leftList('').then((res: any) => {
-        if(res.code == 200) {
-            companyOption.value = res.data.map(item => {
-                return {
-                    label: item.name,
-                    value: item.id
-                }
-            })
-        } else {
-            ElMessage({
-                message: res.msg,
-                type: 'warning'
-            })
+  // api.projectApi.getCompanyList().then(res => {
+  api.insuranceApi.leftList('').then((res: any) => {
+    if (res.code == 200) {
+      companyOption.value = res.data.map(item => {
+        return {
+          label: item.name,
+          value: item.id
         }
-    })
+      })
+    } else {
+      ElMessage({
+        message: res.msg,
+        type: 'warning'
+      })
+    }
+  })
 }
 
 //表格字段数据
@@ -215,18 +216,18 @@ const fields = ref([
       formInline.failureTime = value;
     }
   },
-    {
-        label: "保险公司", model: "companyId", type: "select", placeholder: "选择保险公司", options: companyOption, filterable: true
-    },
-    {
-        label: "对接人", model: "contactPerson", type: "input", placeholder: "输入对接人",
-    },
-    {
-        label: "修改时间", model: "updateTimeArr", type: "date", dateType: "datetimerange", startplaceholder: "开始时间", endplaceholder: "结束时间",
-        onChange: (value: any) => {
-            formInline.updateTimeArr = value;
-        }
-    },
+  {
+    label: "保险公司", model: "companyId", type: "select", placeholder: "选择保险公司", options: companyOption, filterable: true
+  },
+  {
+    label: "对接人", model: "contactPerson", type: "input", placeholder: "输入对接人",
+  },
+  {
+    label: "修改时间", model: "updateTimeArr", type: "date", dateType: "datetimerange", startplaceholder: "开始时间", endplaceholder: "结束时间",
+    onChange: (value: any) => {
+      formInline.updateTimeArr = value;
+    }
+  },
 ]);
 
 //费用数据查询
@@ -251,7 +252,7 @@ function agreement() {
   });
 }
 const columns = [
-    { prop: "companyName", label: "保险公司", width: '120', },
+  { prop: "companyName", label: "保险公司", width: '120', },
   {
     prop: "agreementAbbreviation", label: "协议信息", width: '300',
     formatter: (row: any) => {
@@ -263,10 +264,10 @@ const columns = [
   },
   { prop: "productName", label: "险种", width: '120', },
   {
-      prop: "costRules", label: "费用规则", width: '500',
+    prop: "costRules", label: "费用规则", width: '500',
   },
   {
-      prop: "costDescribe", label: "费用描述", width: '500',
+    prop: "costDescribe", label: "费用描述", width: '500',
   },
   {
     prop: "isEnabled", label: "费用状态", width: '100', component: "Tag",
@@ -286,10 +287,10 @@ const columns = [
       }
     }
   },
-    { prop: "dockingPerson", label: "对接人", width: '100' },
-    { prop: "effectiveTime", label: "生效时间", width: '200' },
-    { prop: "failureTime", label: "失效时间", width: '200' },
-    { prop: "updateTime", label: "修改时间", width: '200' },
+  { prop: "dockingPerson", label: "对接人", width: '100' },
+  { prop: "effectiveTime", label: "生效时间", width: '200' },
+  { prop: "failureTime", label: "失效时间", width: '200' },
+  { prop: "updateTime", label: "修改时间", width: '200' },
   {
     prop: "ruleConditions", label: "交强费用", width: '300', formatter: (row: any) => {
       let info = row.ruleConditions.find((val: any) => val.costType == '交强险');
@@ -571,13 +572,14 @@ const AgreementId = ref();//规则id
 const ruleId = ref();//规则id
 const ruleList = ref();//协议规则列表
 const agreementSelection = () => {
+  AgreementId.value = '';
+  ruleList.value = []
   agreementSelectionVisible.value = true;
 }
 const ItemClick = (item: any) => {
-  console.log(item)
-  console.log(ruleInfo.value)
   AgreementInfo.value = item;
   AgreementId.value = item.id;
+  ruleId.value = '';
   api.agreementApi.agreementRulesList(AgreementId.value).then((res: any) => {
     if (res.code == '200') {
       ruleList.value = res.data;
@@ -590,6 +592,14 @@ const ruleItemclick = (value: string | number | boolean | undefined) => {
   ruleInfo.value = info;
 }
 const agreementSelectionConfirm = () => {
+  if (!AgreementId.value) {
+    ElMessage.error('请选择协议')
+    return
+  }
+  if (!ruleId.value) {
+    ElMessage.error('请选择规则')
+    return
+  }
   agreementSelectionVisible.value = false;
   ruleFeeVisible.value = true;
 }
@@ -605,11 +615,11 @@ const ruleFeeSave = (data: object) => {
       ruleFeeVisible.value = false;
       findpage();
     } else {
-        ElMessage({
-            type: 'error',
-            message: res.msg,
-            plain: true,
-        })
+      ElMessage({
+        type: 'error',
+        message: res.msg,
+        plain: true,
+      })
     }
   });
 }

+ 51 - 149
src/views/quoteConfig/dispatch/components/other.vue

@@ -1,11 +1,5 @@
 <template>
-  <el-dialog
-    v-model="dialogVisible"
-    title="其他情况"
-    width="704px"
-    :before-close="handleClose"
-    align-center
-  >
+  <el-dialog v-model="dialogVisible" title="其他情况" width="704px" :before-close="handleClose" align-center>
     <div class="dialog-content">
       <div class="left">
         <div class="description-text">
@@ -14,44 +8,23 @@
 
         <div class="section-title">将执行以下动作</div>
 
-        <el-form
-          ref="formRef"
-          :model="formData"
-          label-width="auto"
-          class="action-form"
-        >
-          <el-form-item
-            v-for="(item, index) in formData.actions"
-            :key="item.keyid"
-            :prop="`actions.${index}`"
-            :error="item.actionJson.duplicateError"
-          >
-            <el-select
-              v-model="item.actionCode"
-              placeholder="请选择动作"
-              style="width: 276px; margin-right: 9px"
-              @change="(val) => handleActionChange(val, index)"
-              @blur="() => checkDuplicate(index)"
-            >
-              <el-option
-                v-for="dictItem in getAvailableActions(index)"
-                :key="dictItem.value"
-                :value="dictItem.value"
-                :label="dictItem.label"
-              />
+        <el-form ref="formRef" :model="formData" label-width="auto" class="action-form">
+          <el-form-item v-for="(item, index) in formData.actions" :key="item.keyid" :prop="`actions.${index}`"
+            :error="item.actionJson.duplicateError">
+            <el-select v-model="item.actionCode" placeholder="请选择动作" style="width: 276px; margin-right: 9px"
+              @change="(val) => handleActionChange(val, index)" @blur="() => checkDuplicate(index)">
+              <el-option v-for="dictItem in getAvailableActions(index)" :key="dictItem.value" :value="dictItem.value"
+                :label="dictItem.label" />
             </el-select>
-            <img
-              src="@/assets/images/delete.png"
-              alt="删除"
-              style="width: 18px; height: 18px; cursor: pointer"
-              @click="deleteItem(index)"
-              v-if="formData.actions.length > 1"
-            />
+            <img src="@/assets/images/delete.png" alt="删除" style="width: 18px; height: 18px; cursor: pointer"
+              @click="deleteItem(index)" v-if="formData.actions.length > 1" />
           </el-form-item>
         </el-form>
 
         <el-button type="text" class="add-action-btn" @click="addItem">
-          <el-icon><Plus /></el-icon>添加动作
+          <el-icon>
+            <Plus />
+          </el-icon>添加动作
         </el-button>
       </div>
 
@@ -63,177 +36,105 @@
           </div>
         </div>
         <!-- 指定协议 -->
-        <div
-          v-if="
-            formData.actions.length > 0 &&
-            lastActionLabel === '报价失败指定协议'
-          "
-          style="margin-top: 20px"
-        >
-          <div
-            style="
+        <div v-if="
+          formData.actions.length > 0 &&
+          lastActionLabel === '报价失败指定协议'
+        " style="margin-top: 20px">
+          <div style="
               font-weight: 600;
               font-size: 16px;
               margin-bottom: 4px;
               color: #333333;
-            "
-          >
+            ">
             选择报价协议
           </div>
           <div style="font-size: 14px; color: #666666; margin-bottom: 12px">
             不满足所有规则的车辆报价,将使用该协议报价
           </div>
-          <el-select
-            v-model="
-              formData.actions[formData.actions.length - 1].actionJson
-                .agreementId
-            "
-            placeholder=""
-            style="width: 304px"
-            :rules="[
+          <el-select v-model="formData.actions[formData.actions.length - 1].actionJson
+              .agreementId
+            " placeholder="" style="width: 304px" :rules="[
               {
                 required: lastActionLabel === '报价失败指定协议',
                 message: '请选择报价协议',
                 trigger: 'blur',
               },
-            ]"
-          >
-            <el-option
-              v-for="item in agreementList"
-              :key="item.id"
-              :label="item.agreementName"
-              :value="item.id"
-            />
+            ]">
+            <el-option v-for="item in agreementList" :key="item.id" :label="item.agreementName" :value="item.id" />
           </el-select>
         </div>
         <!-- 终止报价 -->
-        <div
-          v-if="formData.actions.length > 0 && lastActionLabel === '终止报价'"
-          style="margin-top: 20px"
-        >
-          <div
-            style="
+        <div v-if="formData.actions.length > 0 && lastActionLabel === '终止报价'" style="margin-top: 20px">
+          <div style="
               font-weight: 600;
               font-size: 16px;
               margin-bottom: 4px;
               color: #333333;
-            "
-          >
+            ">
             提示文案
           </div>
           <div style="font-size: 14px; color: #666666; margin-bottom: 12px">
             设置终止该车辆报价的提示文案
           </div>
-          <el-input
-            v-model="
-              formData.actions[formData.actions.length - 1].actionJson.message
-            "
-            style="width: 100%"
-            :rows="4"
-            type="textarea"
-            placeholder="请输入提示文案"
-            maxlength="500"
-            show-word-limit
-          />
+          <el-input v-model="formData.actions[formData.actions.length - 1].actionJson.message
+            " style="width: 100%" :rows="4" type="textarea" placeholder="请输入提示文案" maxlength="500" show-word-limit />
         </div>
         <!-- 补录订单 -->
-        <div
-          v-if="formData.actions.length > 0 && lastActionLabel === '补录订单'"
-        >
+        <div v-if="formData.actions.length > 0 && lastActionLabel === '补录订单'">
           <div style="font-size: 14px; color: #666666; margin-top: 10px">
             终止报价,将报价信息写入补录订单内,生成一笔暂存的补录订单。
           </div>
         </div>
         <!-- 发送通知消息 -->
-        <div
-          v-if="
-            formData.actions.length > 0 && lastActionLabel === '发送通知消息'
-          "
-          style="margin-top: 20px"
-        >
-          <div
-            style="
+        <div v-if="
+          formData.actions.length > 0 && lastActionLabel === '发送通知消息'
+        " style="margin-top: 20px">
+          <div style="
               font-weight: 600;
               font-size: 16px;
               margin-bottom: 4px;
               color: #333333;
-            "
-          >
+            ">
             接收人
           </div>
           <div style="font-size: 14px; color: #666666; margin-bottom: 12px">
             发送通知消息给接收人
           </div>
-          <el-radio-group
-            v-model="
-              formData.actions[formData.actions.length - 1].actionJson.type
-            "
-            @change="handleTypeChange"
-            style="
+          <el-radio-group v-model="formData.actions[formData.actions.length - 1].actionJson.type
+            " @change="handleTypeChange" style="
               display: flex;
               flex-direction: column;
               align-items: start;
               gap: 12px;
-            "
-          >
+            ">
             <el-radio :value="1">业务员的管理人</el-radio>
             <el-radio :value="2">
               指定人员
-              <el-select
-                v-model="
-                  formData.actions[formData.actions.length - 1].actionJson
-                    .user_id
-                "
-                placeholder="请选择人员"
-                style="width: 204px; margin-left: 20px"
-                clearable
-                :disabled="
-                  formData.actions[formData.actions.length - 1].actionJson
+              <el-select v-model="formData.actions[formData.actions.length - 1].actionJson
+                  .user_id
+                " placeholder="请选择人员" style="width: 204px; margin-left: 20px" clearable :disabled="formData.actions[formData.actions.length - 1].actionJson
                     .type !== 2
-                "
-              >
-                <el-option
-                  v-for="item in followerList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                />
+                  ">
+                <el-option v-for="item in followerList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
             </el-radio>
           </el-radio-group>
           <div style="font-size: 14px; margin: 20px 0px 10px 0px">标题</div>
           <div>
-            <el-input
-              v-model="
-                formData.actions[formData.actions.length - 1].actionJson.title
-              "
-              style="width: 100%"
-              placeholder="请输入标题"
-              maxlength="50"
-              show-word-limit
-            />
+            <el-input v-model="formData.actions[formData.actions.length - 1].actionJson.title
+              " style="width: 100%" placeholder="请输入标题" maxlength="50" show-word-limit />
           </div>
           <div style="font-size: 14px; margin: 20px 0px 10px 0px">内容</div>
-          <el-input
-            v-model="
-              formData.actions[formData.actions.length - 1].actionJson.content
-            "
-            style="width: 100%"
-            :rows="4"
-            type="textarea"
-            placeholder="请输入通知内容"
-            maxlength="500"
-            show-word-limit
-          />
+          <el-input v-model="formData.actions[formData.actions.length - 1].actionJson.content
+            " style="width: 100%" :rows="4" type="textarea" placeholder="请输入通知内容" maxlength="500" show-word-limit />
         </div>
       </div>
     </div>
 
     <template #footer>
       <div class="dialog-footer">
-        <el-button class="border-[#0083FF] color-[#0083FF]" plain @click="(dialogVisible = false), emit('close')"
-          >取消</el-button
-        >
+        <el-button class="border-[#0083FF] color-[#0083FF]" plain
+          @click="(dialogVisible = false), emit('close')">取消</el-button>
         <el-button type="primary" @click="handleSave">保存</el-button>
       </div>
     </template>
@@ -567,7 +468,7 @@ onMounted(async () => {
   dictionaries.value = dictData || [];
   followerList.value = userList;
   // formData.value.companyId = props.companyId;
-  console.log( props.companyId);
+  console.log(props.companyId);
 });
 
 /**
@@ -644,6 +545,7 @@ watch(
 .add-action-btn {
   margin-top: 8px;
   color: #409eff;
+
   &:hover {
     color: #66b1ff;
   }

+ 2 - 2
src/views/receivable/handingFee/invoiceRecord.vue

@@ -73,12 +73,12 @@
       <el-table-column prop="overinflatedAmount" label="虚增金额" width="120"></el-table-column>
       <el-table-column prop="taxPoint" label="税点" width="120"></el-table-column>
       <el-table-column prop="actualReceivedAmount" label="开票金额" width="120"></el-table-column>
-      <el-table-column prop="receivableSupervisePremium" label="应收金额" width="120"></el-table-column>
+      <el-table-column prop="remainSettlementAmount" label="应收金额" width="120"></el-table-column>
       <el-table-column prop="settlementStatus" label="结算状态" width="120">
 
       </el-table-column>
       <el-table-column prop="settlementAmount" label="已结算金额" width="120"></el-table-column>
-      <el-table-column prop="remainSettlementAmount" label="待结算金额" width="120"></el-table-column>
+      <!-- <el-table-column prop="remainSettlementAmount" label="待结算金额" width="120"></el-table-column> -->
       <el-table-column prop="createBy" label="开票人" width="120"></el-table-column>
       <el-table-column prop="createTime" label="开票时间" width="150"></el-table-column>
       <el-table-column label="操作" width="200" fixed="right" align="center">

+ 3 - 3
src/views/representative/quoteApproval.vue

@@ -181,7 +181,7 @@ const columns = [
     prop: "ruleConditions", label: "交强费用", width: '300', formatter: (row: any) => {
       let info = row.ruleConditions.find((val: any) => val.costType == '交强险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-';
       }
@@ -191,7 +191,7 @@ const columns = [
     prop: "ruleConditions", label: "商业费用", width: '300', formatter: (row: any) => {
       let info = row.ruleConditions.find((val: any) => val.costType == '商业险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-';
       }
@@ -201,7 +201,7 @@ const columns = [
     prop: "ruleConditions", label: "驾意险费用", width: '300', formatter: (row: any) => {
       let info = row.ruleConditions.find((val: any) => val.costType == '驾意险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow.toFixed(2)}% 手续费:${info.commission.toFixed(2)}%`
+        return `入口:${info.inlet?.toFixed(2)}% 出口:${info.export?.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}% 手续费:${info.commission?.toFixed(2)}%`
       } else {
         return '-';
       }