|
@@ -1,28 +1,28 @@
|
|
|
<template>
|
|
|
<el-dialog
|
|
|
+ v-loading="loading"
|
|
|
:title="'新建入库单'"
|
|
|
:center="true"
|
|
|
align="left"
|
|
|
top="15vh"
|
|
|
width="700px"
|
|
|
- @close="showModelThis = false"
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="showModelThis"
|
|
|
- v-loading="loading"
|
|
|
element-loading-text="拼命加载中"
|
|
|
element-loading-spinner="el-icon-loading"
|
|
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
|
|
+ @close="showModelThis = false"
|
|
|
>
|
|
|
<el-card style="margin-top: -20px">
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="24">
|
|
|
<el-form
|
|
|
+ ref="ruleForm"
|
|
|
v-loading="loading"
|
|
|
:model="ruleForm"
|
|
|
:rules="rulesThis"
|
|
|
status-icon
|
|
|
:size="'mini'"
|
|
|
- ref="ruleForm"
|
|
|
label-width="85px"
|
|
|
class="demo-ruleForm"
|
|
|
>
|
|
@@ -35,10 +35,10 @@
|
|
|
label-width="95px"
|
|
|
>
|
|
|
<el-input
|
|
|
+ v-model="ruleForm.wsend_num"
|
|
|
disabled
|
|
|
:size="'mini'"
|
|
|
placeholder="可入库总数"
|
|
|
- v-model="ruleForm.wsend_num"
|
|
|
maxlength="100"
|
|
|
/>
|
|
|
</el-form-item>
|
|
@@ -78,8 +78,7 @@
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -100,7 +99,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24" v-if="ruleForm.sendtype === '1'">
|
|
|
+ <el-col v-if="ruleForm.sendtype === '1'" :span="24">
|
|
|
<el-form-item label="物流公司" prop="post_company">
|
|
|
<search-express
|
|
|
:value="ruleForm.post_company"
|
|
@@ -113,12 +112,12 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24" v-if="ruleForm.sendtype === '1'">
|
|
|
+ <el-col v-if="ruleForm.sendtype === '1'" :span="24">
|
|
|
<el-form-item label="物流单号" prop="post_code">
|
|
|
<el-input
|
|
|
+ v-model="ruleForm.post_code"
|
|
|
placeholder="物流单号"
|
|
|
:size="'mini'"
|
|
|
- v-model="ruleForm.post_code"
|
|
|
maxlength="100"
|
|
|
/>
|
|
|
</el-form-item>
|
|
@@ -135,13 +134,15 @@
|
|
|
placeholder="发货时间"
|
|
|
:picker-options="pickerOptions"
|
|
|
@change="selectTime"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12" style="text-align: right">
|
|
|
- <el-button type="primary" :size="'mini'" @click="submitForm"
|
|
|
- >保 存
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :size="'mini'"
|
|
|
+ @click="submitForm"
|
|
|
+ >保 存
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -152,235 +153,235 @@
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import resToken from "@/mixins/resToken";
|
|
|
-import asyncRequest from "@/apis/service/purchaseIn/purchaseOrder";
|
|
|
-import { isAlphanumeric } from "@/utils/validate";
|
|
|
+import resToken from '@/mixins/resToken'
|
|
|
+import asyncRequest from '@/apis/service/purchaseIn/purchaseOrder'
|
|
|
+import { isAlphanumeric } from '@/utils/validate'
|
|
|
export default {
|
|
|
- name: "wsmInOrderAdd",
|
|
|
- props: ["showModel", "id", "sitem"],
|
|
|
+ name: 'WsmInOrderAdd',
|
|
|
mixins: [resToken],
|
|
|
+ props: ['showModel', 'id', 'sitem'],
|
|
|
data() {
|
|
|
const validate_num = (rule, value, callback) => {
|
|
|
- const { required } = rule;
|
|
|
- if (required && value === "") {
|
|
|
- callback(new Error("不能为空!"));
|
|
|
+ const { required } = rule
|
|
|
+ if (required && value === '') {
|
|
|
+ callback(new Error('不能为空!'))
|
|
|
} else {
|
|
|
- callback();
|
|
|
+ callback()
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
const validate_num_0 = (rule, value, callback) => {
|
|
|
- const { required } = rule;
|
|
|
- if (required && value === "") {
|
|
|
- callback(new Error("不能为空!"));
|
|
|
+ const { required } = rule
|
|
|
+ if (required && value === '') {
|
|
|
+ callback(new Error('不能为空!'))
|
|
|
} else if (
|
|
|
required &&
|
|
|
- (value === "0" ||
|
|
|
- value === "0." ||
|
|
|
- value === "0.0" ||
|
|
|
- value === "0.00" ||
|
|
|
- value === "0.000")
|
|
|
+ (value === '0' ||
|
|
|
+ value === '0.' ||
|
|
|
+ value === '0.0' ||
|
|
|
+ value === '0.00' ||
|
|
|
+ value === '0.000')
|
|
|
) {
|
|
|
- callback(new Error("不能为零!"));
|
|
|
+ callback(new Error('不能为零!'))
|
|
|
} else {
|
|
|
- callback();
|
|
|
+ callback()
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
const validateCode = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("不能为空!"));
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('不能为空!'))
|
|
|
} else {
|
|
|
if (!isAlphanumeric(value)) {
|
|
|
- callback(new Error("仅支持字母和数字!"));
|
|
|
+ callback(new Error('仅支持字母和数字!'))
|
|
|
} else {
|
|
|
- callback();
|
|
|
+ callback()
|
|
|
}
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
return {
|
|
|
showModelThis: this.showModel,
|
|
|
loading: true,
|
|
|
- order_source: "",
|
|
|
+ order_source: '',
|
|
|
ruleForm: {
|
|
|
- wsm_mobile: "",
|
|
|
- wsm_contactor: "",
|
|
|
- wsm_addr: "",
|
|
|
- cgdNo: "",
|
|
|
- wsm_code: "",
|
|
|
+ wsm_mobile: '',
|
|
|
+ wsm_contactor: '',
|
|
|
+ wsm_addr: '',
|
|
|
+ cgdNo: '',
|
|
|
+ wsm_code: '',
|
|
|
post_company: [],
|
|
|
- post_code: "",
|
|
|
- post_fee: "",
|
|
|
- post_time: "",
|
|
|
- send_num: "",
|
|
|
- sendtype: "1",
|
|
|
- status: "1",
|
|
|
+ post_code: '',
|
|
|
+ post_fee: '',
|
|
|
+ post_time: '',
|
|
|
+ send_num: '',
|
|
|
+ sendtype: '1',
|
|
|
+ status: '1'
|
|
|
},
|
|
|
rulesThis: this.rules,
|
|
|
options: [
|
|
|
{
|
|
|
- value: "1",
|
|
|
- label: "公司自提",
|
|
|
+ value: '1',
|
|
|
+ label: '公司自提'
|
|
|
},
|
|
|
{
|
|
|
- value: "2",
|
|
|
- label: "供应商包邮",
|
|
|
- },
|
|
|
+ value: '2',
|
|
|
+ label: '供应商包邮'
|
|
|
+ }
|
|
|
],
|
|
|
pickerOptions: {
|
|
|
disabledDate: (time) => {
|
|
|
- return time.getTime() > new Date().valueOf();
|
|
|
- },
|
|
|
+ return time.getTime() > new Date().valueOf()
|
|
|
+ }
|
|
|
},
|
|
|
rules: {
|
|
|
send_num: [
|
|
|
{
|
|
|
required: true,
|
|
|
validator: validate_num_0,
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
],
|
|
|
post_company: [
|
|
|
{
|
|
|
- type: "array",
|
|
|
+ type: 'array',
|
|
|
required: true,
|
|
|
- trigger: "change",
|
|
|
- message: "请输入物流公司",
|
|
|
- },
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请输入物流公司'
|
|
|
+ }
|
|
|
],
|
|
|
sendtype: [
|
|
|
{
|
|
|
required: true,
|
|
|
- trigger: "change",
|
|
|
- message: "选择发货方式",
|
|
|
- },
|
|
|
+ trigger: 'change',
|
|
|
+ message: '选择发货方式'
|
|
|
+ }
|
|
|
],
|
|
|
post_code: [
|
|
|
{
|
|
|
required: true,
|
|
|
validator: validateCode,
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
],
|
|
|
post_fee: [
|
|
|
{
|
|
|
required: true,
|
|
|
validator: validate_num,
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
],
|
|
|
post_time: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: "请选择发货时间",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- };
|
|
|
+ message: '请选择发货时间',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
watch: {
|
|
|
- showModel: function (val) {
|
|
|
- this.showModelThis = val;
|
|
|
+ showModel: function(val) {
|
|
|
+ this.showModelThis = val
|
|
|
if (val) {
|
|
|
- this.initForm();
|
|
|
+ this.initForm()
|
|
|
}
|
|
|
},
|
|
|
showModelThis(val) {
|
|
|
if (!val) {
|
|
|
- this.$emit("cancel");
|
|
|
+ this.$emit('cancel')
|
|
|
}
|
|
|
- },
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
async initForm() {
|
|
|
- this.loading = true;
|
|
|
- console.log(this.sitem);
|
|
|
- this.rulesThis = this.rules;
|
|
|
- await this.resetForm();
|
|
|
- this.loading = false;
|
|
|
+ this.loading = true
|
|
|
+ console.log(this.sitem)
|
|
|
+ this.rulesThis = this.rules
|
|
|
+ await this.resetForm()
|
|
|
+ this.loading = false
|
|
|
},
|
|
|
- //初始化表单
|
|
|
+ // 初始化表单
|
|
|
async resetForm() {
|
|
|
await this.$nextTick(() => {
|
|
|
if (this.$refs.ruleForm) {
|
|
|
- this.$refs.ruleForm.resetFields();
|
|
|
- this.$refs.ruleForm.clearValidate();
|
|
|
- const { cgdNo, wsend_num, goodinfo, order_source } = this.sitem;
|
|
|
- const { send_way } = goodinfo;
|
|
|
- this.order_source = order_source || "";
|
|
|
+ this.$refs.ruleForm.resetFields()
|
|
|
+ this.$refs.ruleForm.clearValidate()
|
|
|
+ const { cgdNo, wsend_num, goodinfo, order_source } = this.sitem
|
|
|
+ const { send_way } = goodinfo
|
|
|
+ this.order_source = order_source || ''
|
|
|
this.ruleForm = {
|
|
|
- wsm_mobile: "",
|
|
|
- wsm_contactor: "",
|
|
|
- wsm_addr: "",
|
|
|
- cgdNo: cgdNo || "",
|
|
|
- wsm_code: "",
|
|
|
+ wsm_mobile: '',
|
|
|
+ wsm_contactor: '',
|
|
|
+ wsm_addr: '',
|
|
|
+ cgdNo: cgdNo || '',
|
|
|
+ wsm_code: '',
|
|
|
post_company: [],
|
|
|
- post_code: "",
|
|
|
- post_fee: "",
|
|
|
- post_time: "",
|
|
|
- wsend_num: wsend_num || "0",
|
|
|
- sendtype: send_way === "0" ? "1" : "2" || "1",
|
|
|
- send_num: wsend_num || "0",
|
|
|
- status: "1",
|
|
|
- };
|
|
|
+ post_code: '',
|
|
|
+ post_fee: '',
|
|
|
+ post_time: '',
|
|
|
+ wsend_num: wsend_num || '0',
|
|
|
+ sendtype: send_way === '0' ? '1' : '2' || '1',
|
|
|
+ send_num: wsend_num || '0',
|
|
|
+ status: '1'
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
number_change(e, key) {
|
|
|
- this.ruleForm[key] = e + "" || "0";
|
|
|
- this.$refs.ruleForm.validateField(key);
|
|
|
+ this.ruleForm[key] = e + '' || '0'
|
|
|
+ this.$refs.ruleForm.validateField(key)
|
|
|
},
|
|
|
sendtypeChange() {
|
|
|
- const { sendtype } = this.ruleForm;
|
|
|
- this.rulesThis.post_code[0].required = sendtype === "1";
|
|
|
- this.rulesThis.post_company[0].required = sendtype === "1";
|
|
|
+ const { sendtype } = this.ruleForm
|
|
|
+ this.rulesThis.post_code[0].required = sendtype === '1'
|
|
|
+ this.rulesThis.post_company[0].required = sendtype === '1'
|
|
|
},
|
|
|
// 保存更改
|
|
|
async submitForm() {
|
|
|
- console.log(this.rules);
|
|
|
- await this.$refs.ruleForm.validate(async (valid) => {
|
|
|
+ console.log(this.rules)
|
|
|
+ await this.$refs.ruleForm.validate(async(valid) => {
|
|
|
if (valid) {
|
|
|
if (this.loading) {
|
|
|
- return;
|
|
|
+ return
|
|
|
}
|
|
|
- this.loading = true;
|
|
|
- let model = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
- model.post_company = model.post_company.toString();
|
|
|
- let time1 = new Date(model.post_time).valueOf();
|
|
|
- let time2 = new Date().valueOf();
|
|
|
+ this.loading = true
|
|
|
+ const model = JSON.parse(JSON.stringify(this.ruleForm))
|
|
|
+ model.post_company = model.post_company.toString()
|
|
|
+ const time1 = new Date(model.post_time).valueOf()
|
|
|
+ const time2 = new Date().valueOf()
|
|
|
if (time1 >= time2) {
|
|
|
- this.$message.warning(`发货时间不能选择未来时间!`);
|
|
|
- this.loading = false;
|
|
|
- return;
|
|
|
+ this.$message.warning(`发货时间不能选择未来时间!`)
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
}
|
|
|
- const { code, message } = await asyncRequest.orderinadd(model);
|
|
|
- this.loading = false;
|
|
|
+ const { code, message } = await asyncRequest.orderinadd(model)
|
|
|
+ this.loading = false
|
|
|
if (code === 0) {
|
|
|
this.$notify.success({
|
|
|
- title: "添加成功",
|
|
|
- message: "",
|
|
|
- });
|
|
|
- this.$emit("refresh"); //抛出事件给详情页。
|
|
|
+ title: '添加成功',
|
|
|
+ message: ''
|
|
|
+ })
|
|
|
+ this.$emit('refresh') // 抛出事件给详情页。
|
|
|
} else if (code >= 100 && code <= 104) {
|
|
|
- await this.logout();
|
|
|
- } else if (code === "1009") {
|
|
|
- this.$message.warning(`${message},请刷新采购单详情重试!`);
|
|
|
+ await this.logout()
|
|
|
+ } else if (code === '1009') {
|
|
|
+ this.$message.warning(`${message},请刷新采购单详情重试!`)
|
|
|
} else {
|
|
|
- this.$message.warning(message);
|
|
|
+ this.$message.warning(message)
|
|
|
}
|
|
|
} else {
|
|
|
- console.log("error submit!!");
|
|
|
- return false;
|
|
|
+ console.log('error submit!!')
|
|
|
+ return false
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
handleCompany(e) {
|
|
|
- console.log(e);
|
|
|
- this.ruleForm.post_company = e && e.code ? [e.label] : [];
|
|
|
- this.$refs.ruleForm.validateField("post_company");
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
+ console.log(e)
|
|
|
+ this.ruleForm.post_company = e && e.code ? [e.label] : []
|
|
|
+ this.$refs.ruleForm.validateField('post_company')
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|