#
whycq
2023-11-03 68d1f5718be1061c3bb54098f9753910d58c00c3
#
7个文件已修改
227 ■■■■ 已修改文件
components/y-title/y-title.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/business.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/cstmr/addCsmtr.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/cstmr/csmtr.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/saleManage/addSaleManage.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/business/saleManage/saleManage.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/y-title/y-title.vue
@@ -44,7 +44,7 @@
        line-height: 55rpx;
        font-size: 32rpx;
        font-weight: 900;
        font-family: SimHei , Helvetica, sans-serif;
        font-family: Helvetica;
        letter-spacing: 3rpx;
        color: #303133;
    }
pages.json
@@ -40,7 +40,7 @@
            "path": "pages/business/cstmr/csmtr",
            "style": {
                "navigationStyle": "custom",
                "navigationBarTitleText": "甲方单位"
                "navigationBarTitleText": "信息公海"
            }
        },
        {
pages/business/business.vue
@@ -5,14 +5,14 @@
        </view> -->
        <view class="item-sort">
            <view>
                <y-title title="公司资料库" />
                <y-title title="客户管理" />
            </view>
            <view class="grid-container">
                <view class="item" @click="select(1)">
                    <view class="img">
                        <image src="../../static/image/jiafangdanwei.png" mode="aspectFit"></image>
                    </view>
                    <view>甲方单位</view>
                    <view>信息公海</view>
                </view>
                
                <view class="item" @click="select(4)">
pages/business/cstmr/addCsmtr.vue
@@ -2,8 +2,15 @@
    <view>
        <view class="container">
            <uni-forms ref="baseForm" :modelValue="baseFormData">
                <uni-forms-item label="客户名称" required name="name">
                <!-- <uni-forms-item label="客户名称" required name="name">
                    <uni-easyinput v-model="baseFormData.name" placeholder="请输入客户名称" />
                </uni-forms-item> -->
                <uni-forms-item label="客户名称" required name="name">
                    <view>
                        <uni-combox :candidates="names" placeholder="请输入客户名称"
                        v-model="baseFormData.name" @input="cstmrSearch()"></uni-combox>
                    </view>
                </uni-forms-item>
                
                <uni-forms-item label="客户类别" required name="cstmrType">
@@ -70,9 +77,12 @@
                director: '',
                cstmrTypeList: [],
                directorList: [],
                names: [],
                nameList: [],
                industrys: ['医药业','制造业','纺织业'],
                productCategorys: ['立体库(货架)','立体库(集成)','四向穿梭库/两向穿梭库','阁楼货架/钢平台','周转容器','平库'],
                baseFormData: {
                    name: '',
                    citysData: [],
                    cstmrType: '',
                    director: '',
@@ -178,6 +188,29 @@
            this.autoLoad('user','')
        },
        methods: {
            cstmrSearch() {
                this.names = []
                let _this = this
                if(_this.baseFormData.name.length < 4) {
                    return
                }
                uni.request({
                    url: `${_this.baseUrl}/cstmrSearch/auth`,
                    header:{'token':uni.getStorageSync('token'),'content-type':'application/x-www-form-urlencoded',},
                    data: {condition: _this.baseFormData.name},
                    method: 'POST',
                    success(res) {
                        res = res.data
                        if (res.code === 200 && res.data.length > 0) {
                            for(let element of res.data) {
                                _this.names.push(element.name)
                                _this.nameList.push(element)
                            }
                        }
                    }
                })
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
pages/business/cstmr/csmtr.vue
@@ -80,13 +80,13 @@
                that.user.type = data.key
                that.falg = false
            })
            if (this.falg) {
                this.getDetail()
            }
            setTimeout(()=> {
                this.getCsmtr1()
            },50)
            if (this.falg) {
                this.getDetail()
            }
        },
        onReachBottom() {
            this.status = 'more';
@@ -136,12 +136,14 @@
                let param = {curr:1,limit:4,dept_id: 0,user_id: 67}
                if (this.user.type == 'user_id') {
                    param = {curr:1,limit:4,user_id: that.user.id}
                } else {
                } else if(this.user.type == 'dept_id') {
                    param = {curr:1,limit:4,dept_id: that.user.id}
                } else {
                    param = {curr:1,limit:4}
                }
                uni.request({
                    url: that.baseUrl + '/cstmr/page/auth',
                    header: {'token' : uni.getStorageSync('token'),},
                    header: {'token' : uni.getStorageSync('token')},
                    data: param,
                    method:'GET',
                    success(result) {
@@ -182,9 +184,11 @@
                let that = this
                let param = {curr:that.curr,limit:4,dept_id: 0,user_id: 67}
                if (this.user.type == 'user_id') {
                    param = {curr:that.curr,limit:4,user_id: that.user.id}
                    param = {curr:1,limit:4,user_id: that.user.id}
                } else if(this.user.type == 'dept_id') {
                    param = {curr:1,limit:4,dept_id: that.user.id}
                } else {
                    param = {curr:that.curr,limit:4,dept_id: that.user.id}
                    param = {curr:1,limit:4}
                }
                uni.request({
                    url: that.baseUrl + '/cstmr/page/auth',
pages/business/saleManage/addSaleManage.vue
@@ -17,27 +17,39 @@
                            @input="autoLoad('company',baseFormData.company)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="项目总金额" name="money">
                    <uni-easyinput v-model="baseFormData.money" placeholder="请输入项目总金额" />
                <uni-forms-item label="预算金额(万元)" name="money" required>
                    <uni-easyinput v-model="baseFormData.money" placeholder="请输入预算金额(万元)" />
                </uni-forms-item>
                <uni-forms-item label="负责人" name="director">
                <uni-forms-item label="预计成交率" name="transactionRate" required>
                    <view>
                        <uni-combox :candidates="transactionRates" placeholder="请选择预计成交率"
                        v-model="baseFormData.transactionRate" ></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="负责人" name="director" required>
                    <view @click="autoLoad('user','')">
                        <uni-combox :candidates="directors" placeholder="请选择负责人" v-model="baseFormData.director"
                            @input="autoLoad('user',baseFormData.director)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="省市区" name="citysData">
                <uni-forms-item label="产品类型" name="orderProductTypeId" required>
                    <view @click="autoLoad('orderProductType','')">
                        <uni-combox :candidates="orderProductTypeIds" placeholder="请选择产品类型"
                        v-model="baseFormData.orderProductTypeId"
                            @input="autoLoad('orderProductType',baseFormData.orderProductTypeId)"></uni-combox>
                    </view>
                </uni-forms-item>
                <uni-forms-item label="省市区" name="citysData" required>
                    <uni-data-picker @change="areaChange" placeholder="请选择省市区" popup-title="请选择所在地区"
                        :localdata="citysData" v-model="baseFormData.pcd">
                    </uni-data-picker>
                </uni-forms-item>
                <uni-forms-item label="项目总金额" name="money">
                    <uni-easyinput v-model="baseFormData.money" placeholder="请输入项目总金额" />
                </uni-forms-item>
                <uni-forms-item label="项目地址" name="addr">
                    <uni-easyinput v-model="baseFormData.addr" placeholder="请输入项目地址" />
                </uni-forms-item>
                <uni-forms-item label="心得体会" name="memoExperience">
                    <uni-easyinput type="textarea" v-model="baseFormData.memoExperience" placeholder="请输入心得体会" />
                </uni-forms-item>
                <uni-forms-item label="备注" name="remarks">
                    <uni-easyinput type="textarea" v-model="baseFormData.remarks" placeholder="请输入备注" />
                </uni-forms-item>
@@ -49,6 +61,7 @@
<script>
    import test from '../../../static/js/citys-data.js'
    import user from '@/pages/api/user/user.js'
    export default {
        data() {
            return {
@@ -63,6 +76,8 @@
                cstmrList: [],
                directorList: [],
                companyList: [],
                orderProductTypeIds: [],
                orderProductTypeList: [],
                baseFormData: {
                    citysData: [],
                    cstmrType: '',
@@ -70,10 +85,12 @@
                    director: '',
                    rela: '',
                    remarks: '',
                    transactionRate: '',
                    cstmrId: '',
                    addr: '',
                    money: ''
                },
                transactionRates: ['30%','40%','50%','60%','70%','80%','90%','100%'],
                rules: {
                    name: {
                        rules: [{
@@ -93,6 +110,36 @@
                            errorMessage: '请选所属公司',
                        }]
                    },
                    money: {
                        rules: [{
                            required: true,
                            errorMessage: '请输入预算金额',
                        }]
                    },
                    transactionRate: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择预计成交率',
                        }]
                    },
                    director: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择负责人',
                        }]
                    },
                    orderProductTypeId: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择产品类型',
                        }]
                    },
                    citysData: {
                        rules: [{
                            required: true,
                            errorMessage: '请选择所在地区',
                        }]
                    }
                },
                // 单选数据源
                type$: [{
@@ -113,8 +160,18 @@
        onShow() {
            // 获取省市区
            this.citysData = test.citysData
            this.getDetail()
        },
        methods: {
            async getDetail() {
                let res = await user.getDetail()
                if (res.code === 200) {
                    this.baseFormData.director = res.data.username
                    res.data['value'] = res.data.username
                    this.directors.push(res.data.username)
                    this.directorList.push(res.data)
                }
            },
            bindPickerChange: function(e) {
                this.cstmrTypeIndex = e.detail.value
                this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
@@ -128,6 +185,7 @@
                that.companies = []
                that.directors = []
                that.cstmrs = []
                that.orderProductTypeIds = []
                var a = that.baseUrl + '/' + type + 'Query/auth'
                uni.request({
                    url: that.baseUrl + '/' + type + 'Query' + '/auth',
@@ -164,6 +222,13 @@
                                }
                                return
                            }
                            if (type == 'orderProductType') {
                                for (element of res.data) {
                                    that.orderProductTypeIds.push(element.value)
                                    that.orderProductTypeList.push(element)
                                }
                                return
                            }
                        }
                    }
@@ -188,10 +253,18 @@
                    }
                }
                for (element of that.directorList) {
                    console.log(that.directorList);
                    console.log(that.baseFormData.director);
                    if (element.value == that.baseFormData.director) {
                        that.baseFormData.director = element.id
                    }
                }
                for (element of that.orderProductTypeList) {
                    if (element.value == that.baseFormData.orderProductTypeId) {
                        that.baseFormData.orderProductTypeId = element.id
                    }
                }
                that.baseFormData.transactionRate = Number(that.baseFormData.transactionRate.split('%')[0])
                this.$refs.baseForm.validate().then(res => {
                    if (res.addr == undefined) {
                        res.addr = ''
pages/business/saleManage/saleManage.vue
@@ -25,14 +25,66 @@
                <view class="titles">
                    <y-title :title="item.name"></y-title>
                </view>
                <view style="display: grid;grid-template-columns: 1fr 3fr;">
                <view class="cstmrs">
                    <view class="cstmrs-item">
                        <view class="list-item1">项目号</view><view class="list-item2">{{item.id}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">跟踪项目名称</view><view class="list-item2">{{item.name}}</view>
                    </view>
                    <view class="cstmrs-item">
                    <view class="list-item1">项目代号</view><view class="list-item2">{{item.uuid}}</view>
                    </view>
                    <view class="cstmrs-item">
                    <view class="list-item1">甲方单位</view><view class="list-item2">{{item.cstmrId$ ? item.cstmrId$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                    <view class="list-item1">所属区域</view><view class="list-item2">{{item.pcd$ ? item.pcd$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                    <view class="list-item1">项目地址</view><view class="list-item2">{{item.addr ? item.addr : '--'}}</view>
                    <view class="list-item1">项目负责人</view><view class="list-item2">{{item.director$ ? item.director$ : '--'}}</view>
                    <view class="list-item1">创建人</view><view class="list-item2">{{item.createBy$}}</view>
                    <view class="list-item1">创建时间</view><view class="list-item2">{{item.createTime$}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">项目预算金额(万)</view><view class="list-item2">{{item.money ? item.money : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">项目预估成交率</view><view class="list-item2">{{item.transactionRate ? item.transactionRate : '--'}}%</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">项目负责人</view><view class="list-item2">{{item.userId$ ? item.userId$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">备注</view><view class="list-item2">{{item.memo ? item.memo : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">添加时间</view><view class="list-item2">{{item.createTime$ ? item.createTime$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">所属公司</view><view class="list-item2">{{item.company$ ? item.company$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">产品类型</view><view class="list-item2">{{item.orderProductTypeId$ ? item.orderProductTypeId$ : '--'}}</view>
                    </view>
                    <view class="cstmrs-item">
                        <view class="list-item1">状态</view><view class="list-item2">{{item.status$ ? item.status$ : '--'}}</view>
                    </view>
                </view>
            </view>
        </view>
@@ -226,14 +278,15 @@
        margin-bottom: 20px;
    }
    .list-item1 {
        height: 45rpx;
        flex: 1;
        min-height: 45rpx;
        line-height: 45rpx;
        color: #909399;
        text-indent: 30rpx;
    }
    .list-item2 {
        height: 45rpx;
        flex: 3;
        min-height: 45rpx;
        line-height: 45rpx;
        color: black;
    }
@@ -242,6 +295,14 @@
        text-indent: 5rpx;
        margin-top: 10rpx;
    }
    .cstmrs {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .cstmrs-item {
        display: flex;
    }
    /* .title {
        height: 60rpx;
        line-height: 70rpx;