Эх сурвалжийг харах

Merge branch 'dev0.3' of http://36.137.93.232:3000/hf/byte-sailing-new into dev0.3

cz 1 жил өмнө
parent
commit
a469c3ba1e

+ 21 - 3
src/components/process/Contract.vue

@@ -373,8 +373,16 @@
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="7">
-              <el-form-item label="交货期限" prop="deliveryTime">
-                <el-date-picker v-model="formData.data.deliveryTime" type="date" placeholder="请选择交货期限" value-format="YYYY-MM-DD" />
+              <el-form-item label="交货期限 (天)" prop="deliveryTime">
+                <!-- <el-date-picker v-model="formData.data.deliveryTime" type="date" placeholder="请选择交货期限" value-format="YYYY-MM-DD" /> -->
+                <el-input-number
+                  onmousewheel="return false;"
+                  v-model="formData.data.deliveryTime"
+                  placeholder="请输入交货期限"
+                  style="width: 100%"
+                  :precision="0"
+                  :controls="false"
+                  :min="0" />
               </el-form-item>
             </el-col>
             <el-col :span="7">
@@ -475,6 +483,7 @@ import { ElMessage } from "element-plus";
 import Editor from "@/components/Editor/index.vue";
 import selectCity from "@/components/selectCity/index.vue";
 import { useRoute } from "vue-router";
+import Pubsub from "pubsub-js";
 
 const route = useRoute();
 // 接收父组件的传值
@@ -604,7 +613,7 @@ const rules = ref({
   payName: [{ required: true, message: "请输入收费项目", trigger: ["change", "blur"] }],
   currency: [{ required: true, message: "请选择币种", trigger: "change" }],
   effective: [{ required: true, message: "请输入报价有效期", trigger: "blur" }],
-  deliveryTime: [{ required: true, message: "请选择交货期限", trigger: "change" }],
+  deliveryTime: [{ required: true, message: "请选择交货期限", trigger: "blur" }],
   paymentMethod: [{ required: true, message: "请选择付款方式", trigger: "change" }],
   advanceRatio: [{ required: true, message: "请输入预付比例", trigger: "blur" }],
   shroffAccountId: [{ required: true, message: "请选择收款账号", trigger: "change" }],
@@ -809,7 +818,14 @@ const changeCustomer = (val) => {
     formData.data.buyPostalCode = "";
     formData.data.buyAddress = "";
   }
+  getDecisionAids()
 };
+const getDecisionAids = () => {
+  let data = {
+    
+  }
+  // Pubsub.publish("refreshDecisionAids", formData.data.buyCorporationId);
+}
 const createFilter = (queryString) => {
   return (restaurant) => {
     return restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0;
@@ -888,6 +904,7 @@ const pushGoods = (goods) => {
       type: "success",
     });
     openProduct.value = false;
+    getDecisionAids()
   } else {
     ElMessage("请选择至少一件商品");
   }
@@ -1011,6 +1028,7 @@ const handleRemove = async (index, row) => {
   formData.data.contractShipmentList = formData.data.contractShipmentList.filter((item) => item.productId !== row.productId);
   await formData.data.contractProductList.splice(index, 1);
   totalAmount();
+  getDecisionAids()
 };
 const calculationAmount = () => {
   nextTick(() => {

+ 61 - 21
src/views/salesMange/saleContract/contract/index.vue

@@ -27,9 +27,17 @@
             <span>{{ moneyFormat(item.refundMoney, 2) }}</span>
           </div>
         </template>
-        <template #advanceRatio="{ item }">
+        <template #scale="{ item }">
           <div>
-            <span>{{ item.advanceRatio }}%</span>
+            {{ computeScale(item) }}
+          </div>
+        </template>
+        <template #refundStatusNew="{ item }">
+          <div>
+            <span v-if="item.refundStatus && item.refundStatus !== 0">
+              {{ dictValueLabel(item.refundStatus, refundStatusNew) }}
+            </span>
+            <span v-else>{{ dictValueLabel(item.refundStatusNew, refundStatusNew) }}</span>
           </div>
         </template>
       </byTable>
@@ -311,7 +319,7 @@ const config = computed(() => {
       attrs: {
         label: "归属公司",
         prop: "sellCorporationId",
-        "min-width": 220,
+        "min-width": 160,
       },
       render(type) {
         let text = "";
@@ -352,7 +360,7 @@ const config = computed(() => {
       attrs: {
         label: "客户",
         prop: "buyCorporationId",
-        "min-width": 220,
+        "min-width": 180,
       },
       render(type) {
         let text = "";
@@ -369,21 +377,28 @@ const config = computed(() => {
       attrs: {
         label: "版本号",
         prop: "version",
-        width: 120,
+        width: 80,
       },
     },
     {
       attrs: {
         label: "合同金额",
         slot: "amount",
-        width: 140,
+        width: 120,
       },
     },
     {
       attrs: {
         label: "已到账金额",
         slot: "refundMoney",
-        width: 140,
+        width: 120,
+      },
+    },
+    {
+      attrs: {
+        label: "到账比例",
+        slot: "scale",
+        width: 100,
       },
     },
     {
@@ -407,7 +422,7 @@ const config = computed(() => {
       attrs: {
         label: "审批状态",
         prop: "status",
-        width: 140,
+        width: 120,
       },
       render(type) {
         let text = "";
@@ -423,29 +438,42 @@ const config = computed(() => {
     {
       attrs: {
         label: "到款状态",
-        prop: "refundStatusNew",
-        width: 140,
-      },
-      render(type) {
-        let text = "";
-        if (refundStatusNew.value && refundStatusNew.value.length > 0) {
-          let data = refundStatusNew.value.filter((item) => item.value == type);
-          if (data && data.length > 0) {
-            text = data[0].label;
-          }
-        }
-        return text;
+        slot: "refundStatusNew",
+        width: 120,
       },
+      // render(type) {
+      //   let text = "";
+      //   if (refundStatusNew.value && refundStatusNew.value.length > 0) {
+      //     let data = refundStatusNew.value.filter((item) => item.value == type);
+      //     if (data && data.length > 0) {
+      //       text = data[0].label;
+      //     }
+      //   }
+      //   return text;
+      // },
     },
     {
       attrs: {
         label: "操作",
-        width: "120",
+        width: "180",
         align: "center",
         fixed: "right",
       },
       renderHTML(row) {
         return [
+          !row.refundStatus && row.refundStatusNew == 10
+            ? {
+                attrs: {
+                  label: "到款完成",
+                  type: "primary",
+                  text: true,
+                },
+                el: "button",
+                click() {
+                  clickAccomplish(row);
+                },
+              }
+            : {},
           {
             attrs: {
               label: "打印",
@@ -649,6 +677,18 @@ const statisticsTwo = (label, index) => {
   }
   return num;
 };
+const computeScale = (item) => {
+  let text = 0;
+  if (item.refundMoney && Number(item.refundMoney) > 0 && item.amount && Number(item.amount) > 0) {
+    text = parseFloat(Number(item.refundMoney) / Number(item.amount)).toFixed(2);
+  }
+  return text + "%";
+};
+const clickAccomplish = (row) => {
+  proxy.post("/contract/toTheAccount", { id: row.id }).then(() => {
+    getList();
+  });
+};
 </script>
 
 <style lang="scss" scoped>