Commit 4772c8fa authored by hiyonx's avatar hiyonx

销售订单功能完善

parent 3bb434fa
......@@ -30,8 +30,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总金额" prop="amount">
<el-input-money v-model="form.amount" placeholder="请输入 总金额" clearable/>
<el-form-item label="总金额" required>
<el-input-money v-model="totalAmount" placeholder="请输入 总金额" readonly/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -132,27 +132,42 @@
</div>
</el-dialog>
<el-dialog :visible.sync="showSpecDetail" title="产品特性详情" width="650px">
<el-form :model="specForm" label-width="100px">
<el-row>
<el-col v-for="item in specForm.specList" :key="item.id" :span="12">
<el-form-item :label="item.specKey">
<el-input v-model="item.specVal" readonly/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button @click="showSpecDetail = false">取消</el-button>
</div>
</el-dialog>
<el-table :data="form.detailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"/>
<el-table-column label="产品名称" prop="itemName" width="200" show-overflow-tooltip/>
<el-table-column label="产品编码" prop="itemCode" width="200"/>
<el-table-column label="数量" prop="num" width="100"/>
<el-table-column label="金额" :formatter="r => this.formatMoney(r.amount)" width="150"/>
<el-table-column label="产品名称" prop="itemName" show-overflow-tooltip/>
<el-table-column label="产品编码" prop="itemCode"/>
<el-table-column label="数量" prop="num" width="150"/>
<el-table-column label="金额" :formatter="r => this.formatMoney(r.amount)" width="250"/>
<el-table-column label="订单状态" prop="state" width="150">
<template slot-scope="{row}">
{{ dict.type.sales_order_state.find(item => item.value == row.state).label }}
</template>
</el-table-column>
<el-table-column label="其它特性">
<el-row v-if="row.specList" slot-scope="{row}">
<el-col class="spec-item" :span="12" v-for="spec in row.specList" :key="spec.id">
<span class="spec-key">{{ spec.specKey }}:</span>
<span class="spec-val">{{spec.specVal }};</span>
</el-col>
</el-row>
</el-table-column>
<el-table-column label="操作" width="120">
<el-table-column label="操作" width="180">
<template slot-scope="{row}">
<el-button
v-hasPermi="['od:salesOrder:edit']"
size="mini"
type="text"
icon="el-icon-search"
@click="onShowSpecDetail(row)"
>产品特性
</el-button>
<el-button
v-hasPermi="['od:salesOrder:edit']"
size="mini"
......@@ -184,14 +199,20 @@ import { listClient } from '@/api/mes/md/client'
import { listSpec } from '@/api/mes/md/spec.js'
import ItemSelect from '@/components/itemSelect/single.vue'
import {genCode} from "@/api/system/autocode/rule"
import store from '@/store'
import router from '@/router'
export default {
components: {
ItemSelect
},
dicts: ['sales_order_state'],
computed: {
totalAmount() {
return this.form.detailList.reduce((amount, item) => {
amount = +item.amount
return amount
}, 0)
},
},
data() {
return {
form: {
......@@ -214,6 +235,9 @@ export default {
state: null,
specList: []
},
specForm: {
specList: []
},
rules: {
orderNo: { required: true, message: '请输入订单编号', trigger: ['change'] },
clientId: { required: true, message: '请选择客户', trigger: ['change'] },
......@@ -232,6 +256,7 @@ export default {
ids: {},
clientList: [],
userList: [],
showSpecDetail: false,
showEditDetail: false,
loading: false,
multiple: false
......@@ -246,7 +271,6 @@ export default {
let editOrder = this.form.id ? updateOrder : addOrder
editOrder(this.form).then(() => {
this.$message.success('操作成功')
this.$store.dispatch("tagsView/delView", this.$router.currentRoute)
this.onGoBack()
}).finally(() => this.loading = false)
} else {
......@@ -285,6 +309,13 @@ export default {
}
},
onShowSpecDetail(row) {
console.log(row)
this.showSpecDetail = true
this.specForm = row
},
onShowEditDetail(item) {
console.log(item)
this.showEditDetail = true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment