|
|
|
|
@ -1,8 +1,26 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<xy-dialog ref="dialog" :form="form" :is-show.sync="isShow" :rules="rules" :title="type === 'add' ? '新增用户' : '编辑用户'"
|
|
|
|
|
:width="74" type="form"
|
|
|
|
|
@submit="submit">
|
|
|
|
|
<xy-dialog ref="dialog" :form="flag === 1 ? form : form1" :is-show.sync="isShow" :rules="flag === 1 ? rules : rules1" title="编辑客户"
|
|
|
|
|
:width="74" type="form">
|
|
|
|
|
<template v-if="type === 'add'" v-slot:headerContent>
|
|
|
|
|
<el-steps :active="flag" simple style="width: 72%;margin: auto;">
|
|
|
|
|
<el-step title="客户录入" icon="el-icon-user-solid"></el-step>
|
|
|
|
|
<el-step title="订单录入" icon="el-icon-document-add"></el-step>
|
|
|
|
|
</el-steps>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:footerContent>
|
|
|
|
|
<Button @click="$refs['dialog'].reset()">重置</Button>
|
|
|
|
|
<template v-if="flag === 1">
|
|
|
|
|
<Button type="primary" @click="submit">{{type === 'add' ? '保存客户,退出' : '修改'}}</Button>
|
|
|
|
|
<template v-if="type === 'add'">
|
|
|
|
|
<Button type="primary" @click="submit1">保存客户,继续录入订单</Button>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<Button type="primary" @click="submitOrder">保存订单</Button>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:name>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
@ -97,53 +115,6 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<div v-if="form.customer_address_list.length > 0" class="xy-table-item-content-address">
|
|
|
|
|
<!-- <el-table :stripe="true" :data="form.customer_address_list" :height="260" size="mini" :highlight-current-row="true">-->
|
|
|
|
|
<!-- <el-table-column type="index" width="40">-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="是否默认" width="120" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <el-radio-->
|
|
|
|
|
<!-- :value="scope.row.default"-->
|
|
|
|
|
<!-- :label="1"-->
|
|
|
|
|
<!-- @change="radioPick($event,scope)">默认地址-->
|
|
|
|
|
<!-- </el-radio>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="名称" width="140" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <el-input v-model="scope.row.name" placeholder="名称"></el-input>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="区域" width="200" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <el-cascader-->
|
|
|
|
|
<!-- placeholder="区域选择"-->
|
|
|
|
|
<!-- :options="cities"-->
|
|
|
|
|
<!-- :props="{-->
|
|
|
|
|
<!-- label:'value',-->
|
|
|
|
|
<!-- value:'id',-->
|
|
|
|
|
<!-- lazy:true,-->
|
|
|
|
|
<!-- lazyLoad:loadLeaf-->
|
|
|
|
|
<!-- }">-->
|
|
|
|
|
<!-- </el-cascader>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="地址" min-width="200" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <el-input v-model="scope.row.address"></el-input>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="备注" min-width="200" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <el-input v-model="scope.row.remark" type="textarea" :autosize="{minRows:2}" placeholder="备注"></el-input>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label="操作" width="70" fixed="right" align="center">-->
|
|
|
|
|
<!-- <template v-slot:default="scope">-->
|
|
|
|
|
<!-- <Button ghost type="primary" size="small">删除</Button>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- </el-table>-->
|
|
|
|
|
<xy-table :height="200" :is-page="false" :list="form.customer_address_list" :table-item="addressTable">
|
|
|
|
|
<template v-slot:btns>
|
|
|
|
|
<el-table-column align="center" fixed="right" header-align="center" label="操作" width="80">
|
|
|
|
|
@ -218,6 +189,129 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 订单-->
|
|
|
|
|
<template v-slot:product_id>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>产品:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select
|
|
|
|
|
:value="pickedProduct.name"
|
|
|
|
|
v-load-more="productLoad"
|
|
|
|
|
placeholder="请选择产品"
|
|
|
|
|
style="width: 300px"
|
|
|
|
|
@change="productPick">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in products"
|
|
|
|
|
value-key="id"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:date>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>开始/结束时间:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
range-separator="~"
|
|
|
|
|
v-model="form1.date"
|
|
|
|
|
end-placeholder="结束时间"
|
|
|
|
|
start-placeholder="开始时间"
|
|
|
|
|
style="width: 300px;"
|
|
|
|
|
type="daterange"
|
|
|
|
|
:picker-options="pickerOptions"
|
|
|
|
|
value-format="yyyy-MM-dd"></el-date-picker>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:service_times>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>服务次数:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-input-number v-model="form1.service_times" :controls="false" :precision="0"
|
|
|
|
|
placeholder="请输入服务次数" style="width: 300px;"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:unit_price>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>单次单价:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content xy-table-item-price">
|
|
|
|
|
<el-input-number v-model="form1.unit_price" :controls="false" :precision="2"
|
|
|
|
|
placeholder="请输入单次单价" style="width: 300px;"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:total_time>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>总计时长:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content xy-table-item-min">
|
|
|
|
|
<el-input v-model="form1.total_time"
|
|
|
|
|
placeholder="请输入总计时长" style="width: 300px;"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:total_money>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>总计金额:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content xy-table-item-price">
|
|
|
|
|
<el-input-number :precision="2" :controls="false" v-model="form1.total_money"
|
|
|
|
|
placeholder="请输入总计金额" style="width: 300px;"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:account_id>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>结算对象:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form1.account_id"
|
|
|
|
|
placeholder="请选择结算对象"
|
|
|
|
|
style="width: 300px">
|
|
|
|
|
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:status>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>状态:
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<div style="width: 300px;display: flex;">
|
|
|
|
|
<el-radio v-model="form1.status" :label="0">未开始</el-radio>
|
|
|
|
|
<el-radio v-model="form1.status" :label="1">进行中</el-radio>
|
|
|
|
|
<el-radio v-model="form1.status" :label="2">已完成</el-radio>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</xy-dialog>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -225,6 +319,8 @@
|
|
|
|
|
<script>
|
|
|
|
|
import {getparameter} from '@/api/system/dictionary'
|
|
|
|
|
import {save, getInfo} from '@/api/customer'
|
|
|
|
|
import {save as orderSave} from '@/api/order'
|
|
|
|
|
import {getList as productList} from "@/api/product";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
props: {
|
|
|
|
|
@ -235,6 +331,10 @@ export default {
|
|
|
|
|
cities:{
|
|
|
|
|
type: Array,
|
|
|
|
|
default: () => []
|
|
|
|
|
},
|
|
|
|
|
accounts:{
|
|
|
|
|
type: Array,
|
|
|
|
|
default: () => []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
@ -250,6 +350,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return {
|
|
|
|
|
flag:1,//step进度
|
|
|
|
|
id: '',
|
|
|
|
|
type: '',
|
|
|
|
|
isShow: false,
|
|
|
|
|
@ -397,7 +498,7 @@ export default {
|
|
|
|
|
{required: true, message: '请选择失能等级'},
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
map: {},
|
|
|
|
|
map: [],
|
|
|
|
|
option: {
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
@ -411,24 +512,124 @@ export default {
|
|
|
|
|
// dragEnable: false,
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//订单
|
|
|
|
|
products: [],
|
|
|
|
|
pickedProduct:{},
|
|
|
|
|
productSelect: {
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 10
|
|
|
|
|
},
|
|
|
|
|
pickerOptions: {
|
|
|
|
|
shortcuts: [{
|
|
|
|
|
text: '最近一周',
|
|
|
|
|
onClick(picker) {
|
|
|
|
|
const end = new Date();
|
|
|
|
|
const start = new Date();
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 7);
|
|
|
|
|
picker.$emit('pick', [start, end]);
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
text: '最近一个月',
|
|
|
|
|
onClick(picker) {
|
|
|
|
|
const end = new Date();
|
|
|
|
|
const start = new Date();
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 30);
|
|
|
|
|
picker.$emit('pick', [start, end]);
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
text: '最近三个月',
|
|
|
|
|
onClick(picker) {
|
|
|
|
|
const end = new Date();
|
|
|
|
|
const start = new Date();
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 90);
|
|
|
|
|
picker.$emit('pick', [start, end]);
|
|
|
|
|
}
|
|
|
|
|
},{
|
|
|
|
|
text: '最近一年',
|
|
|
|
|
onClick(picker) {
|
|
|
|
|
const end = new Date();
|
|
|
|
|
const start = new Date();
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 365);
|
|
|
|
|
picker.$emit('pick', [start, end]);
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
},
|
|
|
|
|
form1: {
|
|
|
|
|
product_id: '',
|
|
|
|
|
date: '',
|
|
|
|
|
service_times: '',
|
|
|
|
|
unit_price: '',
|
|
|
|
|
total_time: '',
|
|
|
|
|
total_money: '',
|
|
|
|
|
account_id:'',
|
|
|
|
|
status: 0,
|
|
|
|
|
customer_id: '',
|
|
|
|
|
product_type_id:'',
|
|
|
|
|
},
|
|
|
|
|
rules1: {
|
|
|
|
|
customer_id:[
|
|
|
|
|
{required: true, message: '请选择客户'}
|
|
|
|
|
],
|
|
|
|
|
product_id:[
|
|
|
|
|
{required: true, message: '请选择产品'}
|
|
|
|
|
],
|
|
|
|
|
date:[
|
|
|
|
|
{required: true, message: '请选择开始结束时间'}
|
|
|
|
|
],
|
|
|
|
|
service_times:[
|
|
|
|
|
{required: true, message: '请填写服务次数'}
|
|
|
|
|
],
|
|
|
|
|
unit_price:[
|
|
|
|
|
{required: true, message: '请填写单次单价'}
|
|
|
|
|
],
|
|
|
|
|
total_time:[
|
|
|
|
|
{required: true, message: '请填写总计时长'}
|
|
|
|
|
],
|
|
|
|
|
total_money:[
|
|
|
|
|
{required: true, message: '请填写总计金额'}
|
|
|
|
|
],
|
|
|
|
|
status:[
|
|
|
|
|
{required: true, message: '请选择状态'}
|
|
|
|
|
],
|
|
|
|
|
account_id:[
|
|
|
|
|
{required: true, message: '请选择结算对象'}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// async loadLeaf(node, resolve){
|
|
|
|
|
// if(node?.root){
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
// const res = await getparameter({number:node.data.remark},false)
|
|
|
|
|
// console.log(res)
|
|
|
|
|
// resolve(res.detail)
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
// radioPick(e,scope){
|
|
|
|
|
// this.form.customer_address_list.map((item, index) => {
|
|
|
|
|
// index === scope.$index ? item.default = 1 : item.default = 0
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
init(){
|
|
|
|
|
this.form = {
|
|
|
|
|
name: '',
|
|
|
|
|
phone: '',
|
|
|
|
|
idcard: '',
|
|
|
|
|
contact_name: '',
|
|
|
|
|
contact_phone: '',
|
|
|
|
|
idcard_address: '',
|
|
|
|
|
area:'',
|
|
|
|
|
customer_address_list: [],
|
|
|
|
|
sex: '',
|
|
|
|
|
birthday: '',
|
|
|
|
|
remark: '',
|
|
|
|
|
level_id: '',
|
|
|
|
|
}
|
|
|
|
|
this.form1 = {
|
|
|
|
|
product_id: '',
|
|
|
|
|
date: '',
|
|
|
|
|
service_times: '',
|
|
|
|
|
unit_price: '',
|
|
|
|
|
total_time: '',
|
|
|
|
|
total_money: '',
|
|
|
|
|
account_id:'',
|
|
|
|
|
status: 0,
|
|
|
|
|
customer_id: '',
|
|
|
|
|
product_type_id:'',
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
areaPick(e){
|
|
|
|
|
console.log(e)
|
|
|
|
|
},
|
|
|
|
|
@ -446,40 +647,136 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
submit() {
|
|
|
|
|
Object.defineProperty(this.form,'city_id',{
|
|
|
|
|
value:this.form.area[0] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'area_id',{
|
|
|
|
|
value:this.form.area[1] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'street_id',{
|
|
|
|
|
value:this.form.area[2] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
this.$refs['dialog'].validate().then(res => {
|
|
|
|
|
Object.defineProperty(this.form,'city_id',{
|
|
|
|
|
value:this.form.area[0] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'area_id',{
|
|
|
|
|
value:this.form.area[1] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'street_id',{
|
|
|
|
|
value:this.form.area[2] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (this.type === 'editor') {
|
|
|
|
|
Object.defineProperty(this.form, 'id', {
|
|
|
|
|
value: this.id,
|
|
|
|
|
if (this.type === 'editor') {
|
|
|
|
|
Object.defineProperty(this.form, 'id', {
|
|
|
|
|
value: this.id,
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
console.log(this.form)
|
|
|
|
|
save(this.form).then(res => {
|
|
|
|
|
this.$successMessage(this.type, '客户')
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
submit1(){
|
|
|
|
|
this.$refs['dialog'].validate().then(res => {
|
|
|
|
|
Object.defineProperty(this.form,'city_id',{
|
|
|
|
|
value:this.form.area[0] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'area_id',{
|
|
|
|
|
value:this.form.area[1] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form,'street_id',{
|
|
|
|
|
value:this.form.area[2] || '',
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (this.type === 'editor') {
|
|
|
|
|
Object.defineProperty(this.form, 'id', {
|
|
|
|
|
value: this.id,
|
|
|
|
|
enumerable: true,
|
|
|
|
|
writable: true,
|
|
|
|
|
configurable: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
console.log(this.form)
|
|
|
|
|
save(this.form).then(res => {
|
|
|
|
|
this.$successMessage(this.type, '客户')
|
|
|
|
|
this.flag = 2
|
|
|
|
|
this.form1.customer_id = res.id
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//订单
|
|
|
|
|
productPick(e){
|
|
|
|
|
this.pickedProduct = e
|
|
|
|
|
this.form1.product_id = e.id
|
|
|
|
|
this.form1.product_type_id = e.product_type_id
|
|
|
|
|
console.log(e)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
productLoad() {
|
|
|
|
|
this.productSelect.page++
|
|
|
|
|
this.getProducts()
|
|
|
|
|
},
|
|
|
|
|
async getProducts() {
|
|
|
|
|
const res = await productList(this.productSelect, false)
|
|
|
|
|
if (res.data.length === 0) {
|
|
|
|
|
this.productSelect.page--
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'warning',
|
|
|
|
|
message: '没有跟多产品了'
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
console.log(this.form)
|
|
|
|
|
save(this.form).then(res => {
|
|
|
|
|
this.$successMessage(this.type, '客户')
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
this.products.push(...res.data)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
submitOrder(){
|
|
|
|
|
this.$refs['dialog'].validate().then(res => {
|
|
|
|
|
console.log(this.form1)
|
|
|
|
|
Object.defineProperty(this.form1,'start_date',{
|
|
|
|
|
value:this.form1.date[0],
|
|
|
|
|
enumerable:true,
|
|
|
|
|
writable:true,
|
|
|
|
|
configurable:true
|
|
|
|
|
})
|
|
|
|
|
Object.defineProperty(this.form1,'end_date',{
|
|
|
|
|
value:this.form1.date[1],
|
|
|
|
|
enumerable:true,
|
|
|
|
|
writable:true,
|
|
|
|
|
configurable:true
|
|
|
|
|
})
|
|
|
|
|
delete this.form1.date
|
|
|
|
|
if(this.type === 'editor'){
|
|
|
|
|
Object.defineProperty(this.form,'id',{
|
|
|
|
|
value:this.id,
|
|
|
|
|
enumerable:true,
|
|
|
|
|
writable:true,
|
|
|
|
|
configurable:true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
orderSave(this.form1).then(res => {
|
|
|
|
|
this.$successMessage(this.type,'订单')
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
isShow(val) {
|
|
|
|
|
@ -490,9 +787,9 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.id = ''
|
|
|
|
|
this.type = ''
|
|
|
|
|
this.map = {}
|
|
|
|
|
this.$refs['dialog'].reset()
|
|
|
|
|
delete this.form.id
|
|
|
|
|
this.map = []
|
|
|
|
|
this.flag = 1
|
|
|
|
|
this.init()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
map(val) {
|
|
|
|
|
@ -506,6 +803,9 @@ export default {
|
|
|
|
|
comment: ''
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.getProducts()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
@ -611,4 +911,19 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-step__title{
|
|
|
|
|
font-size: 15px !important;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .el-steps--simple{
|
|
|
|
|
background: transparent !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.xy-table-item-label {
|
|
|
|
|
width: 160px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-input__inner {
|
|
|
|
|
text-align: left;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|