gaoluyang
2 天以前 a00484ae729aed9a664050362fa2b8c6a4ce4fd6
src/views/salesOutbound/components/formDia.vue
@@ -2,12 +2,12 @@
  <div>
    <el-dialog :title="operationType === 'add' ? '新增出库' : '编辑出库'"
               v-model="dialogVisitable" width="800px" @close="cancel">
      <el-form :model="form" :rules="rules" ref="userRef" label-width="100px">
      <el-form :model="form" :rules="rules" ref="formRef" label-width="120px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="销售日期" prop="userName">
            <el-form-item label="销售日期" prop="saleDate">
              <el-date-picker
                  v-model="form.userName"
                  v-model="form.saleDate"
                  type="date"
                  value-format="YYYY-MM-DD"
                  format="YYYY-MM-DD"
@@ -18,8 +18,8 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="客户" prop="nickName">
              <el-select v-model="form.nickName" placeholder="请选择客户">
            <el-form-item label="客户" prop="customerId">
              <el-select v-model="form.customerId" placeholder="请选择客户">
                <el-option
                    v-for="item in customerOptions"
                    :key="item.value"
@@ -32,8 +32,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="煤种" prop="type">
              <el-select v-model="form.nickName" placeholder="请选择煤种">
            <el-form-item label="煤种" prop="coalId">
              <el-select v-model="form.coalId" placeholder="请选择煤种">
                <el-option
                    v-for="item in typeOptions"
                    :key="item.value"
@@ -44,39 +44,56 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="单位" prop="nickName">
              <el-input v-model="form.nickName" placeholder="请输入单位" maxlength="30" />
            <el-form-item label="单位" prop="unit">
              <el-input v-model="form.unit" placeholder="请输入单位" maxlength="30" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="销售数量" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入销售数量" maxlength="30" type="number" />
            <el-form-item label="库存数量" prop="inventoryQuantity">
              <el-input v-model="form.inventoryQuantity" placeholder="请输入销售数量" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="销售单价" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入销售单价(含税)" maxlength="30" type="number" />
            <el-form-item label="单价(含税)" prop="priceIncludingTax">
              <el-input v-model="form.priceIncludingTax" placeholder="请输入销售单价(含税)" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="销售总价" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入销售总价(含税)" maxlength="30" type="number" />
            <el-form-item label="销售数量" prop="saleQuantity">
              <el-input v-model="form.saleQuantity" placeholder="请输入销售数量" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="热值" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入热值" maxlength="30" />
            <el-form-item label="销售单价(含税)" prop="salePrice">
              <el-input v-model="form.salePrice" placeholder="请输入销售单价(含税)" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="利润" prop="userName">
              <el-input v-model="form.userName" placeholder="利润" maxlength="30" type="number" />
            <el-form-item label="购销煤税率(%)" prop="taxCoal">
              <el-input v-model="form.taxCoal" placeholder="请输入销售总价(含税)" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="运输税率(%)" prop="taxTrans">
              <el-input v-model="form.taxTrans" placeholder="请输入销售总价(含税)" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="毛利润" prop="grossProfit">
              <el-input v-model="form.grossProfit" placeholder="毛利润" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="净利润" prop="netProfit">
              <el-input v-model="form.netProfit" placeholder="净利润" maxlength="30" type="number" />
            </el-form-item>
          </el-col>
        </el-row>
@@ -93,6 +110,7 @@
<script setup>
import {ref, reactive} from "vue";
import {addOrEditSalesRecord, customerList} from "../../../api/salesOutbound/index.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits()
@@ -101,13 +119,23 @@
const customerOptions = ref([]) // 客户下拉框
const typeOptions = ref([]) // 煤种下拉框
const data = reactive({
  form: {},
  form: {
    saleDate: '',
    customerId: '',
    coalId: '',
    unit: '',
    saleQuantity: '',
    salePrice: '',
    totalAmount: '',
    taxCoal: '',
    taxTrans: '',
    grossProfit: '',
    netProfit: '',
    inventoryQuantity: '',
    priceIncludingTax: '',
  },
  rules: {
    userName: [{ required: true, message: "登录账号不能为空", trigger: "blur" },],
    nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
    roleIds: [{ required: true, message: "角色不能为空", trigger: "change" }],
    deptId: [{ required: true, message: "部门不能为空", trigger: "change" }],
    password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
    saleDate: [{ required: true, message: "请选择日期", trigger: "change" },],
  }
})
@@ -117,18 +145,25 @@
const openDialog = (type, row) => {
  console.log('openDialog', type, row)
  dialogVisitable.value = true
  form.value.saleDate = proxy.getCurrentDate()
  customerList().then((res) => {
    console.log(res)
  })
}
// 提交合并表单
const submitForm = () => {
  proxy.$refs["userRef"].validate(valid => {
  proxy.$refs["formRef"].validate(valid => {
    if (valid) {
      addOrEditSalesRecord(form.value).then(() => {
        cancel()
        proxy.$modal.msgSuccess('提交成功')
      })
    }
  })
}
// 关闭合并表单
const cancel = () => {
  proxy.resetForm("userRef")
  proxy.resetForm("formRef")
  dialogVisitable.value = false
  emit('closeDia')
}