| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售日期" prop="saleDate"> |
| | | <el-date-picker |
| | | :disabled="operationType === 'view'" |
| | | v-model="form.saleDate" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户" prop="customerId"> |
| | | <el-select v-model="form.customerId" placeholder="请选择客户"> |
| | | <el-select v-model="form.customerId" placeholder="请选择客户" :disabled="operationType === 'view'"> |
| | | <el-option |
| | | v-for="item in customerOptions" |
| | | :key="item.id" |
| | | :label="item.customerName" |
| | | :value="item.id" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="煤种" prop="coalId"> |
| | | <el-select v-model="form.coalId" placeholder="请选择煤种" @change="setInfo"> |
| | | <el-select v-model="form.coalId" placeholder="请选择煤种" @change="setInfo" :disabled="operationType === 'view'"> |
| | | <el-option |
| | | v-for="item in coalOptions" |
| | | :key="item.id" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单位" prop="unit"> |
| | | <el-input v-model="form.unit" placeholder="请输入单位" maxlength="30" /> |
| | | <el-input v-model="form.unit" placeholder="请输入单位" maxlength="30" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="库存数量" prop="inventoryQuantity"> |
| | | <el-input v-model="form.inventoryQuantity" placeholder="请输入销售数量" maxlength="30" type="number" /> |
| | | <el-input v-model="form.inventoryQuantity" placeholder="请输入销售数量" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单价(含税)" prop="priceIncludingTax"> |
| | | <el-input v-model="form.priceIncludingTax" placeholder="请输入销售单价(含税)" maxlength="30" type="number" /> |
| | | <el-form-item label="单价(含税)" prop="priceIncludingTax" @change="mathProfit"> |
| | | <el-input v-model="form.priceIncludingTax" placeholder="请输入销售单价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售数量" prop="saleQuantity"> |
| | | <el-input v-model="form.saleQuantity" placeholder="请输入销售数量" maxlength="30" type="number" /> |
| | | <el-form-item label="销售数量" prop="saleQuantity" @change="mathProfit"> |
| | | <el-input v-model="form.saleQuantity" placeholder="请输入销售数量" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售单价(含税)" prop="salePrice" @change="mathProfit"> |
| | | <el-input v-model="form.salePrice" placeholder="请输入销售单价(含税)" maxlength="30" type="number" /> |
| | | <el-input v-model="form.salePrice" placeholder="请输入销售单价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售总价(含税)" prop="totalAmount"> |
| | | <el-input v-model="form.totalAmount" placeholder="请输入销售总价(含税)" maxlength="30" type="number" /> |
| | | <el-input v-model="form.totalAmount" placeholder="请输入销售总价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="运费" prop="freight"> |
| | | <el-input v-model="form.freight" placeholder="请输入销售总价(含税)" maxlength="30" type="number" /> |
| | | <el-input v-model="form.freight" placeholder="请输入销售总价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="购销煤税率(%)" prop="taxCoal"> |
| | | <el-input v-model="form.taxCoal" placeholder="请输入销售总价(含税)" maxlength="30" type="number" /> |
| | | <el-input v-model="form.taxCoal" placeholder="请输入销售总价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </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-input v-model="form.taxTrans" placeholder="请输入销售总价(含税)" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </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-input v-model="form.grossProfit" placeholder="毛利润" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </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-input v-model="form.netProfit" placeholder="净利润" maxlength="30" type="number" :disabled="operationType === 'view'"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | |
| | | <script setup> |
| | | import {reactive, ref} from "vue"; |
| | | import {addOrEditSalesRecord, customerList, officialList} from "../../../api/salesOutbound/index.js"; |
| | | import {addOrEditSalesRecord, customerList, officialList} from "@/api/salesOutbound/index.js"; |
| | | import useUserStore from '@/store/modules/user' |
| | | |
| | | const { proxy } = getCurrentInstance() |
| | |
| | | }, |
| | | rules: { |
| | | saleDate: [{ required: true, message: "请选择日期", trigger: "change" },], |
| | | customerId: [{ required: true, message: "请选择客户", trigger: "change" },], |
| | | coalId: [{ required: true, message: "请选择煤种", trigger: "change" },], |
| | | unit: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | saleQuantity: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | salePrice: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | totalAmount: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | freight: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | taxCoal: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | taxTrans: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | grossProfit: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | netProfit: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | inventoryQuantity: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | priceIncludingTax: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | } |
| | | }) |
| | | |
| | |
| | | |
| | | // 打开弹框 |
| | | const openDialog = async (type, row) => { |
| | | operationType.value = type |
| | | dialogVisitable.value = true |
| | | form.value.saleDate = proxy.getCurrentDate() |
| | | customerList().then((res) => { |
| | | customerOptions.value = res.data |
| | | }) |
| | | officialList().then((res) => { |
| | | coalOptions.value = res.data |
| | | }) |
| | | const [supplyRes, coalRes] = await Promise.all([ |
| | | customerList(), |
| | | officialList(), |
| | | ]); |
| | | let supplyData = supplyRes.data; |
| | | coalOptions.value = coalRes.data; |
| | | customerOptions.value = supplyData.map((item) => ({ |
| | | value: item.id, |
| | | label: item.customerName, |
| | | })); |
| | | let res = await userStore.getInfo() |
| | | form.value.registrantId = res.user.userId |
| | | form.value.taxCoal = 13 |
| | | form.value.taxTrans = 9 |
| | | form.value.freight = 20 |
| | | if (type === 'edit') { |
| | | if (type !== 'add') { |
| | | form.value = {...row} |
| | | } |
| | | } |