zuozhengqing
2023-10-16 8e5ec095fc4ba9cac7c91b681b06846d3e4155ae
src/views/sales/salesDetails/DetailSpecification.vue
@@ -19,19 +19,19 @@
            <li v-for="(item, i) in topList" :key="i">
              <div class="left1">
                <div class="content-title">{{ item.left1Str + ":" }}</div>
                <div class="content-data">{{ item.left1Value }}</div>
                <div class="content-data">{{ item.left1Value ? item.left1Value : "--" }}</div>
              </div>
              <div class="left2">
                <div class="content-title">{{ item.left2Str + ":" }}</div>
                <div class="content-data">{{ item.left2Value }}</div>
                <div class="content-data">{{ item.left2Value ? item.left2Value : "--" }}</div>
              </div>
              <div class="right1">
                <div class="content-title">{{ item.right1Str + ":" }}</div>
                <div class="content-data">{{ item.right1Value }}</div>
                <div class="content-data">{{ item.right1Value ? item.right1Value : "--" }}</div>
              </div>
              <div class="right2">
                <div class="content-title">{{ item.right2Str + ":" }}</div>
                <div class="content-data">{{ item.right2Value }}</div>
                <div class="content-data">{{ item.right2Value ? item.right2Value : "--" }}</div>
              </div>
            </li>
          </ul>
@@ -48,7 +48,7 @@
            <el-tab-pane label="销售发票" name="invoice"></el-tab-pane>
            <el-tab-pane label="销售退货单" name="return"> </el-tab-pane>
            <el-tab-pane label="服务合同" name="serviceContract"></el-tab-pane>
            <el-tab-pane label="销售退款单" name="refundForm"></el-tab-pane>
            <!-- <el-tab-pane label="销售退款单" name="refundForm"></el-tab-pane> -->
          </el-tabs>
        </div>
        <div v-if="activeName === 'first'" class="detail">
@@ -64,11 +64,11 @@
                <li v-for="(item, i) in basicInfoList" :key="i">
                  <div class="left">
                    <div class="content-title">{{ item.leftStr + ":" }}</div>
                    <div class="content-data">{{ item.leftValue }}</div>
                    <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
                  </div>
                  <div class="right">
                    <div class="content-title">{{ item.rightStr }}</div>
                    <div class="content-data">{{ item.rightValue }}</div>
                  <div v-if="item.rightStr" class="right">
                    <div class="content-title">{{ item.rightStr + ":" }}</div>
                    <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
                  </div>
                </li>
              </ul>
@@ -86,11 +86,11 @@
                <li v-for="(item, i) in dynamicInfoList" :key="i">
                  <div class="left">
                    <div class="content-title">{{ item.leftStr + ":" }}</div>
                    <div class="content-data">{{ item.leftValue }}</div>
                    <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
                  </div>
                  <div class="right">
                    <div class="content-title">{{ item.rightStr }}</div>
                    <div class="content-data">{{ item.rightValue }}</div>
                  <div v-if="item.rightStr" class="right">
                    <div class="content-title">{{ item.rightStr + ":" }}</div>
                    <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
                  </div>
                </li>
              </ul>
@@ -108,11 +108,11 @@
                <li v-for="(item, i) in deliveryInfoList" :key="i">
                  <div class="left">
                    <div class="content-title">{{ item.leftStr + ":" }}</div>
                    <div class="content-data">{{ item.leftValue }}</div>
                    <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
                  </div>
                  <div class="right">
                    <div class="content-title">{{ item.rightStr }}</div>
                    <div class="content-data">{{ item.rightValue }}</div>
                  <div v-if="item.rightStr" class="right">
                    <div class="content-title">{{ item.rightStr + ":" }}</div>
                    <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
                  </div>
                </li>
              </ul>
@@ -129,9 +129,10 @@
              <div class="termsConditions">
                <div class="content-title">{{ "条件与条款" + ":" }}</div>
                <div class="content-termsConditions">
                  <ul>
                  {{ "\n" + detailConfig.infomation.conditions }}
                  <!-- <ul>
                    <li v-for="(item, index) in Status.termsConditions" :key="index">{{ item }}</li>
                  </ul>
                  </ul> -->
                </div>
              </div>
            </div>
@@ -190,22 +191,22 @@
          </div>
        </div>
        <div v-if="activeName === 'collection'" class="second">
          <!-- <FollowupRecords :isDetail="true" /> -->
          <CollectionPlan :isDetail="true" :add-config="addConfig" :source-type="1" />
        </div>
        <div v-if="activeName === 'receipt'" class="second">
          <!-- <FollowupRecords :isDetail="true" /> -->
          <Receipt :isDetail="true" :add-config="addConfig" :source-type="1" />
        </div>
        <div v-if="activeName === 'invoice'" class="second">
          <!-- <FollowupRecords :isDetail="true" /> -->
          <SaleInvoice :isDetail="true" :add-config="addConfig" :source-type="1" />
        </div>
        <div v-if="activeName === 'return'" class="second">
          <SalesReturn :isDetail="true" />
          <SalesReturn :isDetail="true" :add-config="addConfig" />
        </div>
        <div v-if="activeName === 'serviceContract'" class="second">
          <ServiceContract :isDetail="true" />
          <ServiceContract :isDetail="true" :add-config="addConfig" />
        </div>
        <div v-if="activeName === 'refundForm'" class="second">
          <RefundForm :isDetail="true" />
          <RefundForm :isDetail="true" :add-config="addConfig" />
        </div>
      </div>
    </el-drawer>
@@ -218,6 +219,9 @@
import RefundForm from "@/views/sales/refundForm"
import Status from "@/common/const/salesFixedStatus"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import CollectionPlan from "@/views/other/payment/collectionPlan"
import Receipt from "@/views/other/payment/receipt"
import SaleInvoice from "@/views/other/payment/saleInvoice"
export default {
  name: "DetailSpecification",
  props: {
@@ -231,7 +235,7 @@
      }
    }
  },
  components: { SalesReturn, ServiceContract, RefundForm, CommonFormTableView },
  components: { SalesReturn, ServiceContract, RefundForm, CommonFormTableView, CollectionPlan, Receipt, SaleInvoice },
  computed: {},
  data() {
    return {
@@ -253,25 +257,38 @@
      showSummary: {
        show: true,
        total: true,
        sumProp: ["other1", "other2", "other3", "other4"],
        mergeNumber: 3
        sumProp: ["amount", "price", "total"],
        mergeNumber: 1
      },
      productTableList: {}
      productTableList: {},
      addConfig: {}
    }
  },
  created() {
    this.setData()
    this.setData(this.detailConfig.infomation)
    this.addConfig = {
      id_name: "sale_detail_name",
      keywordType: "销售明细单",
      keyword: this.detailConfig.infomation.number,
      id: this.detailConfig.infomation.id,
      common_name: this.detailConfig.infomation.name,
      client_name: this.detailConfig.infomation.client.name,
      contact_name: this.detailConfig.infomation.contact_name,
      client_id: this.detailConfig.infomation.client_id,
      contact_id: this.detailConfig.infomation.contact_id,
      amountTotal: this.detailConfig.infomation.amountTotal
    }
    this.setTableForm()
  },
  mounted() {},
  methods: {
    setData() {
    setData(item) {
      this.topList = [
        {
          left1Str: "客户名称",
          left1Value: "",
          left1Value: item.client.name,
          left2Str: "合计",
          left2Value: "",
          left2Value: item.amountTotal,
          right1Str: "已收金额",
          right1Value: "0.00",
          right2Str: "已开票金额",
@@ -281,7 +298,7 @@
          left1Str: "签约日期",
          left1Value: "",
          left2Str: "销售负责人",
          left2Value: "",
          left2Value: item.Member.username,
          right1Str: "应收金额",
          right1Value: "0.00",
          right2Str: "未开票金额",
@@ -291,25 +308,25 @@
      this.basicInfoList = [
        {
          leftStr: "客户名称",
          leftValue: "",
          leftValue: item.client.name,
          rightStr: "订单编号",
          rightValue: ""
          rightValue: item.number
        },
        {
          leftStr: "销售机会",
          leftValue: "",
          leftValue: item.saleChance.name,
          rightStr: "选择源单",
          rightValue: ""
        },
        {
          leftStr: "签约日期",
          leftValue: "",
          leftValue: item.signTime,
          rightStr: "销售负责人",
          rightValue: ""
          rightValue: item.Member.username
        },
        {
          leftStr: "交付日期",
          leftValue: "",
          leftValue: item.deliveryDate,
          rightStr: "订单来源",
          rightValue: ""
        },
@@ -323,19 +340,19 @@
          leftStr: "创建人",
          leftValue: "",
          rightStr: "创建时间",
          rightValue: ""
          rightValue: item.createTime
        }
      ]
      this.deliveryInfoList = [
        {
          leftStr: "收货人",
          leftValue: "",
          leftValue: item.addressee,
          rightStr: "收货联系方式",
          rightValue: ""
          rightValue: item.phone
        },
        {
          leftStr: "收货地址",
          leftValue: "",
          leftValue: item.address,
          rightStr: "",
          rightValue: ""
        }
@@ -343,7 +360,7 @@
      this.dynamicInfoList = [
        {
          leftStr: "修改时间",
          leftValue: "",
          leftValue: item.updateTime,
          rightStr: "出库状态",
          rightValue: ""
        },
@@ -395,33 +412,13 @@
    },
    setTableForm() {
      this.productTableList = {
        tableData: [
          {
            id: "1",
            productName: "上海有限公司",
            other0: "ZDYBD03-1",
            other1: "12",
            other2: "5.00",
            other4: "3.00",
            other3: "2.00"
          }
        ],
        tableData: this.detailConfig.infomation.products,
        tableColumn: [
          { label: "#", prop: "id", width: 40 },
          { label: "含税单价", prop: "other9", input: true },
          { label: "产品名称", prop: "productName", input: true, isRequird: true },
          { label: "产品编号", prop: "other0" },
          { label: "数量", prop: "other1", input: true, isRequird: true },
          { label: "折扣率(%)", prop: "other6", input: true },
          { label: "不含税单价", prop: "other7", input: true },
          { label: "折扣额", prop: "other2" },
          { label: "税(销售)", prop: "other7", input: true },
          { label: "实际含税单价", prop: "other3" },
          { label: "不含税金额", prop: "other4" },
          { label: "价税合计", prop: "other3", input: true },
          { label: "描述", prop: "other8" },
          { label: "源单类型", prop: "other5" },
          { label: "源单", prop: "other6" }
          { label: "产品名称", prop: "name", productName: true, isRequird: true },
          { label: "产品编号", prop: "number" },
          { label: "数量", prop: "amount", inputNumber: true, isRequird: true },
          { label: "销售单价", prop: "price", inputFloat: true },
          { label: "价税合计", prop: "total", inputFloat: true }
        ]
      }
    }
@@ -611,13 +608,10 @@
                color: #555;
              }
              .content-termsConditions {
                margin-left: 25px;
                margin: 0px 25px 15px;
                font-size: 13px;
                color: #333;
                li {
                  margin: 5px 0;
                  border-bottom: 0px solid #f9f9fb;
                }
                white-space: pre-wrap;
              }
            }
          }