cz hai 1 ano
pai
achega
a25357f6de

+ 15 - 3
src/components/PDF/productionPDF.vue

@@ -8,7 +8,11 @@
             <td style="width: 20%">项目名称</td>
             <td style="width: 30%">{{ pdfData.productName }}</td>
             <td style="width: 20%">日期</td>
-            <td style="width: 30%">{{ pdfData.endCompleteTime }}</td>
+            <td style="width: 30%">
+              <span v-if="pdfData.endCompleteTime">
+                {{ pdfData.endCompleteTime.slice(0, 10) }}</span
+              >
+            </td>
           </tr>
           <tr>
             <td>规格</td>
@@ -40,13 +44,21 @@
             <td>机型编号</td>
             <td>{{ pdfData.productSn }}</td>
             <td>合格入库</td>
-            <td>{{ pdfData.endCompleteTime }}</td>
+            <td>
+              <span v-if="pdfData.endCompleteTime">{{
+                pdfData.endCompleteTime.slice(0, 10)
+              }}</span>
+            </td>
           </tr>
           <tr>
             <td>入库时间</td>
             <td></td>
             <td>交货时间</td>
-            <td>{{ pdfData.contractDeliveryDate }}</td>
+            <td>
+              <span v-if="pdfData.contractDeliveryDate">{{
+                pdfData.contractDeliveryDate.slice(0, 10)
+              }}</span>
+            </td>
           </tr>
           <tr>
             <td>发货确认</td>

+ 1 - 1
src/components/process/SendFunds.vue

@@ -605,7 +605,7 @@ const getDictData = () => {
     accountData.value = res.rows;
   });
   // 关联合同
-  proxy.post("/contract/page1", { pageNum: 1, pageSize: 9999, status: 30 }).then((res) => {
+  proxy.post("/salesContract/page", { pageNum: 1, pageSize: 9999, status: 30 }).then((res) => {
     if (res.rows && res.rows.length > 0) {
       contractList.value = res.rows.map((item) => {
         return {

+ 45 - 30
src/views/JXSK/production/qrDetails/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="width: 100vw; height: 100vh">
-    <div style="text-align: center; padding: 20px" class="bg">
+    <div style="text-align: center; padding: 1.25rem" class="bg">
       <div class="title">嘉兴双拓科技</div>
       <div class="top">
         <div class="t">
@@ -28,7 +28,7 @@
           <img src="@/assets/images/phone-btn2.png" alt="" class="img" />
           <span> 工单详情</span>
         </div>
-        <div class="btn" @click="handleAdd" style="margin-top: 50px">
+        <div class="btn" @click="handleAdd" style="margin-top: 3.125rem">
           <img src="@/assets/images/phone-btn1.png" alt="" class="img" />
           <span> 售后申请 </span>
         </div>
@@ -79,15 +79,15 @@
       :close-on-click-modal="false"
     >
       <TitleInfo content="客户信息"></TitleInfo>
-      <div style="padding-left: 20px; margin: 10px 0">
+      <div style="padding-left: 1.25rem; margin: 0.625rem 0">
         客户名称:{{ detailsData.customerName }}
       </div>
 
       <TitleInfo content="产品信息"></TitleInfo>
-      <div style="padding-left: 20px; margin-top: 10px">
+      <div style="padding-left: 1.25rem; margin-top: 0.625rem">
         产品名称:{{ detailsData.productName }}({{ detailsData.productSpec }})
       </div>
-      <div style="padding-left: 20px; margin-bottom: 10px">
+      <div style="padding-left: 1.25rem; margin-bottom: 0.625rem">
         产品Sn:{{ detailsData.productSn }}
       </div>
 
@@ -95,7 +95,11 @@
       <div
         v-for="(item, index) in detailsData.productionTaskDetailRecordList"
         :key="item.id"
-        style="margin-top: 10px; margin-bottom: 20px; padding-left: 20px"
+        style="
+          margin-top: 0.625rem;
+          margin-bottom: 1.25rem;
+          padding-left: 1.25rem;
+        "
       >
         <div>工序名称: {{ item.productionProcessesName }}</div>
         <div>工序开始时间: {{ item.receivedTime }}</div>
@@ -119,7 +123,7 @@
         :model="afterSalesForm"
         :rules="afterSalesRules"
         v-loading="loading"
-        label-width="80px"
+        label-width="5rem"
       >
         <div class="form">
           <TitleInfo content="产品信息"></TitleInfo>
@@ -133,7 +137,7 @@
           <el-form-item
             prop="productName"
             label="产品名称"
-            style="margin-top: 20px"
+            style="margin-top: 1.25rem"
           >
             <el-input
               v-model="afterSalesForm.productName"
@@ -144,7 +148,7 @@
           <el-form-item
             prop="productSpec"
             label="规格型号"
-            style="margin-top: 20px"
+            style="margin-top: 1.25rem"
           >
             <el-input
               v-model="afterSalesForm.productSpec"
@@ -153,7 +157,11 @@
             ></el-input>
           </el-form-item>
           <TitleInfo content="售后信息"></TitleInfo>
-          <el-form-item prop="type" label="售后类型" style="margin-top: 20px">
+          <el-form-item
+            prop="type"
+            label="售后类型"
+            style="margin-top: 1.25rem"
+          >
             <el-select
               v-model="afterSalesForm.type"
               placeholder="请选择售后类型"
@@ -198,6 +206,7 @@
                 <el-button>选择</el-button>
               </el-upload> -->
               <input
+                ref="input"
                 type="file"
                 accept="image/*"
                 capture="camera"
@@ -211,11 +220,13 @@
                 "
               >
                 <div
-                  v-for="item in afterSalesForm.fileList"
+                  v-for="(item, index) in afterSalesForm.fileList"
                   :key="item.id"
-                  style="margin-top: 3px"
+                  style="margin-top: 0.1875rem"
                 >
-                  {{ item.fileName }}
+                  <el-tag class="mx-1" closable @close="handleRemove(index)">
+                    {{ item.fileName }}
+                  </el-tag>
                 </div>
               </div>
             </div>
@@ -391,8 +402,9 @@ onMounted(() => {
     }
   });
 });
-
+const input = ref(null);
 const handleFileChange = async (e) => {
+  // input.value = "";
   const file = e.target.files[0];
   request({
     url: "/open/afterSales/fileInfo/getSing",
@@ -424,43 +436,46 @@ const handleFileChange = async (e) => {
     });
   });
 };
+const handleRemove = (index) => {
+  afterSalesForm.value.fileList.splice(index, 1);
+};
 </script>
 
 
 
 <style lang="scss" scoped>
 .bg {
-  height: 100vh;
+  min-height: 100vh;
   background-image: url("../../../../assets/images/phone-bg.png");
   background-size: cover;
 }
 .title {
-  font-size: 48px;
+  font-size: 3rem;
   font-weight: 700;
   color: #fff;
-  margin: 10px 0 40px 0;
+  margin: 0.625rem 0 2.5rem 0;
 }
 .top {
   background-color: rgba(255, 255, 255, 0.7);
   border-radius: 5px;
-  padding: 20px 10px;
+  padding: 1.25rem 0.625rem;
   .t {
     .title1 {
-      font-size: 20px;
+      font-size: 1.25rem;
       font-weight: 700;
       color: #fff;
-      margin-bottom: 20px;
+      margin-bottom: 1.25rem;
       text-align: left;
     }
   }
   .b {
-    padding-bottom: 10px;
+    padding-bottom: 0.625rem;
     display: flex;
     // justify-content: space-between;
     .left {
-      margin-right: 20px;
+      margin-right: 1.25rem;
       .code {
-        margin-left: 20px;
+        margin-left: 1.25rem;
       }
     }
     .right {
@@ -474,8 +489,8 @@ const handleFileChange = async (e) => {
 .bottom {
   background-color: rgba(255, 255, 255, 0.7);
   border-radius: 5px;
-  padding: 50px 30px;
-  margin-top: 20px;
+  padding: 3.125rem 1.875rem;
+  margin-top: 1.25rem;
   .btn {
     height: 17vh;
     text-align: center;
@@ -483,18 +498,18 @@ const handleFileChange = async (e) => {
     line-height: 17vh;
     color: #fff;
     background-color: rgba(21, 73, 121, 1);
-    font-size: 25px;
+    font-size: 1.5625rem;
     font-weight: 700;
     margin: 0 auto;
     border-radius: 5px;
-    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.349019607843137);
+    box-shadow: 0px 0px 1.25rem rgba(0, 0, 0, 0.349019607843137);
   }
 }
 .img {
-  width: 40px;
+  width: 2.5rem;
   object-fit: contain;
   vertical-align: middle;
-  margin-bottom: 5px;
-  margin-right: 10px;
+  margin-bottom: 0.3125rem;
+  margin-right: 0.625rem;
 }
 </style>

+ 29 - 1
src/views/JXSK/salesMange/contract/index.vue

@@ -19,6 +19,26 @@
         ]"
         @get-list="getList"
       >
+        <template #remark="{ item }">
+          <div style="width: 100%">
+            <el-tooltip placement="bottom" effect="dark">
+              <div
+                style="
+                  overflow: hidden;
+                  white-space: nowrap;
+                  text-overflow: ellipsis;
+                "
+              >
+                {{ item.remark }}
+              </div>
+              <template #content>
+                <div style="width: 300px">
+                  {{ item.remark }}
+                </div>
+              </template>
+            </el-tooltip>
+          </div>
+        </template>
       </byTable>
     </div>
     <el-dialog
@@ -406,6 +426,13 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "到账金额",
+        prop: "claimAmount",
+        width: 100,
+      },
+    },
+    {
+      attrs: {
         label: "是否已结清",
         prop: "isSettled",
         width: 100,
@@ -417,7 +444,8 @@ const config = computed(() => {
     {
       attrs: {
         label: "备注",
-        prop: "remark",
+        slot: "remark",
+        width: 120,
       },
     },
     {

+ 45 - 0
src/views/finance/fundManage/accountStatement/index.vue

@@ -141,6 +141,7 @@
                     v-model="formData.data.currency"
                     placeholder="请选择"
                     style="width: 100%"
+                    @change="changeAmount"
                   >
                     <el-option
                       v-for="item in accountCurrency"
@@ -161,12 +162,44 @@
                     :precision="2"
                     :controls="false"
                     :min="0"
+                    @change="changeAmount"
                   />
                 </el-form-item>
               </el-col>
             </el-row>
           </div>
         </template>
+        <template #amountCny>
+          <div style="width: 100%">
+            <el-row :gutter="10">
+              <el-col :span="12">
+                <el-form-item prop="amountCny">
+                  <el-input-number
+                    onmousewheel="return false;"
+                    v-model="formData.settleData.amountCny"
+                    placeholder="请输入汇算人民币金额"
+                    style="width: 100%"
+                    :precision="2"
+                    :controls="false"
+                    :min="0"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <span
+                  v-if="
+                    formData.settleData.amount && formData.settleData.amountCny
+                  "
+                  >汇率是:{{
+                    parseFloat(
+                      formData.settleData.amountCny / formData.settleData.amount
+                    ).toFixed(2)
+                  }}</span
+                >
+              </el-col>
+            </el-row>
+          </div>
+        </template>
         <template #received>
           <div>
             <el-form-item prop="received">
@@ -790,6 +823,12 @@ const formConfig = computed(() => {
       slotName: "money",
       label: "交易金额",
     },
+    {
+      type: "slot",
+      prop: "amountCny",
+      slotName: "amountCny",
+      label: "汇算人民币金额",
+    },
     formData.data.status == "10"
       ? {
           type: "slot",
@@ -1428,6 +1467,12 @@ const handleSubmitLoan = () => {
     );
   });
 };
+
+const changeAmount = () => {
+  if (formData.data.currency == "CNY") {
+    formData.data.amountCny = formData.data.amount;
+  }
+};
 </script>
 
 <style lang="scss" scoped>

+ 41 - 32
src/views/finance/fundManage/flow/index.vue

@@ -7,9 +7,9 @@
             >添加流水</el-button
           >
           <el-button type="primary" @click="deriveExcel()">导出Excel</el-button>
-          <el-button type="primary" @click="openModalTwo('add')"
+          <!-- <el-button type="primary" @click="openModalTwo('add')"
             >内部转账</el-button
-          >
+          > -->
         </el-form-item>
       </el-form>
     </div>
@@ -167,6 +167,7 @@
                     v-model="formData.data.currency"
                     placeholder="请选择"
                     style="width: 100%"
+                    @change="changeAmount"
                   >
                     <el-option
                       v-for="item in accountCurrency"
@@ -187,6 +188,7 @@
                     :precision="2"
                     :controls="false"
                     :min="0"
+                    @change="changeAmount"
                   />
                 </el-form-item>
               </el-col>
@@ -201,7 +203,7 @@
                   <el-input-number
                     onmousewheel="return false;"
                     v-model="formData.data.amountCny"
-                    placeholder="请输入人民币金额"
+                    placeholder="请输入汇算人民币金额"
                     style="width: 100%"
                     :precision="2"
                     :controls="false"
@@ -434,7 +436,7 @@
                   <el-input-number
                     onmousewheel="return false;"
                     v-model="formData.settleData.amountCny"
-                    placeholder="请输入人民币金额"
+                    placeholder="请输入汇算人民币金额"
                     style="width: 100%"
                     :precision="2"
                     :controls="false"
@@ -657,30 +659,30 @@ const config = computed(() => {
       },
       renderHTML(row) {
         return [
-          row.amountCny
-            ? {}
-            : {
-                attrs: {
-                  label: "汇算",
-                  type: "primary",
-                  text: true,
-                },
-                el: "button",
-                click() {
-                  settleAccounts(row);
-                },
-              },
-          {
-            attrs: {
-              label: "修改",
-              type: "primary",
-              text: true,
-            },
-            el: "button",
-            click() {
-              update(row);
-            },
-          },
+          // row.amountCny
+          //   ? {}
+          //   : {
+          //       attrs: {
+          //         label: "汇算",
+          //         type: "primary",
+          //         text: true,
+          //       },
+          //       el: "button",
+          //       click() {
+          //         settleAccounts(row);
+          //       },
+          //     },
+          // {
+          //   attrs: {
+          //     label: "修改",
+          //     type: "primary",
+          //     text: true,
+          //   },
+          //   el: "button",
+          //   click() {
+          //     update(row);
+          //   },
+          // },
 
           {
             attrs: {
@@ -815,7 +817,7 @@ const formConfig = computed(() => {
       type: "slot",
       prop: "amountCny",
       slotName: "amountCny",
-      label: "人民币金额",
+      label: "汇算人民币金额",
     },
     formData.data.status == "10"
       ? {
@@ -914,6 +916,7 @@ const update = (row) => {
   loadingDialog.value = true;
   proxy.post("/accountRunningWater/detail", { id: row.id }).then((res) => {
     formData.data = res;
+    formData.data.amountCny = row.amountCny;
     loadingDialog.value = false;
   });
   dialogVisible.value = true;
@@ -1201,7 +1204,7 @@ const settleForm = ref(null);
 const settleDialog = ref(false);
 const settleRules = ref({
   amountCny: [
-    { required: true, message: "请输入人民币金额", trigger: "blur" },
+    { required: true, message: "请输入汇算人民币金额", trigger: "blur" },
   ],
 });
 const settleFormOption = reactive({
@@ -1242,7 +1245,7 @@ const settleFormConfig = computed(() => {
       type: "slot",
       prop: "amountCny",
       slotName: "amountCny",
-      label: "人民币金额",
+      label: "汇算人民币金额",
     },
   ];
 });
@@ -1260,7 +1263,7 @@ const submitSettleForm = () => {
       !formData.settleData.amountCny ||
       Number(formData.settleData.amountCny) == 0
     ) {
-      return ElMessage("人民币金额不能为0");
+      return ElMessage("汇算人民币金额不能为0");
     }
     loadingDialog.value = true;
     proxy
@@ -1284,6 +1287,12 @@ const submitSettleForm = () => {
       );
   });
 };
+
+const changeAmount = () => {
+  if (formData.data.currency == "CNY") {
+    formData.data.amountCny = formData.data.amount;
+  }
+};
 </script>
 
 <style lang="scss" scoped>

+ 2 - 2
src/views/process/processApproval/index.vue

@@ -680,7 +680,7 @@ const skipPage = () => {
       });
     } else if (flowForm.flowKey == "account_request_funds_flow") {
       router.replace({
-        path: "/ERP/fundManage/funds",
+        path: "/jxst/account_mag/jxst_funds",
       });
     } else if (flowForm.flowKey == "refund_flow") {
       router.replace({
@@ -688,7 +688,7 @@ const skipPage = () => {
       });
     } else if (flowForm.flowKey == "pay_flow") {
       router.replace({
-        path: "/ERP/purchasePayment/payment",
+        path: "/jxst/pay/payment",
       });
     } else if (flowForm.flowKey == "sale_quotation_flow") {
       if (flowForm.tenantType === "EHSD") {

+ 65 - 32
src/views/salesMange/saleContract/claim/index.vue

@@ -109,7 +109,7 @@
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column
+              <!-- <el-table-column
                 prop="contractMoney"
                 label="换算金额"
                 min-width="150"
@@ -129,7 +129,7 @@
                     />
                   </el-form-item>
                 </template>
-              </el-table-column>
+              </el-table-column> -->
               <el-table-column
                 prop="zip"
                 label="操作"
@@ -365,7 +365,7 @@ const config = computed(() => {
       attrs: {
         label: "操作",
         width: "140",
-        align: "right",
+        align: "center",
       },
       renderHTML(row) {
         return [
@@ -398,33 +398,34 @@ const config = computed(() => {
                 },
                 el: "button",
                 click() {
-                  proxy.$router.replace({
-                    path: "/platform_manage/process/processApproval",
-                    query: {
-                      flowKey: "claim_del_flow",
-                      flowName: "取消认领发起",
-                      random: proxy.random(),
-                      businessId: row.id,
-                    },
-                  });
-                  // ElMessageBox.confirm("是否确定取消认领?", "提示", {
-                  //   confirmButtonText: "确定",
-                  //   cancelButtonText: "取消",
-                  //   type: "warning",
-                  // }).then(() => {
-                  //   // 删除
-                  //   proxy
-                  //     .post("/claim/delete", {
-                  //       id: row.id,
-                  //     })
-                  //     .then((res) => {
-                  //       ElMessage({
-                  //         message: "操作成功",
-                  //         type: "success",
-                  //       });
-                  //       getList();
-                  //     });
+                  // proxy.$router.replace({
+                  //   path: "/platform_manage/process/processApproval",
+                  //   query: {
+                  //     flowKey: "claim_del_flow",
+                  //     flowName: "取消认领发起",
+                  //     random: proxy.random(),
+                  //     businessId: row.id,
+                  //   },
                   // });
+
+                  ElMessageBox.confirm("是否确定取消认领?", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning",
+                  }).then(() => {
+                    // 删除
+                    proxy
+                      .post("/claim/delete", {
+                        id: row.id,
+                      })
+                      .then((res) => {
+                        ElMessage({
+                          message: "操作成功",
+                          type: "success",
+                        });
+                        getList();
+                      });
+                  });
                 },
               }
             : {},
@@ -493,13 +494,39 @@ const formConfig = reactive([
     disabled: true,
   },
   {
+    type: "number",
+    prop: "amountCny",
+    label: "汇算人民币金额",
+    itemWidth: 30,
+    disabled: true,
+    precision: 2,
+    controls: false,
+    min: 0,
+    style: {
+      width: "100%",
+    },
+  },
+  {
+    type: "number",
+    prop: "rate",
+    label: "汇率",
+    itemWidth: 30,
+    disabled: true,
+    precision: 2,
+    controls: false,
+    min: 0,
+    style: {
+      width: "100%",
+    },
+  },
+  {
     type: "title",
     title: "认领信息",
   },
   {
     type: "slot",
     slotName: "detail",
-    label: "",
+    // label: "",
   },
   {
     type: "slot",
@@ -532,12 +559,14 @@ const submitForm = () => {
     }
     for (let i = 0; i < list.length; i++) {
       const e = list[i];
+      e.contractMoney = e.money;
       if (!(e.money > 0)) {
         return ElMessage({
           message: "关联金额不能为0!",
           type: "info",
         });
       }
+
       // if (!(e.moneyCny > 0)) {
       //   return ElMessage({
       //     message: "换算CNY不能为0!",
@@ -589,6 +618,7 @@ const getDtl = (row) => {
       accountManagementId: row.accountManagementId,
       accountManagementName: row.accountManagementName,
       claimTime: row.transactionTime,
+      amountCny: row.amountCny,
       claimContractList: [],
       rate: rowRate.value,
     };
@@ -663,8 +693,8 @@ const handleSelectContrct = (row) => {
     rate: rowRate.value,
     claimType: "",
     moneyCny: null,
-    contractTotal: row.amount,
-    sumContractNotClaimMoney: row.sumContractNotClaimMoney,
+    contractTotal: row.contractAmount,
+    sumContractNotClaimMoney: row.notClaimAmount,
     contractMoney: null,
   });
   return ElMessage({
@@ -757,4 +787,7 @@ const clickRecord = (row) => {
 .tenant {
   padding: 20px;
 }
+::v-deep(.el-input-number .el-input__inner) {
+  text-align: left;
+}
 </style>

+ 33 - 7
src/views/salesMange/saleContract/jxstContractSelect/index.vue

@@ -11,14 +11,33 @@
         :table-events="{
           select: select,
         }"
-        :action-list="[
-          {
-            text: '添加合同',
-            action: () => openModal('add'),
-          },
-        ]"
+        :action-list="[]"
         @get-list="getList"
       >
+        <!-- {
+            text: '添加合同',
+            action: () => openModal('add'),
+          }, -->
+        <template #remark="{ item }">
+          <div style="width: 100%">
+            <el-tooltip placement="bottom" effect="dark">
+              <div
+                style="
+                  overflow: hidden;
+                  white-space: nowrap;
+                  text-overflow: ellipsis;
+                "
+              >
+                {{ item.remark }}
+              </div>
+              <template #content>
+                <div style="width: 300px">
+                  {{ item.remark }}
+                </div>
+              </template>
+            </el-tooltip>
+          </div>
+        </template>
       </byTable>
     </div>
     <el-dialog
@@ -406,6 +425,13 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "到账金额",
+        prop: "claimAmount",
+        width: 100,
+      },
+    },
+    {
+      attrs: {
         label: "是否已结清",
         prop: "isSettled",
         width: 100,
@@ -417,7 +443,7 @@ const config = computed(() => {
     {
       attrs: {
         label: "备注",
-        prop: "remark",
+        slot: "remark",
       },
     },
     {

+ 456 - 408
src/views/salesMange/salesMange/profitSettlement/index.vue

@@ -6,217 +6,90 @@
       :source="sourceList.data"
       :pagination="sourceList.pagination"
       :config="config"
+      :statConfig="statConfig"
       :loading="loading"
       :selectConfig="selectConfig"
-      :statConfig='statConfig'
       highlight-current-row
-      :action-list="[
-        
-      ]"
+      :onMoreSearch="true"
+      @moreSearch="clickMoreSearch"
+      :action-list="[]"
       @get-list="getList"
     >
-      <template #amount="{ item }">
-        <div></div>
-      </template>
+      <!-- {
+          text: '默认汇率',
+          action: () => openModal(),
+        }, -->
     </byTable>
     <div
       style="padding: 0 20px 20px 20px; background-color: white"
       v-if="rateStatus"
     >
-      <el-table v-loading="loading" :data="sourceList.data">
-        <el-table-column label="合同编号">
-          <el-table-column label="" prop="contractCode" width="160">
-            <template #default="{ row }">
-              <div style="width: 100%">
-                <a
-                  style="color: #409eff; cursor: pointer; word-break: break-all"
-                  @click="openDetails(row)"
-                  >{{ row.contractCode }}</a
-                >
-              </div>
-            </template>
-          </el-table-column>
-        </el-table-column>
-        <el-table-column label="客户名称">
-          <el-table-column label="" prop="customerName" min-width="200" />
+      <el-table :data="sourceList.data">
+        <el-table-column label="合同编号" prop="code" width="160" fixed />
+        <el-table-column
+          label="客户名称"
+          prop="customerName"
+          min-width="200"
+          fixed
+        />
+        <el-table-column
+          label="收入总计"
+          prop="incomeAmount"
+          width="140"
+          fixed
+        />
+        <el-table-column
+          label="支出总计"
+          prop="expenditureAmount"
+          width="140"
+          fixed
+        />
+        <el-table-column label="毛利率" width="140" fixed>
+          <template #default="{ row }">
+            <div>{{ parseFloat(row.grossRate).toFixed(2) }}%</div>
+          </template>
         </el-table-column>
-        <el-table-column label="业务员">
-          <el-table-column label="" prop="userName" width="120" />
+        <el-table-column label="毛利" prop="gross" width="140" fixed />
+        <el-table-column label="合同金额" width="140">
+          <template #default="{ row }">
+            <div>{{ row.currency }} {{ row.amount }}</div>
+          </template>
         </el-table-column>
-        <el-table-column label="销售合同金额">
-          <el-table-column label="" width="120">
-            <template #default="{ row }">
-              <div>
-                {{ row.currency }} {{ moneyFormat(row.contractAmount, 2) }}
-              </div>
-            </template>
-          </el-table-column>
+        <el-table-column label="物料成本" width="140">
+          <template #default="{ row }">
+            <div>{{ row.currency }} {{ row.amount }}</div>
+          </template>
         </el-table-column>
-        <el-table-column label="收入(CNY)">
-          <el-table-column label="合同到账" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">{{ moneyFormat(row.contractArrival, 2) }}</span>
-                </template>
-                <div style="max-height: 300px;overflow-y: auto;">
-                  <el-table :data="row.claimList">
-                    <el-table-column width="150" property="date" label="认领金额">
-                      <template #default="{ row }">
-                        <div>{{row.currency}} {{ moneyFormat(row.money, 2) }}</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column width="60" property="rate" label="汇率" />
-                    <el-table-column width="160" property="userName" label="操作人" />
-                    <el-table-column width="190" property="createTime" label="操作时间" />
-                  </el-table>
-                </div>
-                
-              </el-popover>
-              
-            </template>
-          </el-table-column>
-          <el-table-column label="退税" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">{{moneyFormat(row.taxReturnMoney, 2) }}</span>
-                </template>
-                <div style="max-height: 300px;overflow-y: auto;">
-                  <el-table :data="row.taxReturnList">
-                    <el-table-column width="150" property="date" label="交易金额">
-                      <template #default="{ row }">
-                        <div>{{row.currency}} {{ moneyFormat(row.amount, 2) }}</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column width="60" property="rate" label="汇率" />
-                    <el-table-column width="160" property="userName" label="操作人" />
-                    <el-table-column width="190" property="createTime" label="操作时间" />
-                  </el-table>
-                </div>
-              </el-popover>
-            </template>
-          </el-table-column>
-          <el-table-column label="其他收入" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">{{moneyFormat(row.otherIncome, 2) }}</span>
-                </template>
-                
-              </el-popover>
-            </template>
-          </el-table-column>
+
+        <el-table-column label="拖车费" width="140">
+          <template #default="{ row }">
+            <div>{{ row.agencyFee }}</div>
+          </template>
         </el-table-column>
-        <el-table-column label="采购合同金额">
-          <el-table-column label="" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">CNY {{ moneyFormat(row.purchaseAmount, 2) }}</span>
-                </template>
-                <div style="max-height: 300px;overflow-y: auto;">
-                  <el-table :data="row.purchaseList">
-                    <el-table-column width="140" property="date" label="交易金额">
-                      <template #default="{ row }">
-                        <div>{{row.currency}} {{ moneyFormat(row.amount, 2) }}</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column width="120" property="rate" label="汇率" />
-                    <el-table-column min-width="130" property="purchaseName" label="业务员" />
-                    <el-table-column width="160" property="createTime" label="操作时间" />
-                  </el-table>
-                </div>
-              </el-popover>
-            </template>
-          </el-table-column>
+
+        <el-table-column label="验货红包" width="140">
+          <template #default="{ row }">
+            <div>
+              {{ row.inspectionRedPack }}
+            </div>
+          </template>
         </el-table-column>
-        <el-table-column label="支出(CNY)">
-          <el-table-column label="支付货款" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">{{ moneyFormat(row.payForGoods, 2) }}</span>
-                </template>
-                <div style="max-height: 300px;overflow-y: auto;">
-                  <el-table :data="row.payList">
-                    <el-table-column width="150" property="date" label="交易金额">
-                      <template #default="{ row }">
-                        <div>{{row.currency}} {{ moneyFormat(row.amount, 2) }}</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column width="60" property="rate" label="汇率" />
-                    <el-table-column width="160" property="userName" label="操作人" />
-                    <el-table-column width="190" property="createTime" label="操作时间" />
-                  </el-table>
-                </div>
-              </el-popover>
-            </template>
-          </el-table-column>
-          <el-table-column label="其他支出" width="120">
-            <template #default="{ row }">
-              <el-popover placement="top" :width="580" trigger="click">
-                <template #reference>
-                  <span class="table-btn">{{moneyFormat(row.otherExpenses, 2) }}</span>
-                </template>
-                <div style="max-height: 300px;overflow-y: auto;">
-                  <el-table :data="row.accountRequestFundsDetailList">
-                    <el-table-column width="150" property="date" label="交易金额">
-                      <template #default="{ row }">
-                        <div>{{row.currency}} {{ moneyFormat(row.amount, 2) }}</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column width="60" property="rate" label="汇率" />
-                    <el-table-column width="160" property="userName" label="操作人" />
-                    <el-table-column width="190" property="createTime" label="操作时间" />
-                  </el-table>
-                </div>
-              </el-popover>
-            </template>
-          </el-table-column>
+        <el-table-column label="佣金" width="140">
+          <template #default="{ row }">
+            <div>{{ row.commission }}</div>
+          </template>
         </el-table-column>
-        <el-table-column label="统计">
-          <el-table-column label="收入合计" width="120">
-            <template #default="{ row }">
-              <div>{{ moneyFormat(row.totalIncome, 2) }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column label="支出合计" width="120">
-            <template #default="{ row }">
-              <div>{{ moneyFormat(row.totalExpenses, 2) }}</div>
-            </template>
-          </el-table-column>
-          
-          <el-table-column label="毛利" width="120"> 
-            <template #default="{ row }">
-              <div>{{ moneyFormat(row.grossProfit, 2) }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column label="毛利率" prop="grossProfitMargin" width="120">
-            <template #default="{ row }">
-              <div style="width: 100%">{{ row.grossProfitMargin }}%</div>
-            </template>
-          </el-table-column>
+        <el-table-column label="其他" width="140">
+          <template #default="{ row }">
+            <div>{{ row.other }}</div>
+          </template>
         </el-table-column>
-        <el-table-column label="操作" align="center" width="170" fixed="right">
+
+        <el-table-column label="操作" align="center" width="160" fixed="right">
           <template #default="{ row }">
             <div>
-              <el-button type="primary" @click="changeExchangeRate(row)" link
-                >调整汇率</el-button
-              >
-              <el-button
-                type="primary"
-                @click="clickSettlement(row)"
-                v-if="row.settlementStatus === 0"
-                link
-                >结算</el-button
-              >
-              <el-button
-                type="primary"
-                @click="clickCancelSettlement(row)"
-                v-else
-                link
-                >取消结算</el-button
+              <el-button type="primary" @click="changeBudget(row)" link
+                >预算</el-button
               >
             </div>
           </template>
@@ -267,6 +140,7 @@
                   :inline-message="true"
                 >
                   <el-input-number
+                    onmousewheel="return false;"
                     v-model="row.rate"
                     placeholder="请输入兑 CHY 汇率"
                     style="width: 100%"
@@ -320,10 +194,11 @@
                   :inline-message="true"
                 >
                   <el-input-number
+                    onmousewheel="return false;"
                     v-model="row.rate"
                     placeholder="请输入兑 CHY 汇率"
                     style="width: 100%"
-                    :precision="4"
+                    :precision="6"
                     :controls="false"
                     :min="0"
                   />
@@ -340,13 +215,146 @@
         >
       </template>
     </el-dialog>
+
+    <el-dialog title="预算" v-if="openBudget" v-model="openBudget" width="400">
+      <byForm
+        :formConfig="formBudgetConfig"
+        :formOption="formOption"
+        v-model="formBudgetData.data"
+        ref="budget"
+      >
+        <template #budgetMoney>
+          <div style="width: 100%">
+            <el-form-item label="拖车费" prop="trailerFee">
+              <el-input
+                v-model="formBudgetData.data.trailerFee"
+                placeholder="请输入拖车费"
+                class="input-with-select"
+              >
+                <template #prepend>
+                  <el-select
+                    v-model="formBudgetData.data.trailerFeeCurrency"
+                    placeholder="请选择货币"
+                    style="width: 115px"
+                    disabled
+                  >
+                    <el-option
+                      v-for="(item, index) in accountCurrency"
+                      :key="index"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </template>
+              </el-input>
+            </el-form-item>
+
+            <el-form-item
+              label="验货红包"
+              prop="inspectionRedPack"
+              style="margin-top: 20px"
+            >
+              <el-input
+                v-model="formBudgetData.data.inspectionRedPack"
+                placeholder="请输入验货红包"
+                class="input-with-select"
+              >
+                <template #prepend>
+                  <el-select
+                    v-model="formBudgetData.data.inspectionRedPackCurrency"
+                    placeholder="请选择货币"
+                    style="width: 115px"
+                    disabled
+                  >
+                    <el-option
+                      v-for="(item, index) in accountCurrency"
+                      :key="index"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </template>
+              </el-input>
+            </el-form-item>
+            <el-form-item
+              label="佣金"
+              prop="commission"
+              style="margin-top: 20px"
+            >
+              <el-input
+                v-model="formBudgetData.data.commission"
+                placeholder="请输入佣金"
+                class="input-with-select"
+              >
+                <template #prepend>
+                  <el-select
+                    v-model="formBudgetData.data.commissionCurrency"
+                    placeholder="请选择货币"
+                    style="width: 115px"
+                    disabled
+                  >
+                    <el-option
+                      v-for="(item, index) in accountCurrency"
+                      :key="index"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </template>
+              </el-input>
+            </el-form-item>
+            <el-form-item label="其他" prop="other" style="margin-top: 20px">
+              <el-input
+                v-model="formBudgetData.data.other"
+                placeholder="请输入其他"
+                class="input-with-select"
+              >
+                <template #prepend>
+                  <el-select
+                    v-model="formBudgetData.data.otherCurrency"
+                    placeholder="请选择货币"
+                    style="width: 115px"
+                    disabled
+                  >
+                    <el-option
+                      v-for="(item, index) in accountCurrency"
+                      :key="index"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </template>
+              </el-input>
+            </el-form-item>
+          </div>
+        </template>
+      </byForm>
+      <template #footer>
+        <el-button @click="openBudget = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitBudgetForm()" size="large"
+          >确 定</el-button
+        >
+      </template>
+    </el-dialog>
+
     <el-dialog
-      title="合同详情"
-      v-if="openDetailsDialog"
-      v-model="openDetailsDialog"
-      width="1100"
+      :title="'高级检索'"
+      v-model="moreSearchDialog"
+      width="500px"
+      destroy-on-close
     >
-      <ContractDetails :contractId="currentContractId"></ContractDetails>
+      <byForm
+        :formConfig="formSearchConfig"
+        :formOption="formOption"
+        v-model="sourceList.pagination"
+      >
+      </byForm>
+      <template #footer>
+        <el-button @click="moreSearchReset" size="large">重置</el-button>
+        <el-button @click="moreSearchQuery" type="primary" size="large"
+          >搜索</el-button
+        >
+      </template>
     </el-dialog>
   </div>
 </template>
@@ -357,21 +365,10 @@ import byTable from "@/components/byTable/index";
 import byForm from "@/components/byForm/index";
 import useUserStore from "@/store/modules/user";
 import { ElMessage } from "element-plus";
-import ContractDetails from "@/components/contractCom/contractDetails.vue";
 
 const { proxy } = getCurrentInstance();
 const accountCurrency = ref([]);
 const userList = ref([]);
-const settlementStatus = ref([
-  {
-    label: "未结算",
-    value: "0",
-  },
-  {
-    label: "已结算",
-    value: "1",
-  },
-]);
 const sourceList = ref({
   data: [],
   pagination: {
@@ -379,46 +376,98 @@ const sourceList = ref({
     pageNum: 1,
     pageSize: 10,
     keyword: "",
-    settlementStatus: "",
     userId: "",
-    isArrival: "1",
+    userName: "",
+    contractCode: "",
+    customerName: "",
+    beginTime: "",
+    endTime: "",
   },
 });
 const loading = ref(false);
-
-let statConfig = ref([])
-
 const selectConfig = computed(() => {
   return [
-    {
-      label: "是否完结",
-      prop: "settlementStatus",
-      data: settlementStatus.value,
-    },
-    {
-      label: "业务员",
-      prop: "userId",
-      data: userList.value,
-    },
-    {
-      label: "是否到账",
-      prop: "isArrival",
-      data: [
-        {
-          label: "未到账",
-          value: "0",
-        },
-        {
-          label: "已到账",
-          value: "1",
-        },
-      ],
-    },
+    // {
+    //   label: "业务员",
+    //   prop: "userId",
+    //   data: userList.value,
+    // },
   ];
 });
 const config = computed(() => {
   return [];
 });
+const headerData = ref({
+  grossProfitMargin: 0,
+});
+const statConfig = computed(() => [
+  {
+    label: "统计",
+    data: [
+      //一个卡牌多数据配置
+      {
+        label: "支出统计(CNY)",
+        type: 5,
+        data: [
+          {
+            label: "物料成本",
+            num: proxy.moneyFormat(headerData.value.peritectoidSumAmount, 2),
+            color: "#FF6F67",
+          },
+          {
+            label: "拖车费",
+            num: proxy.moneyFormat(headerData.value.trailerFeeSumAmount, 2),
+            color: "#FF6F67",
+          },
+          {
+            label: "验货红包",
+            num: proxy.moneyFormat(
+              headerData.value.inspectionRedPackSumAmount,
+              2
+            ),
+            color: "#FF6F67",
+          },
+          {
+            label: "佣金",
+            num: proxy.moneyFormat(headerData.value.commissionSumAmount, 2),
+            color: "#FF6F67",
+          },
+          {
+            label: "其他",
+            num: proxy.moneyFormat(headerData.value.otherSumAmount, 2),
+            color: "#FF6F67",
+          },
+        ],
+      },
+      {
+        label: "收支统计(CNY)",
+        type: 1,
+        data: [
+          {
+            label: "总收入",
+            num: proxy.moneyFormat(headerData.value.totalIncomeSumAmount, 2),
+            color: "#0084ff",
+          },
+          {
+            label: "总支出",
+            num: proxy.moneyFormat(headerData.value.totalExpensesSumAmount, 2),
+            color: "#0084ff",
+          },
+          {
+            label: "总毛利",
+            num: proxy.moneyFormat(headerData.value.grossProfitSum, 2),
+            color: "#0084ff",
+          },
+          {
+            label: "毛利率",
+            num: headerData.value.grossProfitMargin + " %",
+            color: "#0084ff",
+          },
+        ],
+      },
+    ],
+  },
+]);
 const getDict = () => {
   proxy
     .post("/dictTenantData/page", {
@@ -458,9 +507,8 @@ const getDict = () => {
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  getTotal()
   proxy
-    .post("/saleStatement/getProfitSettlement", sourceList.value.pagination)
+    .post("/contract/getProfitBudgetPage", sourceList.value.pagination)
     .then((res) => {
       sourceList.value.data = res.rows;
       sourceList.value.pagination.total = res.total;
@@ -468,109 +516,12 @@ const getList = async (req) => {
         loading.value = false;
       }, 200);
     });
+  proxy
+    .post("/contract/getProfitBudgetHeadStatistic", sourceList.value.pagination)
+    .then((res) => {
+      headerData.value = res;
+    });
 };
-//获取统计数据
-const getTotal = () => {
-  proxy.post("/saleStatement/getProfitSettlementHead", sourceList.value.pagination).then(
-    (res) => {
-      
-      statConfig.value = [{
-        label: '统计',
-        data:[
-          //一个卡牌多数据配置
-          {
-            label:'订单统计(CNY)',
-            type:2,
-            data:[
-              {
-                label:'订单数',
-                num:res.contractCount,
-                color:'#9E64ED',
-              },
-              {
-                label:'销售总金额',
-                num:res.contractSumAmount,
-                color:'#9E64ED',
-              },
-              {
-                label:'采购总金额',
-                num:res.purchaseSumAmount,
-                color:'#9E64ED',
-              },
-            ]
-          },
-          {
-            label:'收入统计(CNY)',
-            type:3,
-            data:[
-              {
-                label:'合同到账',
-                num:res.contractArrivalSumAmount,
-                color:'#FF9315',
-              },
-              {
-                label:'退税',
-                num:res.taxReturnMoneySumAmount,
-                color:'#FF9315',
-              },
-              {
-                label:'其他收入',
-                num:res.otherIncomeSumAmount,
-                color:'#FF9315',
-              },
-            ]
-          },
-          {
-            label:'支出统计(CNY)',
-            type:5,
-            data:[
-              {
-                label:'支付货款',
-                num:res.payForGoodsSumAmount,
-                color:'#F94539',
-              },
-              {
-                label:'其他支出',
-                num:res.otherExpensesSumAmount,
-                color:'#F94539',
-              },
-            ]
-          },
-          {
-            label:'收支统计(CNY)',
-            type:1,
-            data:[
-              {
-                label:'总收入',
-                num:res.totalIncomeSumAmount,
-                color:'#0084FF',
-              },
-              {
-                label:'总支出',
-                num:res.totalExpensesSumAmount,
-                color:'#0084FF',
-              },
-              {
-                label:'总毛利',
-                num:res.grossProfitSum,
-                color:'#0084FF',
-              },
-              {
-                label:'毛利率',
-                num:res.GrossProfitMargin + '%',
-                color:'#0084FF',
-              },
-            ]
-          },
-        ],
-      }]
-    },
-    (err) => {
-      
-    }
-  );
-}
-
 const rateStatus = ref(false);
 const judgeRate = () => {
   proxy.post("/currencyRate/list", {}).then(
@@ -733,39 +684,42 @@ const changeExchangeRate = (row) => {
   openChange.value = true;
   if (row.currencyRateJson) {
     let currencyRateJson = JSON.parse(row.currencyRateJson);
-    //row.currencyList和currencyRateJson进行匹配
-    for (let i = 0; i < row.currencyList.length; i++) {
-      const element = row.currencyList[i];
-      for (let j = 0; j < currencyRateJson.length; j++) {
-        const jelement = currencyRateJson[j];
-        if(element.id == jelement.id){
-          element.rate = jelement.rate;
+    formChangeData.data.list = formChangeData.data.list.map((item) => {
+      for (let i = 0; i < currencyRateJson.length; i++) {
+        if (item.type === currencyRateJson[i].type) {
+          item.rate = currencyRateJson[i].rate;
           break;
         }
       }
-    }
-    
-    formChangeData.data.list = row.currencyList
-    // formChangeData.data.list = formChangeData.data.list.map((item) => {
-    //   for (let i = 0; i < currencyRateJson.length; i++) {
-    //     if (item.type === currencyRateJson[i].type) {
-    //       item.rate = currencyRateJson[i].rate;
-    //       break;
-    //     }
-    //   }
-    //   return {
-    //     ...item,
-    //   }; 
-    // });
-    console.log(row.currencyList)
+      return {
+        ...item,
+      };
+    });
     loadingDialog.value = false;
   } else {
-    formChangeData.data = {
-      id: row.contractId,
-      list: row.currencyList,
-    };
+    proxy.post("/currencyRate/list", {}).then(
+      (res) => {
+        if (res && res.length > 0 && formChangeData.data.list.length > 0) {
+          formChangeData.data.list = formChangeData.data.list.map((item) => {
+            for (let i = 0; i < res.length; i++) {
+              if (item.type === res[i].type) {
+                item.rate = res[i].rate;
+                break;
+              }
+            }
+            return {
+              ...item,
+            };
+          });
+        }
+        loadingDialog.value = false;
+      },
+      (err) => {
+        console.log(err);
+        loadingDialog.value = false;
+      }
+    );
   }
-  loadingDialog.value = false
 };
 const submitChangeForm = () => {
   change.value.handleSubmit(() => {
@@ -773,10 +727,10 @@ const submitChangeForm = () => {
     let data = {};
     data.id = formChangeData.data.id;
     data.currencyRateJson = JSON.stringify(formChangeData.data.list);
-    proxy.post("/saleStatement/update", data).then(
+    proxy.post("/contract/edit", data).then(
       () => {
         ElMessage({
-          message: "操作成功",
+          message: "保存成功",
           type: "success",
         });
         openChange.value = false;
@@ -789,47 +743,145 @@ const submitChangeForm = () => {
     );
   });
 };
-const clickSettlement = (row) => {
-  const data = {
-    ...row,
-    grossGrofit: row.grossProfit,
-    grossRofitMargin: row.grossProfitMargin,
-    contractCurrency: row.currency,
-    purchaseCurrency: "CNY",
-    taxReturnAmount: row.taxReturnMoney,
-    settlementStatus: 1,
+const openBudget = ref(false);
+const budget = ref(null);
+const formBudgetData = reactive({
+  data: {},
+});
+const formBudgetConfig = computed(() => {
+  return [
+    {
+      type: "title",
+      title: "合同信息",
+      label: "",
+    },
+    {
+      type: "input",
+      prop: "code",
+      label: "合同编号",
+      itemType: "text",
+      disabled: true,
+    },
+    {
+      type: "input",
+      prop: "customerName",
+      label: "客户名称",
+      itemType: "text",
+      disabled: true,
+    },
+    {
+      type: "input",
+      prop: "userName",
+      label: "业务员",
+      itemType: "text",
+      disabled: true,
+    },
+    {
+      type: "title",
+      title: "预算金额",
+      label: "",
+    },
+    {
+      type: "slot",
+      slotName: "budgetMoney",
+      label: "",
+    },
+  ];
+});
+const changeBudget = (row) => {
+  let currency = "CNY";
+  if (accountCurrency.value && accountCurrency.value.length > 0) {
+    currency = accountCurrency.value[0].value;
+  }
+  formBudgetData.data = {
+    contractId: row.contractId,
+    code: row.code,
+    customerName: row.customerName,
+    userName: row.userName,
+    trailerFeeCurrency: currency,
+    trailerFee: row.trailerFee,
+    customsFeeCurrency: currency,
+    customsFee: row.customsFee,
+    agencyFeeCurrency: currency,
+    agencyFee: row.agencyFee,
+    portMixedFeeCurrency: currency,
+    portMixedFee: row.portMixedFee,
+    inspectionRedPackCurrency: currency,
+    inspectionRedPack: row.inspectionRedPack,
+    commissionCurrency: currency,
+    commission: row.commission,
+    otherCurrency: currency,
+    other: row.other,
   };
-  proxy.post("/saleStatement/settlement", data).then(() => {
+  openBudget.value = true;
+};
+const submitBudgetForm = () => {
+  proxy.post("/contractBudget/budget", formBudgetData.data).then(() => {
     ElMessage({
-      message: "操作成功",
+      message: "保存成功",
       type: "success",
     });
+    openBudget.value = false;
     getList();
   });
 };
-const clickCancelSettlement = (row) => {
-  proxy
-    .post("/saleStatement/settlement", {
-      ...row,
-      grossGrofit: row.grossProfit,
-      grossRofitMargin: row.grossProfitMargin,
-      contractCurrency: row.currency,
-      purchaseCurrency: "CNY",
-      settlementStatus: 0,
-    })
-    .then(() => {
-      ElMessage({
-        message: "操作成功",
-        type: "success",
-      });
-      getList();
-    });
+
+const formSearchConfig = computed(() => {
+  return [
+    {
+      type: "input",
+      label: "合同编号",
+      prop: "contractCode",
+      itemWidth: 100,
+    },
+    {
+      type: "input",
+      label: "客户名称",
+      prop: "customerName",
+      itemWidth: 100,
+    },
+    {
+      type: "date",
+      itemType: "datetime",
+      label: "合同时间",
+      prop: "beginTime",
+      placeholder: "合同开始时间",
+      itemWidth: 50,
+      clearable: true,
+    },
+    {
+      type: "date",
+      itemType: "datetime",
+      label: " ",
+      prop: "endTime",
+      placeholder: "合同结束时间",
+      itemWidth: 50,
+      clearable: true,
+    },
+  ];
+});
+const moreSearchDialog = ref(false);
+const clickMoreSearch = () => {
+  moreSearchDialog.value = true;
 };
-const openDetailsDialog = ref(false);
-const currentContractId = ref("");
-const openDetails = (row) => {
-  currentContractId.value = row.contractId;
-  openDetailsDialog.value = true;
+const moreSearchQuery = () => {
+  moreSearchDialog.value = false;
+  getList();
+};
+const moreSearchReset = () => {
+  sourceList.value.pagination = {
+    total: 0,
+    pageNum: sourceList.value.pagination.pageNum,
+    pageSize: sourceList.value.pagination.pageSize,
+    keyword: "",
+    userId: "",
+    userName: "",
+    contractCode: "",
+    customerName: "",
+    beginTime: "",
+    endTime: "",
+  };
+  moreSearchQuery();
 };
 </script>
 
@@ -840,8 +892,4 @@ const openDetails = (row) => {
 ::v-deep(.el-input-number .el-input__inner) {
   text-align: left;
 }
-.table-btn{
-  cursor: pointer;
-  color: #409EFF;
-}
 </style>