#
whycq
2023-11-22 bcd71caf970595806c22a5e677b04bd2cf0f8be8
#
1个文件已添加
2个文件已修改
336 ■■■■■ 已修改文件
pages.json 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/addPlan7.vue 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/plan/plan.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -293,6 +293,14 @@
                "navigationBarTitleText" : "修改规划申请单-立体库(货架)",
                "enablePullDownRefresh" : false
            }
        },
        {
            "path" : "pages/business/plan/addPlan7",
            "style" :
            {
                "navigationBarTitleText" : "其他",
                "enablePullDownRefresh" : false
            }
        }
    ],
    "globalStyle": {
pages/business/plan/addPlan7.vue
New file
@@ -0,0 +1,324 @@
<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.datetimesingle"/>
                    </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()
        },
        methods: {
            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
                    }
                }
                // for (element of that.userList) {
                //     if(element.value == that.baseFormData.userId) {
                //         that.baseFormData.userId = 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] = ''
                        }
                    }
                    uni.request({
                        url: that.baseUrl + '/plan/add/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()
                            } 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/plan.vue
@@ -153,6 +153,10 @@
                        name:'平库',
                        value: 6
                    },
                    {
                        name:'其他',
                        value: 7
                    },
                ]
            }
        },