yangfeng
2023-09-21 8d0ee0a2c32c7a99afc01b0a0c795d708a9b7955
src/views/overview/AddOverviewDialog.vue
@@ -39,12 +39,32 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item v-if="workType === '收货'" label="客户" prop="client_name">
                <el-form-item prop="companyName">
                  <span slot="label">{{ workType === 1 ? "客户" : workType === 2 ? "送货地址" : "联系人" }}</span>
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    v-model="editConfig.infomation.company"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option
                      v-for="item in companyOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="{ value: item.id, label: item.name }"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <!-- <el-col :span="12">
                <el-form-item v-if="workType === 3" label="联系人" prop="contacterName">
                  <el-select
                    v-model="editConfig.infomation.contacterName"
                    placeholder="请选择"
                    size="mini"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
@@ -53,94 +73,71 @@
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item v-if="workType === '内部调拨'" label="联系人" prop="client_name">
                <el-form-item v-if="workType === 2" label="送货地址" prop="client_name">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              </el-col> -->
              <el-col :span="12">
                <el-form-item v-if="workType === '发货'" label="送货地址" prop="client_name">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="日期" prop="refundDate">
                <el-form-item label="日期" prop="operationDate">
                  <el-date-picker
                    v-model="editConfig.infomation.refundDate"
                    v-model="editConfig.infomation.operationDate"
                    value-format="yyyy-MM-dd"
                    type="date"
                    placeholder="选择日期"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="入库类型" prop="client_name">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                <el-form-item label="入库类型">
                  <el-input v-model="receiptType" disabled style="width: 90%"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="来源单据" prop="memberId">
                <el-form-item label="来源单据" prop="sourceNumber">
                  <el-input
                    v-model="editConfig.infomation.memberId"
                    v-model="editConfig.infomation.sourceNumber"
                    placeholder="例如:PO0032"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  ></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item v-if="workType !== '收货'" label="源位置" prop="client_name">
                <el-form-item v-if="workType !== 1" label="源位置" prop="fromLocationId">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    v-model="editConfig.infomation.fromLocationId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    <el-option v-for="item in fromLocationOptions" :key="item.id" :label="item.name" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item v-if="workType !== '发货'" label="仓库位置" prop="client_name">
                <el-form-item v-if="workType !== 2" label="仓库位置" prop="toLocationId">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    v-model="editConfig.infomation.toLocationId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.name" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -149,30 +146,30 @@
          </div>
          <div class="bottom">
            <el-tabs v-model="activeName" type="card">
              <el-tab-pane v-if="workType !== '收货'" label="详情" name="detail"> </el-tab-pane>
              <!-- <el-tab-pane v-if="workType !== 1" label="详情" name="detail"> </el-tab-pane> -->
              <el-tab-pane label="操作" name="first"> </el-tab-pane>
              <el-tab-pane label="其他信息" name="second">
                <div class="purchase-view">
                  <div class="left">
                    <div class="second-label">其他信息</div>
                    <el-form-item v-if="workType !== '收货'" label="送货策略" prop="client_name">
                    <el-form-item v-if="workType !== 1" label="送货策略" prop="client_name">
                      <el-select
                        v-model="editConfig.infomation.memberId"
                        placeholder="请选择"
                        size="mini"
                        style="width: 63%"
                        style="width: 90%"
                        :disabled="!showFooter"
                      >
                        <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                        </el-option>
                      </el-select>
                    </el-form-item>
                    <el-form-item label="负责人" prop="client_name">
                    <el-form-item label="负责人" prop="contacterName">
                      <el-select
                        v-model="editConfig.infomation.memberId"
                        v-model="editConfig.infomation.contacterName"
                        placeholder="请选择"
                        size="mini"
                        style="width: 63%"
                        style="width: 90%"
                        :disabled="!showFooter"
                      >
                        <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
@@ -184,9 +181,9 @@
                </div>
              </el-tab-pane>
              <el-tab-pane label="备注" name="third">
                <el-form-item label="备注" prop="desc">
                <el-form-item label="备注" prop="comment">
                  <el-input
                    v-model.trim="editConfig.infomation.desc"
                    v-model.trim="editConfig.infomation.comment"
                    size="mini"
                    type="textarea"
                    style="width: 85%"
@@ -216,7 +213,7 @@
              </CommonFormTableView>
            </div>
            <!-- 详情 -->
            <div v-if="activeName === 'detail'">
            <!-- <div v-if="activeName === 'detail'">
              <CommonFormTableView
                :product-table-list="detailTableList"
                :detail-enter="!showFooter"
@@ -233,7 +230,7 @@
                  </el-table-column>
                </template>
              </CommonFormTableView>
            </div>
            </div> -->
          </div>
        </div>
      </el-form>
@@ -249,6 +246,8 @@
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
// import { addOperation } from "@/api/overview/overview"
import { getCompanyList } from "@/api/common/other"
export default {
  name: "AddOverviewDialog",
  props: {
@@ -263,8 +262,8 @@
      }
    },
    workType: {
      type: String,
      default: "收货"
      type: Number,
      default: 1
    },
    addName: {
      type: String,
@@ -284,8 +283,10 @@
        memberId: [{ required: true, message: "请选择销售负责人", trigger: "change" }],
        sale_return_nunber: [{ required: true, message: "请选择销售退货单", trigger: "change" }]
      },
      companyOptions: [], // 公司
      memberOptions: [],
      paymentTypeListOptions: [],
      fromLocationOptions: [], // 源位置
      toLocationOptions: [], // 仓库位置
      list: [
        { label: "草稿", status: "todo" },
        { label: "正在等待", status: "todo" },
@@ -306,16 +307,29 @@
      detailTableData: [{ name: "ssss" }],
      detailId: 0,
      isNoDetail: false, // 添加详情明细行时是否未选择
      tableColumn: []
      tableColumn: [],
      receiptType: this.addName, // 入库类型
      companyObj: {},
      contacterObj: {}
    }
  },
  created() {
    this.setTableForm()
    this.setBottonView()
    this.setDetailTableForm()
    this.activeName = this.workType === "收货" ? "first" : "detail"
    this.activeName = this.workType === 1 ? "first" : "detail"
    this.getCompanyList()
  },
  methods: {
    // 获取公司列表
    async getCompanyList() {
      await getCompanyList().then((res) => {
        console.log(res)
        if (res.data.code === 200) {
          this.companyOptions = res.data.data
        }
      })
    },
    // 设置删除/打印/编辑是否显示
    setBottonView() {
      if (this.editConfig.title === "新建") {
@@ -360,7 +374,36 @@
      this.setTableForm()
    },
    // 保存
    saveClick() {},
    saveClick() {
      this.saveParams()
    },
    saveParams() {
      let data = this.editConfig.infomation
      console.log(this.companyObj)
      let params = {
        companyID: data.company.value || 0,
        companyName: data.company.label || "",
        contacterID: 0,
        contacterName: "string",
        details: [
          {
            finishQuantity: 0,
            productId: 0,
            productName: "string",
            quantity: 0
          }
        ],
        fromLocationId: data.fromLocationId || 0,
        id: 0,
        number: "",
        operationDate: data.operationDate || "",
        operationTypeId: data.operationTypeId,
        sourceNumber: data.sourceNumber || "",
        status: 3,
        toLocationId: data.toLocationId || 0
      }
      return params
    },
    // 删除
    delClick() {},
    // 操作列表
@@ -369,9 +412,9 @@
        tableData: this.tableData,
        tableColumn: [
          { label: "产品", prop: "name", productName: true, isRequird: true },
          { label: "说明", prop: "number", input: true },
          { label: "日期", prop: "amount", date: true, isRequird: true },
          { label: "截止日期", prop: "price", date: true },
          // { label: "说明", prop: "number", input: true },
          // { label: "日期", prop: "amount", date: true, isRequird: true },
          // { label: "截止日期", prop: "price", date: true },
          { label: "完成", prop: "total", inputFloat: true },
          { label: "计量单位", prop: "total", select: true }
        ]