| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | </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> |
| | |
| | | |
| | | <script setup> |
| | | import {ref, reactive} from "vue"; |
| | | import {addOrEditSalesRecord, customerList} from "../../../api/salesOutbound/index.js"; |
| | | const { proxy } = getCurrentInstance() |
| | | const emit = defineEmits() |
| | | |
| | |
| | | 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" },], |
| | | } |
| | | }) |
| | | |
| | |
| | | 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') |
| | | } |