whycq
2023-11-22 2be2bddbec66206eee5c54328bc3bafffccfa9ec
modi
5个文件已修改
1460 ■■■■■ 已修改文件
pages/business/plan/modiPlan3.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/modiPlan4.vue 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/modiPlan5.vue 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/modiPlan6.vue 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/modiPlan7.vue 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/modiPlan3.vue
@@ -54,7 +54,7 @@
                    <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" />
                </uni-forms-item>
            </uni-forms>
            <button type="primary" @click="addCstmr()">添加</button>
            <button type="primary" @click="addCstmr()">修改</button>
        </view>
    </view>
</template>
@@ -341,7 +341,7 @@
                        success(result) {
                            var res = result.data
                            if (res.code === 200) {
                                uni.navigateBack()
                                uni.navigateBack({delta:2})
                            } else if (res.code === 403) {
                                uni.showToast({title: res.msg, icon: "none", position: 'top'})
                                setTimeout(() => {
pages/business/plan/modiPlan4.vue
@@ -1,8 +1,372 @@
<template>
    <view>
        <view class="container">
            <uni-forms ref="baseForm" :modelValue="baseFormData">
                <uni-forms-item label="售前规划单名称" required name="name">
                    <uni-easyinput v-model="baseFormData.name" placeholder="请输入售前规划单名称" />
                </uni-forms-item>
                <uni-forms-item label="跟踪项目" required name="orderId" >
                    <view @click="autoLoad('order','')">
                        <uni-combox :candidates="orderIds" placeholder="请选择跟踪项目"
                        v-model="baseFormData.orderId$" @input="autoLoad('order',baseFormData.orderId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="客户名称" required name="cstmrId">
                    <view @click="autoLoad('cstmr','')">
                        <uni-combox :candidates="cstmrs" placeholder="请选择客户名称"
                        v-model="baseFormData.cstmrId$" @input="autoLoad('cstmr',baseFormData.cstmrId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="业务员联系方式" required name="userXmlSelPhone">
                    <uni-easyinput v-model="baseFormData.userXmlSelPhone" placeholder="请输入业务员联系方式" />
                </uni-forms-item>
                <uni-forms-item label="业务类型" required name="planType">
                    <uni-easyinput disabled placeholder="请输入业务类型" v-model="baseFormData.planType"></uni-easyinput>
                </uni-forms-item>
                <uni-forms-item label="立项"  name="beItem">
                    <uni-data-checkbox v-model="baseFormData.beItem" :localdata="beItem$" />
                </uni-forms-item>
                <uni-forms-item label="所需" name="planNeed">
                    <uni-data-checkbox v-model="baseFormData.planNeed" multiple :localdata="planNeeds" />
                </uni-forms-item>
                <uni-forms-item label="更改方案" name="change">
                    <uni-data-checkbox v-model="baseFormData.change" :localdata="changeValue" />
                </uni-forms-item>
                <uni-forms-item label="更改方案原因" name="changeReason">
                    <uni-easyinput v-model="baseFormData.changeReason" placeholder="请输入更改方案原因" />
                </uni-forms-item>
                <uni-forms-item label="规格组长奖金" name="planLeaderBonus">
                    <uni-easyinput v-model="baseFormData.planLeaderBonus" placeholder="请输入规格组长奖金" />
                </uni-forms-item>
                <uni-forms-item label="完成时间" name="finishTime">
                    <uni-datetime-picker type="date" return-type="string" v-model="baseFormData.finishTime"/>
                    </uni-data-picker>
                </uni-forms-item>
                <uni-forms-item label="更改次数" name="changeTime">
                    <uni-easyinput v-model="baseFormData.changeTime" placeholder="请输入更改次数" />
                </uni-forms-item>
                <uni-forms-item label="规格奖金" name="planBonus">
                    <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" />
                </uni-forms-item>
            </uni-forms>
            <button type="primary" @click="addCstmr()">修改</button>
        </view>
    </view>
</template>
<script>
    import user from '@/pages/api/user/user.js'
    import test from '../../../static/js/citys-data.js'
    export default {
        data() {
            return {
                orderIds: [],
                orderList: [],
                users: [],
                userList: [],
                cstmrs: [],
                cstmrList: [],
                baseFormData: {
                    name: '',
                    orderId: '',
                    userId: '',
                    appleTime: '',
                    cstmrId: '',
                    planType: '四向穿梭库/两向穿梭库',
                    select_2: '',
                    changeReason: '',
                    changeTime: '',
                    planBonus: '',
                    planLeaderBonus: '',
                    userXmlSelPhone: ''
                },
                rules: {
                    name: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入售前规划单名称',
                        }]
                    },
                    orderId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择跟踪项目',
                        }]
                    },
                    userId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择业务员',
                        }]
                    },
                    userXmlSelPhone: {
                        rules: [{
                            required: true,
                            errorMessage: '请填写业务员联系方式',
                        }]
                    },
                    appleTime: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择申请日期',
                        }]
                    },
                    cstmrId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择客户名称',
                        }]
                    },
                    planType: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入业务类型',
                        }]
                    },
                },
                changeValue: [
                    {
                        text: '是',
                        value: 1
                    },
                    {
                        text: '否',
                        value: 0
                    }
                ],
                // 单选数据源
                beItem$: [{
                    text: '是',
                    value: 1
                }, {
                    text: '否(需售前技术跟进项目,与客户直接沟通等)',
                    value: 0
                }],
                citysData: [],
                citysDataTemp: '',
                planNeeds: [
                    {
                        text: '系统 方案规划设计',
                        value: '1'
                    },
                    {
                        text: '提供选材清单',
                        value: '2'
                    },
                    {
                        text: '立体库设计方案',
                        value: '3'
                    }
                ]
            }
        },
        onReady() {
                // 需要在onReady中设置规则
                this.$refs.baseForm.setRules(this.rules)
        },
        onShow() {
            // 获取省市区
            this.citysData = test.citysData
            // 获取业务员联系方式
            this.getDetail()
        },
        onLoad(option) {
            this.$nextTick(() => {
                if (JSON.stringify(option) != "{}") {
                    this.id = option.id
                    this.init()
                } else {
                    let _this = this
                    const eventChannel = this.getOpenerEventChannel();
                    eventChannel.on('cstmr', function(data) {
                        _this.id = data.data
                        _this.init()
                    })
                }
            })
        },
        methods: {
            init() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/plan/' + that.id +'/auth',
                    header: {'token' : uni.getStorageSync('token')},
                    method: 'GET',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            let planNeed = res.data.planNeed.split('-')
                            res.data.planNeed = []
                            for (let k of planNeed) {
                                res.data.planNeed.push(k)
                            }
                            switch(res.data.select_2) {
                                case 'value1':
                                    res.data.select_2 = '横梁式'
                                    break;
                                case 'value2':
                                    res.data.select_2 = '驶入式'
                                    break;
                                case 'value3':
                                    res.data.select_2 = '悬梁式'
                                    break;
                                case 'value4':
                                    res.data.select_2 = '流利式'
                                    break;
                                case 'value5':
                                    res.data.select_2 = '重力式'
                                    break;
                                case 'value6':
                                    res.data.select_2 = '其他'
                                    break;
                            }
                            that.baseFormData = res.data
                        }
                    }
                })
            },
            async getDetail() {
                let res = await user.getDetail()
                if (res.code === 200) {
                    this.baseFormData.userXmlSelPhone = res.data.mobile
                } else if (res.code === 403) {
                    this.backLogin(res)
                }
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
            },
            areaChange(e) {
                this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
            },
            autoLoad(type,condition) {
                let that = this
                that.orderIds = []
                that.users = []
                that.cstmrs = []
                var a = that.baseUrl + '/' + type + 'Query/auth'
                uni.request({
                    url: that.baseUrl + '/' + type + 'Query' +'/auth',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            var element;
                            if (type == 'order') {
                                for(element of res.data) {
                                    that.orderIds.push(element.name)
                                    that.orderList.push(element)
                                }
                                return
                            }
                            if (type == 'user') {
                                for(element of res.data) {
                                    that.users.push(element.value)
                                    that.userList.push(element)
                                }
                                return
                            }
                            if (type == 'cstmr') {
                                for(element of res.data) {
                                    that.cstmrs.push(element.value)
                                    that.cstmrList.push(element)
                                }
                                return
                            }
                        }
                    }
                })
            },
            getOrderId() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/order/all/get/kv',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                    }
                })
            },
            // 添加用户
            addCstmr() {
                let that = this
                var element
                for (element of that.cstmrList) {
                    if(element.value == that.baseFormData.cstmrId$) {
                        that.baseFormData.cstmrId = element.id
                    }
                }
                for (element of that.orderList) {
                    if(element.name == that.baseFormData.orderId$) {
                        that.baseFormData.orderId = element.id
                    }
                }
                that.baseFormData.planType = 7
                var temp
                for (var i = 0 ; i < that.baseFormData.planNeed.length; i++) {
                    if (i == 0) {
                        temp = that.baseFormData.planNeed[i]
                    } else {
                        temp = temp + '-' + that.baseFormData.planNeed[i]
                    }
                }
                that.baseFormData.planNeed = temp
                this.$refs.baseForm.validate().then(res=>{
                    for (let k in res) {
                        if (res[k] == undefined) {
                            res[k] = ''
                        }
                    }
                    res['id'] = that.baseFormData.id
                    uni.request({
                        url: that.baseUrl + '/plan/update/auth',
                        header:{
                            'token':uni.getStorageSync('token'),
                            'content-type':'application/x-www-form-urlencoded',
                            },
                        data: res,
                        method: 'POST',
                        success(result) {
                            var res = result.data
                            if (res.code === 200) {
                                uni.navigateBack({delta:2})
                            } else if (res.code === 403) {
                                uni.showToast({title: res.msg, icon: "none", position: 'top'})
                                setTimeout(() => {
                                    uni.reLaunch({
                                        url: '../../login/login'
                                    });
                                }, 1000);
                            } else {
                                uni.showToast({title: res.msg, icon: "none",position: 'top'})
                            }
                        }
                    })
                }).catch(err =>{
                })
            }
        }
    }
</script>
<style>
    .container {
        min-height: 50rpx;
        padding: 15px;
        background-color: #fff;
        /* background-color: aqua; */
    }
</style>
pages/business/plan/modiPlan5.vue
@@ -1,8 +1,372 @@
<template>
    <view>
        <view class="container">
            <uni-forms ref="baseForm" :modelValue="baseFormData">
                <uni-forms-item label="售前规划单名称" required name="name">
                    <uni-easyinput v-model="baseFormData.name" placeholder="请输入售前规划单名称" />
                </uni-forms-item>
                <uni-forms-item label="跟踪项目" required name="orderId" >
                    <view @click="autoLoad('order','')">
                        <uni-combox :candidates="orderIds" placeholder="请选择跟踪项目"
                        v-model="baseFormData.orderId$" @input="autoLoad('order',baseFormData.orderId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="客户名称" required name="cstmrId">
                    <view @click="autoLoad('cstmr','')">
                        <uni-combox :candidates="cstmrs" placeholder="请选择客户名称"
                        v-model="baseFormData.cstmrId$" @input="autoLoad('cstmr',baseFormData.cstmrId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="业务员联系方式" required name="userXmlSelPhone">
                    <uni-easyinput v-model="baseFormData.userXmlSelPhone" placeholder="请输入业务员联系方式" />
                </uni-forms-item>
                <uni-forms-item label="业务类型" required name="planType">
                    <uni-easyinput disabled placeholder="请输入业务类型" v-model="baseFormData.planType"></uni-easyinput>
                </uni-forms-item>
                <uni-forms-item label="立项"  name="beItem">
                    <uni-data-checkbox v-model="baseFormData.beItem" :localdata="beItem$" />
                </uni-forms-item>
                <uni-forms-item label="所需" name="planNeed">
                    <uni-data-checkbox v-model="baseFormData.planNeed" multiple :localdata="planNeeds" />
                </uni-forms-item>
                <uni-forms-item label="更改方案" name="change">
                    <uni-data-checkbox v-model="baseFormData.change" :localdata="changeValue" />
                </uni-forms-item>
                <uni-forms-item label="更改方案原因" name="changeReason">
                    <uni-easyinput v-model="baseFormData.changeReason" placeholder="请输入更改方案原因" />
                </uni-forms-item>
                <uni-forms-item label="规格组长奖金" name="planLeaderBonus">
                    <uni-easyinput v-model="baseFormData.planLeaderBonus" placeholder="请输入规格组长奖金" />
                </uni-forms-item>
                <uni-forms-item label="完成时间" name="finishTime">
                    <uni-datetime-picker type="date" return-type="string" v-model="baseFormData.finishTime"/>
                    </uni-data-picker>
                </uni-forms-item>
                <uni-forms-item label="更改次数" name="changeTime">
                    <uni-easyinput v-model="baseFormData.changeTime" placeholder="请输入更改次数" />
                </uni-forms-item>
                <uni-forms-item label="规格奖金" name="planBonus">
                    <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" />
                </uni-forms-item>
            </uni-forms>
            <button type="primary" @click="addCstmr()">修改</button>
        </view>
    </view>
</template>
<script>
    import user from '@/pages/api/user/user.js'
    import test from '../../../static/js/citys-data.js'
    export default {
        data() {
            return {
                orderIds: [],
                orderList: [],
                users: [],
                userList: [],
                cstmrs: [],
                cstmrList: [],
                baseFormData: {
                    name: '',
                    orderId: '',
                    userId: '',
                    appleTime: '',
                    cstmrId: '',
                    planType: '四向穿梭库/两向穿梭库',
                    select_2: '',
                    changeReason: '',
                    changeTime: '',
                    planBonus: '',
                    planLeaderBonus: '',
                    userXmlSelPhone: ''
                },
                rules: {
                    name: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入售前规划单名称',
                        }]
                    },
                    orderId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择跟踪项目',
                        }]
                    },
                    userId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择业务员',
                        }]
                    },
                    userXmlSelPhone: {
                        rules: [{
                            required: true,
                            errorMessage: '请填写业务员联系方式',
                        }]
                    },
                    appleTime: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择申请日期',
                        }]
                    },
                    cstmrId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择客户名称',
                        }]
                    },
                    planType: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入业务类型',
                        }]
                    },
                },
                changeValue: [
                    {
                        text: '是',
                        value: 1
                    },
                    {
                        text: '否',
                        value: 0
                    }
                ],
                // 单选数据源
                beItem$: [{
                    text: '是',
                    value: 1
                }, {
                    text: '否(需售前技术跟进项目,与客户直接沟通等)',
                    value: 0
                }],
                citysData: [],
                citysDataTemp: '',
                planNeeds: [
                    {
                        text: '系统 方案规划设计',
                        value: '1'
                    },
                    {
                        text: '提供选材清单',
                        value: '2'
                    },
                    {
                        text: '立体库设计方案',
                        value: '3'
                    }
                ]
            }
        },
        onReady() {
                // 需要在onReady中设置规则
                this.$refs.baseForm.setRules(this.rules)
        },
        onShow() {
            // 获取省市区
            this.citysData = test.citysData
            // 获取业务员联系方式
            this.getDetail()
        },
        onLoad(option) {
            this.$nextTick(() => {
                if (JSON.stringify(option) != "{}") {
                    this.id = option.id
                    this.init()
                } else {
                    let _this = this
                    const eventChannel = this.getOpenerEventChannel();
                    eventChannel.on('cstmr', function(data) {
                        _this.id = data.data
                        _this.init()
                    })
                }
            })
        },
        methods: {
            init() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/plan/' + that.id +'/auth',
                    header: {'token' : uni.getStorageSync('token')},
                    method: 'GET',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            let planNeed = res.data.planNeed.split('-')
                            res.data.planNeed = []
                            for (let k of planNeed) {
                                res.data.planNeed.push(k)
                            }
                            switch(res.data.select_2) {
                                case 'value1':
                                    res.data.select_2 = '横梁式'
                                    break;
                                case 'value2':
                                    res.data.select_2 = '驶入式'
                                    break;
                                case 'value3':
                                    res.data.select_2 = '悬梁式'
                                    break;
                                case 'value4':
                                    res.data.select_2 = '流利式'
                                    break;
                                case 'value5':
                                    res.data.select_2 = '重力式'
                                    break;
                                case 'value6':
                                    res.data.select_2 = '其他'
                                    break;
                            }
                            that.baseFormData = res.data
                        }
                    }
                })
            },
            async getDetail() {
                let res = await user.getDetail()
                if (res.code === 200) {
                    this.baseFormData.userXmlSelPhone = res.data.mobile
                } else if (res.code === 403) {
                    this.backLogin(res)
                }
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
            },
            areaChange(e) {
                this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
            },
            autoLoad(type,condition) {
                let that = this
                that.orderIds = []
                that.users = []
                that.cstmrs = []
                var a = that.baseUrl + '/' + type + 'Query/auth'
                uni.request({
                    url: that.baseUrl + '/' + type + 'Query' +'/auth',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            var element;
                            if (type == 'order') {
                                for(element of res.data) {
                                    that.orderIds.push(element.name)
                                    that.orderList.push(element)
                                }
                                return
                            }
                            if (type == 'user') {
                                for(element of res.data) {
                                    that.users.push(element.value)
                                    that.userList.push(element)
                                }
                                return
                            }
                            if (type == 'cstmr') {
                                for(element of res.data) {
                                    that.cstmrs.push(element.value)
                                    that.cstmrList.push(element)
                                }
                                return
                            }
                        }
                    }
                })
            },
            getOrderId() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/order/all/get/kv',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                    }
                })
            },
            // 添加用户
            addCstmr() {
                let that = this
                var element
                for (element of that.cstmrList) {
                    if(element.value == that.baseFormData.cstmrId$) {
                        that.baseFormData.cstmrId = element.id
                    }
                }
                for (element of that.orderList) {
                    if(element.name == that.baseFormData.orderId$) {
                        that.baseFormData.orderId = element.id
                    }
                }
                that.baseFormData.planType = 8
                var temp
                for (var i = 0 ; i < that.baseFormData.planNeed.length; i++) {
                    if (i == 0) {
                        temp = that.baseFormData.planNeed[i]
                    } else {
                        temp = temp + '-' + that.baseFormData.planNeed[i]
                    }
                }
                that.baseFormData.planNeed = temp
                this.$refs.baseForm.validate().then(res=>{
                    for (let k in res) {
                        if (res[k] == undefined) {
                            res[k] = ''
                        }
                    }
                    res['id'] = that.baseFormData.id
                    uni.request({
                        url: that.baseUrl + '/plan/update/auth',
                        header:{
                            'token':uni.getStorageSync('token'),
                            'content-type':'application/x-www-form-urlencoded',
                            },
                        data: res,
                        method: 'POST',
                        success(result) {
                            var res = result.data
                            if (res.code === 200) {
                                uni.navigateBack({delta:2})
                            } else if (res.code === 403) {
                                uni.showToast({title: res.msg, icon: "none", position: 'top'})
                                setTimeout(() => {
                                    uni.reLaunch({
                                        url: '../../login/login'
                                    });
                                }, 1000);
                            } else {
                                uni.showToast({title: res.msg, icon: "none",position: 'top'})
                            }
                        }
                    })
                }).catch(err =>{
                })
            }
        }
    }
</script>
<style>
    .container {
        min-height: 50rpx;
        padding: 15px;
        background-color: #fff;
        /* background-color: aqua; */
    }
</style>
pages/business/plan/modiPlan6.vue
@@ -1,8 +1,372 @@
<template>
    <view>
        <view class="container">
            <uni-forms ref="baseForm" :modelValue="baseFormData">
                <uni-forms-item label="售前规划单名称" required name="name">
                    <uni-easyinput v-model="baseFormData.name" placeholder="请输入售前规划单名称" />
                </uni-forms-item>
                <uni-forms-item label="跟踪项目" required name="orderId" >
                    <view @click="autoLoad('order','')">
                        <uni-combox :candidates="orderIds" placeholder="请选择跟踪项目"
                        v-model="baseFormData.orderId$" @input="autoLoad('order',baseFormData.orderId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="客户名称" required name="cstmrId">
                    <view @click="autoLoad('cstmr','')">
                        <uni-combox :candidates="cstmrs" placeholder="请选择客户名称"
                        v-model="baseFormData.cstmrId$" @input="autoLoad('cstmr',baseFormData.cstmrId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="业务员联系方式" required name="userXmlSelPhone">
                    <uni-easyinput v-model="baseFormData.userXmlSelPhone" placeholder="请输入业务员联系方式" />
                </uni-forms-item>
                <uni-forms-item label="业务类型" required name="planType">
                    <uni-easyinput disabled placeholder="请输入业务类型" v-model="baseFormData.planType"></uni-easyinput>
                </uni-forms-item>
                <uni-forms-item label="立项"  name="beItem">
                    <uni-data-checkbox v-model="baseFormData.beItem" :localdata="beItem$" />
                </uni-forms-item>
                <uni-forms-item label="所需" name="planNeed">
                    <uni-data-checkbox v-model="baseFormData.planNeed" multiple :localdata="planNeeds" />
                </uni-forms-item>
                <uni-forms-item label="更改方案" name="change">
                    <uni-data-checkbox v-model="baseFormData.change" :localdata="changeValue" />
                </uni-forms-item>
                <uni-forms-item label="更改方案原因" name="changeReason">
                    <uni-easyinput v-model="baseFormData.changeReason" placeholder="请输入更改方案原因" />
                </uni-forms-item>
                <uni-forms-item label="规格组长奖金" name="planLeaderBonus">
                    <uni-easyinput v-model="baseFormData.planLeaderBonus" placeholder="请输入规格组长奖金" />
                </uni-forms-item>
                <uni-forms-item label="完成时间" name="finishTime">
                    <uni-datetime-picker type="date" return-type="string" v-model="baseFormData.finishTime"/>
                    </uni-data-picker>
                </uni-forms-item>
                <uni-forms-item label="更改次数" name="changeTime">
                    <uni-easyinput v-model="baseFormData.changeTime" placeholder="请输入更改次数" />
                </uni-forms-item>
                <uni-forms-item label="规格奖金" name="planBonus">
                    <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" />
                </uni-forms-item>
            </uni-forms>
            <button type="primary" @click="addCstmr()">修改</button>
        </view>
    </view>
</template>
<script>
    import user from '@/pages/api/user/user.js'
    import test from '../../../static/js/citys-data.js'
    export default {
        data() {
            return {
                orderIds: [],
                orderList: [],
                users: [],
                userList: [],
                cstmrs: [],
                cstmrList: [],
                baseFormData: {
                    name: '',
                    orderId: '',
                    userId: '',
                    appleTime: '',
                    cstmrId: '',
                    planType: '四向穿梭库/两向穿梭库',
                    select_2: '',
                    changeReason: '',
                    changeTime: '',
                    planBonus: '',
                    planLeaderBonus: '',
                    userXmlSelPhone: ''
                },
                rules: {
                    name: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入售前规划单名称',
                        }]
                    },
                    orderId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择跟踪项目',
                        }]
                    },
                    userId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择业务员',
                        }]
                    },
                    userXmlSelPhone: {
                        rules: [{
                            required: true,
                            errorMessage: '请填写业务员联系方式',
                        }]
                    },
                    appleTime: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择申请日期',
                        }]
                    },
                    cstmrId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择客户名称',
                        }]
                    },
                    planType: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入业务类型',
                        }]
                    },
                },
                changeValue: [
                    {
                        text: '是',
                        value: 1
                    },
                    {
                        text: '否',
                        value: 0
                    }
                ],
                // 单选数据源
                beItem$: [{
                    text: '是',
                    value: 1
                }, {
                    text: '否(需售前技术跟进项目,与客户直接沟通等)',
                    value: 0
                }],
                citysData: [],
                citysDataTemp: '',
                planNeeds: [
                    {
                        text: '系统 方案规划设计',
                        value: '1'
                    },
                    {
                        text: '提供选材清单',
                        value: '2'
                    },
                    {
                        text: '立体库设计方案',
                        value: '3'
                    }
                ]
            }
        },
        onReady() {
                // 需要在onReady中设置规则
                this.$refs.baseForm.setRules(this.rules)
        },
        onShow() {
            // 获取省市区
            this.citysData = test.citysData
            // 获取业务员联系方式
            this.getDetail()
        },
        onLoad(option) {
            this.$nextTick(() => {
                if (JSON.stringify(option) != "{}") {
                    this.id = option.id
                    this.init()
                } else {
                    let _this = this
                    const eventChannel = this.getOpenerEventChannel();
                    eventChannel.on('cstmr', function(data) {
                        _this.id = data.data
                        _this.init()
                    })
                }
            })
        },
        methods: {
            init() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/plan/' + that.id +'/auth',
                    header: {'token' : uni.getStorageSync('token')},
                    method: 'GET',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            let planNeed = res.data.planNeed.split('-')
                            res.data.planNeed = []
                            for (let k of planNeed) {
                                res.data.planNeed.push(k)
                            }
                            switch(res.data.select_2) {
                                case 'value1':
                                    res.data.select_2 = '横梁式'
                                    break;
                                case 'value2':
                                    res.data.select_2 = '驶入式'
                                    break;
                                case 'value3':
                                    res.data.select_2 = '悬梁式'
                                    break;
                                case 'value4':
                                    res.data.select_2 = '流利式'
                                    break;
                                case 'value5':
                                    res.data.select_2 = '重力式'
                                    break;
                                case 'value6':
                                    res.data.select_2 = '其他'
                                    break;
                            }
                            that.baseFormData = res.data
                        }
                    }
                })
            },
            async getDetail() {
                let res = await user.getDetail()
                if (res.code === 200) {
                    this.baseFormData.userXmlSelPhone = res.data.mobile
                } else if (res.code === 403) {
                    this.backLogin(res)
                }
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
            },
            areaChange(e) {
                this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
            },
            autoLoad(type,condition) {
                let that = this
                that.orderIds = []
                that.users = []
                that.cstmrs = []
                var a = that.baseUrl + '/' + type + 'Query/auth'
                uni.request({
                    url: that.baseUrl + '/' + type + 'Query' +'/auth',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            var element;
                            if (type == 'order') {
                                for(element of res.data) {
                                    that.orderIds.push(element.name)
                                    that.orderList.push(element)
                                }
                                return
                            }
                            if (type == 'user') {
                                for(element of res.data) {
                                    that.users.push(element.value)
                                    that.userList.push(element)
                                }
                                return
                            }
                            if (type == 'cstmr') {
                                for(element of res.data) {
                                    that.cstmrs.push(element.value)
                                    that.cstmrList.push(element)
                                }
                                return
                            }
                        }
                    }
                })
            },
            getOrderId() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/order/all/get/kv',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                    }
                })
            },
            // 添加用户
            addCstmr() {
                let that = this
                var element
                for (element of that.cstmrList) {
                    if(element.value == that.baseFormData.cstmrId$) {
                        that.baseFormData.cstmrId = element.id
                    }
                }
                for (element of that.orderList) {
                    if(element.name == that.baseFormData.orderId$) {
                        that.baseFormData.orderId = element.id
                    }
                }
                that.baseFormData.planType = 9
                var temp
                for (var i = 0 ; i < that.baseFormData.planNeed.length; i++) {
                    if (i == 0) {
                        temp = that.baseFormData.planNeed[i]
                    } else {
                        temp = temp + '-' + that.baseFormData.planNeed[i]
                    }
                }
                that.baseFormData.planNeed = temp
                this.$refs.baseForm.validate().then(res=>{
                    for (let k in res) {
                        if (res[k] == undefined) {
                            res[k] = ''
                        }
                    }
                    res['id'] = that.baseFormData.id
                    uni.request({
                        url: that.baseUrl + '/plan/update/auth',
                        header:{
                            'token':uni.getStorageSync('token'),
                            'content-type':'application/x-www-form-urlencoded',
                            },
                        data: res,
                        method: 'POST',
                        success(result) {
                            var res = result.data
                            if (res.code === 200) {
                                uni.navigateBack({delta:2})
                            } else if (res.code === 403) {
                                uni.showToast({title: res.msg, icon: "none", position: 'top'})
                                setTimeout(() => {
                                    uni.reLaunch({
                                        url: '../../login/login'
                                    });
                                }, 1000);
                            } else {
                                uni.showToast({title: res.msg, icon: "none",position: 'top'})
                            }
                        }
                    })
                }).catch(err =>{
                })
            }
        }
    }
</script>
<style>
    .container {
        min-height: 50rpx;
        padding: 15px;
        background-color: #fff;
        /* background-color: aqua; */
    }
</style>
pages/business/plan/modiPlan7.vue
@@ -1,8 +1,372 @@
<template>
    <view>
        <view class="container">
            <uni-forms ref="baseForm" :modelValue="baseFormData">
                <uni-forms-item label="售前规划单名称" required name="name">
                    <uni-easyinput v-model="baseFormData.name" placeholder="请输入售前规划单名称" />
                </uni-forms-item>
                <uni-forms-item label="跟踪项目" required name="orderId" >
                    <view @click="autoLoad('order','')">
                        <uni-combox :candidates="orderIds" placeholder="请选择跟踪项目"
                        v-model="baseFormData.orderId$" @input="autoLoad('order',baseFormData.orderId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="客户名称" required name="cstmrId">
                    <view @click="autoLoad('cstmr','')">
                        <uni-combox :candidates="cstmrs" placeholder="请选择客户名称"
                        v-model="baseFormData.cstmrId$" @input="autoLoad('cstmr',baseFormData.cstmrId$)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="业务员联系方式" required name="userXmlSelPhone">
                    <uni-easyinput v-model="baseFormData.userXmlSelPhone" placeholder="请输入业务员联系方式" />
                </uni-forms-item>
                <uni-forms-item label="业务类型" required name="planType">
                    <uni-easyinput disabled placeholder="请输入业务类型" v-model="baseFormData.planType"></uni-easyinput>
                </uni-forms-item>
                <uni-forms-item label="立项"  name="beItem">
                    <uni-data-checkbox v-model="baseFormData.beItem" :localdata="beItem$" />
                </uni-forms-item>
                <uni-forms-item label="所需" name="planNeed">
                    <uni-data-checkbox v-model="baseFormData.planNeed" multiple :localdata="planNeeds" />
                </uni-forms-item>
                <uni-forms-item label="更改方案" name="change">
                    <uni-data-checkbox v-model="baseFormData.change" :localdata="changeValue" />
                </uni-forms-item>
                <uni-forms-item label="更改方案原因" name="changeReason">
                    <uni-easyinput v-model="baseFormData.changeReason" placeholder="请输入更改方案原因" />
                </uni-forms-item>
                <uni-forms-item label="规格组长奖金" name="planLeaderBonus">
                    <uni-easyinput v-model="baseFormData.planLeaderBonus" placeholder="请输入规格组长奖金" />
                </uni-forms-item>
                <uni-forms-item label="完成时间" name="finishTime">
                    <uni-datetime-picker type="date" return-type="string" v-model="baseFormData.finishTime"/>
                    </uni-data-picker>
                </uni-forms-item>
                <uni-forms-item label="更改次数" name="changeTime">
                    <uni-easyinput v-model="baseFormData.changeTime" placeholder="请输入更改次数" />
                </uni-forms-item>
                <uni-forms-item label="规格奖金" name="planBonus">
                    <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" />
                </uni-forms-item>
            </uni-forms>
            <button type="primary" @click="addCstmr()">修改</button>
        </view>
    </view>
</template>
<script>
    import user from '@/pages/api/user/user.js'
    import test from '../../../static/js/citys-data.js'
    export default {
        data() {
            return {
                orderIds: [],
                orderList: [],
                users: [],
                userList: [],
                cstmrs: [],
                cstmrList: [],
                baseFormData: {
                    name: '',
                    orderId: '',
                    userId: '',
                    appleTime: '',
                    cstmrId: '',
                    planType: '四向穿梭库/两向穿梭库',
                    select_2: '',
                    changeReason: '',
                    changeTime: '',
                    planBonus: '',
                    planLeaderBonus: '',
                    userXmlSelPhone: ''
                },
                rules: {
                    name: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入售前规划单名称',
                        }]
                    },
                    orderId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择跟踪项目',
                        }]
                    },
                    userId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择业务员',
                        }]
                    },
                    userXmlSelPhone: {
                        rules: [{
                            required: true,
                            errorMessage: '请填写业务员联系方式',
                        }]
                    },
                    appleTime: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择申请日期',
                        }]
                    },
                    cstmrId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择客户名称',
                        }]
                    },
                    planType: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入业务类型',
                        }]
                    },
                },
                changeValue: [
                    {
                        text: '是',
                        value: 1
                    },
                    {
                        text: '否',
                        value: 0
                    }
                ],
                // 单选数据源
                beItem$: [{
                    text: '是',
                    value: 1
                }, {
                    text: '否(需售前技术跟进项目,与客户直接沟通等)',
                    value: 0
                }],
                citysData: [],
                citysDataTemp: '',
                planNeeds: [
                    {
                        text: '系统 方案规划设计',
                        value: '1'
                    },
                    {
                        text: '提供选材清单',
                        value: '2'
                    },
                    {
                        text: '立体库设计方案',
                        value: '3'
                    }
                ]
            }
        },
        onReady() {
                // 需要在onReady中设置规则
                this.$refs.baseForm.setRules(this.rules)
        },
        onShow() {
            // 获取省市区
            this.citysData = test.citysData
            // 获取业务员联系方式
            this.getDetail()
        },
        onLoad(option) {
            this.$nextTick(() => {
                if (JSON.stringify(option) != "{}") {
                    this.id = option.id
                    this.init()
                } else {
                    let _this = this
                    const eventChannel = this.getOpenerEventChannel();
                    eventChannel.on('cstmr', function(data) {
                        _this.id = data.data
                        _this.init()
                    })
                }
            })
        },
        methods: {
            init() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/plan/' + that.id +'/auth',
                    header: {'token' : uni.getStorageSync('token')},
                    method: 'GET',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            let planNeed = res.data.planNeed.split('-')
                            res.data.planNeed = []
                            for (let k of planNeed) {
                                res.data.planNeed.push(k)
                            }
                            switch(res.data.select_2) {
                                case 'value1':
                                    res.data.select_2 = '横梁式'
                                    break;
                                case 'value2':
                                    res.data.select_2 = '驶入式'
                                    break;
                                case 'value3':
                                    res.data.select_2 = '悬梁式'
                                    break;
                                case 'value4':
                                    res.data.select_2 = '流利式'
                                    break;
                                case 'value5':
                                    res.data.select_2 = '重力式'
                                    break;
                                case 'value6':
                                    res.data.select_2 = '其他'
                                    break;
                            }
                            that.baseFormData = res.data
                        }
                    }
                })
            },
            async getDetail() {
                let res = await user.getDetail()
                if (res.code === 200) {
                    this.baseFormData.userXmlSelPhone = res.data.mobile
                } else if (res.code === 403) {
                    this.backLogin(res)
                }
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
            },
            areaChange(e) {
                this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
            },
            autoLoad(type,condition) {
                let that = this
                that.orderIds = []
                that.users = []
                that.cstmrs = []
                var a = that.baseUrl + '/' + type + 'Query/auth'
                uni.request({
                    url: that.baseUrl + '/' + type + 'Query' +'/auth',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            var element;
                            if (type == 'order') {
                                for(element of res.data) {
                                    that.orderIds.push(element.name)
                                    that.orderList.push(element)
                                }
                                return
                            }
                            if (type == 'user') {
                                for(element of res.data) {
                                    that.users.push(element.value)
                                    that.userList.push(element)
                                }
                                return
                            }
                            if (type == 'cstmr') {
                                for(element of res.data) {
                                    that.cstmrs.push(element.value)
                                    that.cstmrList.push(element)
                                }
                                return
                            }
                        }
                    }
                })
            },
            getOrderId() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/order/all/get/kv',
                    header:{'token':uni.getStorageSync('token')},
                    data: {condition:condition},
                    method: 'GET',
                    success(result) {
                    }
                })
            },
            // 添加用户
            addCstmr() {
                let that = this
                var element
                for (element of that.cstmrList) {
                    if(element.value == that.baseFormData.cstmrId$) {
                        that.baseFormData.cstmrId = element.id
                    }
                }
                for (element of that.orderList) {
                    if(element.name == that.baseFormData.orderId$) {
                        that.baseFormData.orderId = element.id
                    }
                }
                that.baseFormData.planType = 11
                var temp
                for (var i = 0 ; i < that.baseFormData.planNeed.length; i++) {
                    if (i == 0) {
                        temp = that.baseFormData.planNeed[i]
                    } else {
                        temp = temp + '-' + that.baseFormData.planNeed[i]
                    }
                }
                that.baseFormData.planNeed = temp
                this.$refs.baseForm.validate().then(res=>{
                    for (let k in res) {
                        if (res[k] == undefined) {
                            res[k] = ''
                        }
                    }
                    res['id'] = that.baseFormData.id
                    uni.request({
                        url: that.baseUrl + '/plan/update/auth',
                        header:{
                            'token':uni.getStorageSync('token'),
                            'content-type':'application/x-www-form-urlencoded',
                            },
                        data: res,
                        method: 'POST',
                        success(result) {
                            var res = result.data
                            if (res.code === 200) {
                                uni.navigateBack({delta:2})
                            } else if (res.code === 403) {
                                uni.showToast({title: res.msg, icon: "none", position: 'top'})
                                setTimeout(() => {
                                    uni.reLaunch({
                                        url: '../../login/login'
                                    });
                                }, 1000);
                            } else {
                                uni.showToast({title: res.msg, icon: "none",position: 'top'})
                            }
                        }
                    })
                }).catch(err =>{
                })
            }
        }
    }
</script>
<style>
    .container {
        min-height: 50rpx;
        padding: 15px;
        background-color: #fff;
        /* background-color: aqua; */
    }
</style>