|
@@ -2,10 +2,10 @@
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="24">
|
|
|
<el-form
|
|
|
+ ref="ruleForm"
|
|
|
:model="ruleForm"
|
|
|
status-icon
|
|
|
:rules="rulesThis"
|
|
|
- ref="ruleForm"
|
|
|
:size="'mini'"
|
|
|
label-width="80px"
|
|
|
class="demo-ruleForm"
|
|
@@ -20,18 +20,16 @@
|
|
|
:size="'mini'"
|
|
|
@searchChange="errorCode_change"
|
|
|
/>
|
|
|
- </el-form-item> </el-col
|
|
|
- ><el-col :span="16">
|
|
|
+ </el-form-item> </el-col><el-col :span="16">
|
|
|
<el-form-item label="退货备注" prop="remark">
|
|
|
<el-input
|
|
|
+ v-model="ruleForm.remark"
|
|
|
:disabled="isDetail"
|
|
|
type="textarea"
|
|
|
maxlength="250"
|
|
|
show-word-limit
|
|
|
placeholder="请填写备注"
|
|
|
- v-model="ruleForm.remark"
|
|
|
- /> </el-form-item></el-col
|
|
|
- ></el-row>
|
|
|
+ /> </el-form-item></el-col></el-row>
|
|
|
|
|
|
<el-form-item label="收货信息" :size="'mini'" required>
|
|
|
<el-table
|
|
@@ -50,8 +48,7 @@
|
|
|
{{ scope.row.contactor }}-{{ scope.row.mobile }}-{{
|
|
|
scope.row.addr_info
|
|
|
}}{{ scope.row.addr }}
|
|
|
- </template></el-table-column
|
|
|
- >
|
|
|
+ </template></el-table-column>
|
|
|
<el-table-column
|
|
|
label="收货总数量"
|
|
|
prop="receipt_quantity"
|
|
@@ -62,8 +59,8 @@
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item style="margin: 0" :size="'mini'">
|
|
|
<el-input-number
|
|
|
- size="mini"
|
|
|
v-model="scope.row.return_num"
|
|
|
+ size="mini"
|
|
|
:disabled="!scope.row.edit"
|
|
|
:min="0"
|
|
|
:max="scope.row.wsend_num"
|
|
@@ -78,27 +75,27 @@
|
|
|
<el-table-column fixed="right" label="操作" width="50">
|
|
|
<template slot-scope="scope">
|
|
|
<el-tooltip
|
|
|
+ v-if="!scope.row.edit"
|
|
|
effect="dark"
|
|
|
content="编辑"
|
|
|
- v-if="!scope.row.edit"
|
|
|
placement="top"
|
|
|
>
|
|
|
<i
|
|
|
class="el-icon-edit tb-icon"
|
|
|
@click="editRow(scope.$index, 1)"
|
|
|
- ></i>
|
|
|
+ />
|
|
|
</el-tooltip>
|
|
|
|
|
|
<el-tooltip
|
|
|
+ v-if="scope.row.edit"
|
|
|
effect="dark"
|
|
|
content="保存"
|
|
|
- v-if="scope.row.edit"
|
|
|
placement="top"
|
|
|
>
|
|
|
<i
|
|
|
class="el-icon-circle-check tb-icon"
|
|
|
@click="checkRow(scope.$index, 1)"
|
|
|
- ></i>
|
|
|
+ />
|
|
|
</el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -107,206 +104,211 @@
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
<el-col :span="24" style="text-align: right">
|
|
|
- <el-button type="primary" @click="submitForm" :size="'mini'"
|
|
|
- >保 存
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :size="'mini'"
|
|
|
+ @click="submitForm"
|
|
|
+ >保 存
|
|
|
</el-button>
|
|
|
- <el-button @click="showModelThis = false" v-if="!isDetail" :size="'mini'"
|
|
|
- >关 闭</el-button
|
|
|
- >
|
|
|
+ <el-button
|
|
|
+ v-if="!isDetail"
|
|
|
+ :size="'mini'"
|
|
|
+ @click="showModelThis = false"
|
|
|
+ >关 闭</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</template>
|
|
|
|
|
|
- <script>
|
|
|
-import asyncRequest from "@/apis/service/sellOut/sellReturn";
|
|
|
-import resToken from "@/mixins/resToken";
|
|
|
-import { isnumber } from "@/utils/validate";
|
|
|
+<script>
|
|
|
+import asyncRequest from '@/apis/service/sellOut/sellReturn'
|
|
|
+import resToken from '@/mixins/resToken'
|
|
|
+import { isnumber } from '@/utils/validate'
|
|
|
export default {
|
|
|
- name: "sellReturn",
|
|
|
- props: ["showModel", "id", "isDetail", "sitem", "showModelThis", "newTime"],
|
|
|
+ name: 'SellReturn',
|
|
|
mixins: [resToken],
|
|
|
+ props: ['showModel', 'id', 'isDetail', 'sitem', 'showModelThis', 'newTime'],
|
|
|
data() {
|
|
|
return {
|
|
|
loading: false,
|
|
|
showModelThis: this.showModel,
|
|
|
ruleForm: {
|
|
|
- orderCode: "", //发货申请单编号
|
|
|
- remark: "", //退货备注
|
|
|
- errorCode: "", //退货原因
|
|
|
+ orderCode: '', // 发货申请单编号
|
|
|
+ remark: '', // 退货备注
|
|
|
+ errorCode: '' // 退货原因
|
|
|
},
|
|
|
rulesThis: this.rules,
|
|
|
rules: {
|
|
|
errorCode: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: "请选择退货原因",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
+ message: '请选择退货原因',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
],
|
|
|
remark: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: "请输入退货备注",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
+ message: '请输入退货备注',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
},
|
|
|
tableForm: {
|
|
|
- get_product_go: [],
|
|
|
- },
|
|
|
- };
|
|
|
- },
|
|
|
- mounted() {
|
|
|
- this.initForm();
|
|
|
+ get_product_go: []
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
watch: {
|
|
|
- newTime: function (val) {
|
|
|
+ newTime: function(val) {
|
|
|
if (val) {
|
|
|
- this.initForm();
|
|
|
+ this.initForm()
|
|
|
}
|
|
|
- },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.initForm()
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
errorCode_change(e) {
|
|
|
- this.ruleForm.errorCode = e && e.code ? e.code : "";
|
|
|
- this.$refs.ruleForm.validateField("errorCode");
|
|
|
+ this.ruleForm.errorCode = e && e.code ? e.code : ''
|
|
|
+ this.$refs.ruleForm.validateField('errorCode')
|
|
|
},
|
|
|
async initForm() {
|
|
|
- this.loading = true;
|
|
|
- this.rulesThis = this.rules;
|
|
|
- await this.resetForm();
|
|
|
- this.loading = false;
|
|
|
+ this.loading = true
|
|
|
+ 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 { info, addrs, orderCode } = this.sitem;
|
|
|
- console.log(this.sitem);
|
|
|
- let list =
|
|
|
- info && info.length > 0 ? JSON.parse(JSON.stringify(info)) : []; //
|
|
|
+ this.$refs.ruleForm.resetFields()
|
|
|
+ this.$refs.ruleForm.clearValidate()
|
|
|
+ const { info, addrs, orderCode } = this.sitem
|
|
|
+ console.log(this.sitem)
|
|
|
+ const list =
|
|
|
+ info && info.length > 0 ? JSON.parse(JSON.stringify(info)) : [] //
|
|
|
list.map((v) => {
|
|
|
- v.edit = false;
|
|
|
- v.return_num = v.return_num || "0";
|
|
|
- return v;
|
|
|
- });
|
|
|
- let l_list =
|
|
|
- addrs && addrs.length > 0 ? JSON.parse(JSON.stringify(addrs)) : [];
|
|
|
+ v.edit = false
|
|
|
+ v.return_num = v.return_num || '0'
|
|
|
+ return v
|
|
|
+ })
|
|
|
+ const l_list =
|
|
|
+ addrs && addrs.length > 0 ? JSON.parse(JSON.stringify(addrs)) : []
|
|
|
l_list.map((ele) => {
|
|
|
- ele.edit = false;
|
|
|
- ele.return_num = ele.return_num || "0";
|
|
|
- return ele;
|
|
|
- });
|
|
|
+ ele.edit = false
|
|
|
+ ele.return_num = ele.return_num || '0'
|
|
|
+ return ele
|
|
|
+ })
|
|
|
this.ruleForm = {
|
|
|
- orderCode: orderCode || "",
|
|
|
- remark: "", //退货备注
|
|
|
- errorCode: "", //退货原因
|
|
|
- };
|
|
|
+ orderCode: orderCode || '',
|
|
|
+ remark: '', // 退货备注
|
|
|
+ errorCode: '' // 退货原因
|
|
|
+ }
|
|
|
this.tableForm = {
|
|
|
- get_product_go: [].concat(...l_list),
|
|
|
- };
|
|
|
+ get_product_go: [].concat(...l_list)
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
|
|
|
async submitForm() {
|
|
|
- await this.$refs.ruleForm.validate(async (valid) => {
|
|
|
+ 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));
|
|
|
- let arr1 = JSON.parse(JSON.stringify(this.tableForm.get_product_go));
|
|
|
- let wsm_code_edit = false,
|
|
|
- addr_edit = false,
|
|
|
- wsm_code_total = 0,
|
|
|
- addr_total = 0;
|
|
|
+ this.loading = true
|
|
|
+ const model = JSON.parse(JSON.stringify(this.ruleForm))
|
|
|
+ const arr1 = JSON.parse(JSON.stringify(this.tableForm.get_product_go))
|
|
|
+ const wsm_code_edit = false
|
|
|
+ let addr_edit = false
|
|
|
+ const wsm_code_total = 0
|
|
|
+ let addr_total = 0
|
|
|
|
|
|
- let addr = [];
|
|
|
+ const addr = []
|
|
|
arr1.forEach((e) => {
|
|
|
if (e.edit) {
|
|
|
- addr_edit = true;
|
|
|
+ addr_edit = true
|
|
|
}
|
|
|
- let obj = {
|
|
|
+ const obj = {
|
|
|
addrid: e.id,
|
|
|
- return_num: e.return_num,
|
|
|
- };
|
|
|
- addr_total += e.return_num;
|
|
|
- addr.push(obj);
|
|
|
- });
|
|
|
- model.addr = addr;
|
|
|
+ return_num: e.return_num
|
|
|
+ }
|
|
|
+ addr_total += e.return_num
|
|
|
+ addr.push(obj)
|
|
|
+ })
|
|
|
+ model.addr = addr
|
|
|
if (wsm_code_edit) {
|
|
|
- this.$message.warning("仓库信息正在编辑,请保存后再试!");
|
|
|
- this.loading = false;
|
|
|
- return;
|
|
|
+ this.$message.warning('仓库信息正在编辑,请保存后再试!')
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
}
|
|
|
if (addr_edit) {
|
|
|
- this.$message.warning("地址信息正在编辑,请保存后再试!");
|
|
|
- this.loading = false;
|
|
|
- return;
|
|
|
+ this.$message.warning('地址信息正在编辑,请保存后再试!')
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
}
|
|
|
if (wsm_code_total !== addr_total) {
|
|
|
- this.$message.warning("仓库退货总数不等于收货地址总数!");
|
|
|
- this.loading = false;
|
|
|
- return;
|
|
|
+ this.$message.warning('仓库退货总数不等于收货地址总数!')
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
}
|
|
|
- let res = await asyncRequest.add(model);
|
|
|
- this.loading = false;
|
|
|
+ const res = await asyncRequest.add(model)
|
|
|
+ this.loading = false
|
|
|
if (res && res.code === 0) {
|
|
|
- const title = this.id === "add" ? "添加成功" : "修改成功";
|
|
|
+ const title = this.id === 'add' ? '添加成功' : '修改成功'
|
|
|
this.$notify.success({
|
|
|
title,
|
|
|
- message: "",
|
|
|
- });
|
|
|
- this.showModelThis = false;
|
|
|
+ message: ''
|
|
|
+ })
|
|
|
+ this.showModelThis = false
|
|
|
// 刷新
|
|
|
- this.$emit("refresh", false);
|
|
|
+ this.$emit('refresh', false)
|
|
|
} else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
- await this.logout();
|
|
|
+ await this.logout()
|
|
|
} else {
|
|
|
- this.$message.warning(res.message);
|
|
|
+ this.$message.warning(res.message)
|
|
|
}
|
|
|
} else {
|
|
|
- console.log("error submit!!");
|
|
|
- return false;
|
|
|
+ console.log('error submit!!')
|
|
|
+ return false
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
- //保存某一行
|
|
|
+ // 保存某一行
|
|
|
checkRow(rowIndex, type) {
|
|
|
if (type === 1) {
|
|
|
const { wsend_num, return_num } =
|
|
|
- this.tableForm.get_product_go[rowIndex];
|
|
|
+ this.tableForm.get_product_go[rowIndex]
|
|
|
if (!isnumber(return_num)) {
|
|
|
- this.$message.warning("退货数量不规范!");
|
|
|
- return;
|
|
|
+ this.$message.warning('退货数量不规范!')
|
|
|
+ return
|
|
|
}
|
|
|
if (parseInt(wsend_num) < parseInt(return_num)) {
|
|
|
- this.$message.warning("退货数量不能大于未发货总数量!");
|
|
|
- return;
|
|
|
+ this.$message.warning('退货数量不能大于未发货总数量!')
|
|
|
+ return
|
|
|
}
|
|
|
- this.tableForm.get_product_go[rowIndex].edit = false;
|
|
|
+ this.tableForm.get_product_go[rowIndex].edit = false
|
|
|
}
|
|
|
},
|
|
|
- //编辑某一行
|
|
|
+ // 编辑某一行
|
|
|
editRow(rowIndex, type) {
|
|
|
- let list = JSON.parse(JSON.stringify(this.tableForm.get_product_go));
|
|
|
- let index = list.findIndex((v) => {
|
|
|
- v.edit;
|
|
|
- });
|
|
|
+ const list = JSON.parse(JSON.stringify(this.tableForm.get_product_go))
|
|
|
+ const index = list.findIndex((v) => {
|
|
|
+ v.edit
|
|
|
+ })
|
|
|
if (index !== -1) {
|
|
|
- this.$message.warning("请完成其他行的编辑!");
|
|
|
- return;
|
|
|
+ this.$message.warning('请完成其他行的编辑!')
|
|
|
+ return
|
|
|
}
|
|
|
- this.tableForm.get_product_go[rowIndex].edit = true;
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
+ this.tableForm.get_product_go[rowIndex].edit = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
-</style>
|
|
|
+</style>
|