Commit e23242cd authored by 高宇's avatar 高宇

完成销售记录功能;

parent a1cad095
...@@ -59,6 +59,9 @@ export default { ...@@ -59,6 +59,9 @@ export default {
getSalesComponent: { getSalesComponent: {
url: '/vue/sales-order/get-product-component' url: '/vue/sales-order/get-product-component'
}, },
getSalesSerie: {
url: '/vue/sales-order/get-product-serie'
},
// 搜索供应商名称 // 搜索供应商名称
searchSupplierByName: { searchSupplierByName: {
url: '/vue/search/supplier-by-name' url: '/vue/search/supplier-by-name'
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<span>{{label}}</span> <span>{{label}}</span>
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
<el-input v-model="item" :placeholder="label" :type="type" :rows="rows" size="mini"> <el-input v-model="item" :placeholder="label" :type="type" :rows="rows" size="mini" :disabled="disabled">
<template slot="prepend"> <template slot="prepend">
<span v-if="prepend.text !== ''">{{prepend.text}}</span> <span v-if="prepend.text !== ''">{{prepend.text}}</span>
<i :class="['fa', prepend.icon]" v-if="prepend.icon !== ''"></i> <i :class="['fa', prepend.icon]" v-if="prepend.icon !== ''"></i>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
:trigger-on-focus="false" :trigger-on-focus="false"
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
placeholder="输入查找客户" placeholder="输入查找客户"
:disabled="singleSearchDisabled" :disabled="singleSearchDisabled || disabled"
@select="handleSelect" @select="handleSelect"
></el-autocomplete> ></el-autocomplete>
</el-col> </el-col>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
if (queryString === '') { if (queryString === '') {
return return
} }
requestAPI(api.searchClientByName, { requestAPI(api[this.api], {
data: { data: {
name: queryString name: queryString
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<span>{{label}}</span> <span>{{label}}</span>
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
<el-select v-model="item" :placeholder="label" size="mini" @change="selectChange"> <el-select v-model="item" :placeholder="label" size="mini" @change="selectChange" filterable="filterable" :disabled="this.disabled">
<template slot="prefix" v-if="prefix.text !== ''"> <template slot="prefix" v-if="prefix.text !== ''">
{{prefix.text}} {{prefix.text}}
</template> </template>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
:form-serch-item="SalesOrders.client_id" :form-serch-item="SalesOrders.client_id"
:form-show-text="searchText" :form-show-text="searchText"
:set-option="setClientOption" :set-option="setClientOption"
api="searchClientByName"
label="客户名称" label="客户名称"
:single-search-disabled="singleSearchDisabled" :single-search-disabled="singleSearchDisabled"
@update:searchItem="val => {SalesOrders.client_id = val}"> @update:searchItem="val => {SalesOrders.client_id = val}">
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
label="销售日期" label="销售日期"
@update:item="val => {SalesOrders.sales_date = val}"> @update:item="val => {SalesOrders.sales_date = val}">
<span slot="formError" class="el-form-item__error"> <span slot="formError" class="el-form-item__error">
{{errorData['project_id']}} {{errorData['sales_date']}}
</span> </span>
</single-date-picker> </single-date-picker>
</el-form-item> </el-form-item>
...@@ -66,7 +67,7 @@ ...@@ -66,7 +67,7 @@
:options-list="getOptions('SalesOrders[expire_remind_ahead]')" :options-list="getOptions('SalesOrders[expire_remind_ahead]')"
@update:item="val => {SalesOrders.expire_remind_ahead = val}"> @update:item="val => {SalesOrders.expire_remind_ahead = val}">
<span slot="formError" class="el-form-item__error"> <span slot="formError" class="el-form-item__error">
{{errorData['project_id']}} {{errorData['expire_remind_ahead']}}
</span> </span>
</single-select> </single-select>
</el-form-item> </el-form-item>
...@@ -74,7 +75,7 @@ ...@@ -74,7 +75,7 @@
<multiple-check-group <multiple-check-group
:check-group-form-item="SalesOrders.remindReceivers" :check-group-form-item="SalesOrders.remindReceivers"
label="提醒人" label="提醒人"
:check-group-options-list="getOptions('SalesOrders[remindReceivers]')" :check-group-options-list="getOptions('SalesOrders[salesOrderRemindReceivers]')"
@update:item="val => {SalesOrders.remindReceivers = val}"> @update:item="val => {SalesOrders.remindReceivers = val}">
<span slot="formError" class="el-form-item__error"> <span slot="formError" class="el-form-item__error">
{{errorData['remindReceivers']}} {{errorData['remindReceivers']}}
...@@ -140,13 +141,8 @@ ...@@ -140,13 +141,8 @@
option = this.options[this.optionsKey + '[' + key + ']'] option = this.options[this.optionsKey + '[' + key + ']']
} }
if (option) { if (option) {
if (Object.keys(option).length > 0) {
if (Array.isArray(option.value[0])) {
return option.value[0]
}
return option.value return option.value
} }
}
return [] return []
}, },
getForm () { getForm () {
...@@ -198,7 +194,7 @@ ...@@ -198,7 +194,7 @@
data: {id} data: {id}
}).then(res => { }).then(res => {
this.searchText = res.model.client.name this.searchText = res.model.client.name
this.options['SalesOrders[project_id]'].value = [res.model.project] this.options['SalesOrders[project_id]'].value.push(res.model.project)
Object.keys(res.options).forEach(key => { Object.keys(res.options).forEach(key => {
this.$set(this.options, key, res.options[key]) this.$set(this.options, key, res.options[key])
}) })
......
...@@ -12,11 +12,12 @@ ...@@ -12,11 +12,12 @@
</template> </template>
<script> <script>
// import { import {
// requestAPI, requestAPI,
// api api
// } from '@/lib/commonMixin' } from '@/lib/commonMixin'
import operationViewSales from './operationViewSales' import operationViewSales from './operationViewSales'
import {setModule} from '../../../lib/viewHelper'
export default { export default {
name: '', name: '',
components: { components: {
...@@ -28,7 +29,23 @@ ...@@ -28,7 +29,23 @@
} }
}, },
methods: { methods: {
saveSalesItem () {}, saveSalesItem () {
let form = this.$refs.operationViewSales.getForm()
let subData = setModule(form.SalesOrderItems, 'SalesOrderItems')
requestAPI(api.saveSalesAddItem, {
data: {...subData}
}).then(res => {
this.$message({
message: '保存成功!',
type: 'success'
})
this.close(true)
}, error => {
error.msg.forEach(item => {
this.$set(this.errorData, item.name, item.error)
})
})
},
init (id) { init (id) {
this.$refs.operationViewSales.initAdd(id) this.$refs.operationViewSales.initAdd(id)
}, },
......
<template> <template>
<div> <section>
<operation-view-sales ref="operationViewSales"
</div> type="copy"
:error-data="errorData"
@update:type="type = 'add'">
<span slot="operationBtn">
<el-button type="primary" @click="saveSalesItem" size="mini">保存</el-button>
<el-button @click="close" size="mini">关闭</el-button>
</span>
</operation-view-sales>
</section>
</template> </template>
<script> <script>
import {
requestAPI,
api
} from '@/lib/commonMixin'
import operationViewSales from './operationViewSales'
import {setModule} from '../../../lib/viewHelper'
export default { export default {
name: '', name: '',
components: {
operationViewSales
},
data () { data () {
return {} return {
errorData: {}
}
}, },
methods: { methods: {
init () {} saveSalesItem () {
let form = this.$refs.operationViewSales.getForm()
delete form.SalesOrderItems.id
let subData = setModule(form.SalesOrderItems, 'SalesOrderItems')
requestAPI(api.saveSalesAddItem, {
data: {...subData}
}).then(res => {
this.$message({
message: '保存成功!',
type: 'success'
})
this.close(true)
}, error => {
error.msg.forEach(item => {
this.$set(this.errorData, item.name, item.error)
})
})
},
init (id) {
this.$refs.operationViewSales.initCopy(id)
},
close (getList) {
this.$emit('close', getList)
}
}, },
created () { created () {
} }
......
<template> <template>
<div> <section>
<operation-view-sales ref="operationViewSales"
</div> :type="type"
:error-data="errorData"
@update:type="type = 'add'">
<span slot="operationBtn">
<el-button type="primary" @click="saveSalesItem" size="mini">保存</el-button>
<el-button @click="close" size="mini">关闭</el-button>
</span>
</operation-view-sales>
</section>
</template> </template>
<script> <script>
import {
requestAPI,
api
} from '@/lib/commonMixin'
import operationViewSales from './operationViewSales'
import {setModule} from '../../../lib/viewHelper'
export default { export default {
name: '', name: '',
components: {
operationViewSales
},
data () { data () {
return {} return {
errorData: {},
type: ''
}
}, },
methods: { methods: {
init () {} saveSalesItem () {
let form = this.$refs.operationViewSales.getForm()
let subData = setModule(form.SalesOrderItems, 'SalesOrderItems')
requestAPI(api.saveSalesEditItem, {
data: {...subData}
}).then(res => {
this.$message({
message: '保存成功!',
type: 'success'
})
this.close(true)
}, error => {
error.msg.forEach(item => {
this.$set(this.errorData, item.name, item.error)
})
})
},
init (id) {
this.$refs.operationViewSales.initEdit(id)
},
close (getList) {
this.$emit('close', getList)
}
}, },
created () { created () {
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.productType ? scope.row.productType.name : '(未设置)'}} {{scope.row.product_type !== '' ? scope.row.productType.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.productComponent ? scope.row.productComponent.name : '(未设置)'}} {{scope.row.product_component !== '' ? scope.row.productComponent.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.productBrand ? scope.row.productBrand.name : '(未设置)'}} {{scope.row.product_brand !== '' ? scope.row.productBrand.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.productSerie ? scope.row.productSerie.name : '(未设置)'}} {{scope.row.product_serie !== '' ? scope.row.productSerie.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.productMisc ? scope.row.productMisc.name : '(未设置)'}} {{scope.row.product_misc !== '' ? scope.row.productMisc.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.product ? scope.row.product.name : '(未设置)'}} {{scope.row.product_id !== '' ? scope.row.product.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
header-align="center" header-align="center"
min-width="10"> min-width="10">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.supplier ? scope.row.supplier.name : '(未设置)'}} {{scope.row.supplier_id !== '' ? scope.row.supplier.name : '(未设置)'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -137,6 +137,9 @@ ...@@ -137,6 +137,9 @@
close (getList) { close (getList) {
this.$refs.sidePopup && this.$refs.sidePopup &&
this.$refs.sidePopup.close() this.$refs.sidePopup.close()
if (getList) {
this.getList()
}
}, },
popupClose () { popupClose () {
this.$refs.sidePopup && this.$refs.sidePopup &&
...@@ -178,8 +181,14 @@ ...@@ -178,8 +181,14 @@
} else if (this.model[item.key].name) { } else if (this.model[item.key].name) {
value = this.model[item.key].name value = this.model[item.key].name
this.$set(obj, 'value', value === '' ? '(未设置)' : value) this.$set(obj, 'value', value === '' ? '(未设置)' : value)
} else {
if (typeof this.model[item.key] === 'object') {
if (Object.keys(this.model[item.key]).length === 0) {
value = ''
}
} else { } else {
value = this.model[item.key] value = this.model[item.key]
}
this.$set(obj, 'value', value === '' ? '(未设置)' : value) this.$set(obj, 'value', value === '' ? '(未设置)' : value)
} }
if (typeof item.styleKey !== 'undefined') { if (typeof item.styleKey !== 'undefined') {
......
...@@ -101,7 +101,12 @@ export default { ...@@ -101,7 +101,12 @@ export default {
setPrependText: '', setPrependText: '',
engineerKey: '', engineerKey: '',
checkGroupFormItem: Array, checkGroupFormItem: Array,
singleSearchDisabled: Boolean singleSearchDisabled: Boolean,
api: String,
filterable: {
type: Boolean,
default: false
}
}, },
methods: { methods: {
handleCheckGroupAll (val, item) { handleCheckGroupAll (val, item) {
......
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