| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/business/saleManage/modiSaleManage", |
| | | "style": { |
| | | "navigationBarTitleText": "修改跟踪项目" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/business/saleManage/saleManageDetails", |
| | | "style": { |
| | | "navigationBarTitleText": "资料详情" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/business/saleManage/cstmrDetls", |
| | | "style": { |
| | | "navigationBarTitleText": "资料详情" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/business/plan/plan", |
| | | "style": { |
| | | "navigationStyle": "custom" |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <scroll-view scroll-y="true" > |
| | | <view class="header"> |
| | | <view class="cstmr-name"> |
| | | <image src="../../../static/image/zuzhibumen.png" mode="aspectFit"></image> |
| | | <view>{{saleManage.name}}</view> |
| | | </view> |
| | | <view class="cstmr-tel"> |
| | | {{saleManage.company$}} | |
| | | {{saleManage.money ? saleManage.pcd$ : '--'}} | |
| | | {{saleManage.director$ ? saleManage.pcd$ : '--'}} |
| | | </view> |
| | | </view> |
| | | <view class="container"> |
| | | <view><y-title title="基本信息"></y-title></view><view></view> |
| | | <view class="list-item1">项目代号</view><view class="list-item2">{{saleManage.uuid}}</view> |
| | | |
| | | <view class="list-item1">甲方单位</view><view class="list-item2">{{saleManage.cstmrId$}}</view> |
| | | <view class="list-item1">项目总金额</view><view class="list-item2">{{saleManage.money}}</view> |
| | | |
| | | <view class="list-item1">所属公司</view><view class="list-item2">{{saleManage.company$}}</view> |
| | | |
| | | <view class="list-item1">省市区</view><view class="list-item2">{{saleManage.pcd$ ? saleManage.pcd$ : '--'}}</view> |
| | | <view class="list-item1">项目地址</view><view class="list-item2">{{saleManage.addr}}</view> |
| | | <view class="list-item1">负责人</view><view class="list-item2">{{saleManage.director$}}</view> |
| | | <view class="list-item1">备注</view><view class="list-item2">{{saleManage.remarks ? saleManage.remarks : '--'}}</view> |
| | | |
| | | <view class="list-item1">项目预算金额(万)</view><view class="list-item2">{{saleManage.money ? saleManage.money : '--'}}</view> |
| | | |
| | | <view class="list-item1">项目预估成交率</view><view class="list-item2">{{saleManage.transactionRate ? saleManage.transactionRate : '--'}}</view> |
| | | |
| | | </view> |
| | | <view class="container"> |
| | | <view><y-title title="其他信息"></y-title></view><view></view> |
| | | <view class="list-item1">添加人员</view><view class="list-item2 color-main">{{saleManage.createBy$}}</view> |
| | | <view class="list-item1">添加时间</view><view class="list-item2">{{saleManage.createTime$}}</view> |
| | | <view class="list-item1">修改人员</view><view class="list-item2">{{saleManage.updateBy$}}</view> |
| | | <view class="list-item1">修改时间</view><view class="list-item2 color-main">{{saleManage.updateTime$}}</view> |
| | | </view> |
| | | <view class="boxx"> |
| | | |
| | | </view> |
| | | |
| | | </scroll-view> |
| | | <view class="foot"> |
| | | <button size="mini" type="warn" @click="del(id)">删除</button> |
| | | </view> |
| | | |
| | | <view> |
| | | <!-- 输入框示例 --> |
| | | <uni-popup ref="inputDialog" type="dialog"> |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="添加跟进人" value="对话框预置提示内容!" |
| | | placeholder="请输入内容" @confirm="confirm"> |
| | | <uni-combox :candidates="addFollower.followers" placeholder="请选择" |
| | | v-model="addFollower.follower" @input="autoLoad('follower',addFollower.follower)"></uni-combox> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | id: 0, |
| | | saleManage: {}, |
| | | cstmr: { |
| | | id: '', |
| | | name: '', |
| | | tel: '', |
| | | addr: '', |
| | | cstman: '' |
| | | }, |
| | | addFollower: { |
| | | follower: '', |
| | | followers: '', |
| | | followerList: [] |
| | | }, |
| | | followers: [], |
| | | followerIds: [], |
| | | cstmrId: '' |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | this.id = option.id |
| | | console.log(option); |
| | | this.init() |
| | | this.autoLoad('follower','') |
| | | setTimeout(()=>{ |
| | | this.getFollowers() |
| | | },500) |
| | | }, |
| | | methods: { |
| | | init() { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/cstmr/' + that.id +'/auth', |
| | | header: {'token' : uni.getStorageSync('token')}, |
| | | method: 'GET', |
| | | success(res) { |
| | | res = res.data |
| | | console.log(res); |
| | | that.saleManage = res.data |
| | | that.cstmr = res.data |
| | | that.cstmrId = that.cstmr.id |
| | | } |
| | | }) |
| | | }, |
| | | del(e) { |
| | | let that = this |
| | | e = Number(e) |
| | | uni.request({ |
| | | url: that.baseUrl + '/cstmr/delete/one/' + e, |
| | | header: {'token' : uni.getStorageSync('token'), |
| | | }, |
| | | method: 'GET', |
| | | |
| | | success(res) { |
| | | res = res.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'}) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | addPerson() { |
| | | this.$refs.inputDialog.open() |
| | | }, |
| | | // 确认选择工作人 |
| | | confirm() { |
| | | let that = this |
| | | var followerId |
| | | var followerList = that.addFollower.followerList |
| | | for (var i = 0;i < followerList.length; i++) { |
| | | if (followerList[i].name == this.addFollower.follower) { |
| | | followerId =followerList[i].value |
| | | } |
| | | } |
| | | uni.request({ |
| | | url: that.baseUrl + '/order/followers/add/json', |
| | | header:{'token':uni.getStorageSync('token'),}, |
| | | data: { |
| | | orderId: that.cstmrId, |
| | | followerIds:followerId}, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | that.getFollowers() |
| | | } |
| | | }) |
| | | this.addFollower.follower = '' |
| | | }, |
| | | // 工作人列表 |
| | | autoLoad(type,condition) { |
| | | let that = this |
| | | that.addFollower.followers = [] |
| | | that.addFollower.followerList = [] |
| | | uni.request({ |
| | | url: that.baseUrl + '/user/all/get/kv', |
| | | header:{'token':uni.getStorageSync('token')}, |
| | | data: {condition:condition}, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | var element; |
| | | if (type == 'follower') { |
| | | for(element of res.data) { |
| | | that.addFollower.followers.push(element.name) |
| | | that.addFollower.followerList.push(element) |
| | | } |
| | | return |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getFollowers() { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/order/followers/table/auth', |
| | | header:{'token':uni.getStorageSync('token')}, |
| | | data: {orderId:that.cstmrId}, |
| | | method:'GET', |
| | | success(res) { |
| | | res = res.data |
| | | that.followers = res.data |
| | | } |
| | | }) |
| | | }, |
| | | removeFollowers(userId) { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/order/followers/remove/auth', |
| | | header:{ |
| | | 'token':uni.getStorageSync('token'), |
| | | 'content-type': 'application/x-www-form-urlencoded' |
| | | }, |
| | | data: { |
| | | orderId:that.cstmrId, |
| | | userId: userId |
| | | }, |
| | | method:'POST', |
| | | success(res) { |
| | | res = res.data |
| | | that.getFollowers() |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .boxx { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .header { |
| | | width: auto; |
| | | min-height: 110rpx; |
| | | background-color: #fff; |
| | | padding: 30px 20px 10px 20px; |
| | | } |
| | | .cstmr-name { |
| | | display: flex; |
| | | height: 35rpx; |
| | | line-height: 35rpx; |
| | | text-indent: 10rpx; |
| | | font-size: 36rpx; |
| | | color: #606266; |
| | | } |
| | | .cstmr-name image { |
| | | width: 35rpx; |
| | | height: 35rpx; |
| | | } |
| | | .cstmr-tel { |
| | | min-height: 60rpx; |
| | | line-height: 60rpx; |
| | | font-size: 24rpx; |
| | | color: #303133; |
| | | } |
| | | .container { |
| | | margin-top: 10px; |
| | | padding: 10rpx 20rpx 0 20rpx; |
| | | background-color: #fff; |
| | | display: grid; |
| | | grid-template-columns: 1fr 3fr; |
| | | } |
| | | .container:last-child { |
| | | grid-template-columns: 5fr 5fr 2fr; |
| | | margin-bottom: 120rpx; |
| | | } |
| | | .list-item1 { |
| | | min-height: 45rpx; |
| | | line-height: 45rpx; |
| | | color: #909399; |
| | | text-indent: 30rpx; |
| | | } |
| | | .list-item2 { |
| | | min-height: 45rpx; |
| | | line-height: 45rpx; |
| | | color: black; |
| | | } |
| | | .color-main { |
| | | color: #55aaff |
| | | } |
| | | .foot { |
| | | position: fixed; |
| | | width: 100%; |
| | | min-height: 100rpx; |
| | | bottom: 0; |
| | | margin-bottom: 0; |
| | | background-color: #fff; |
| | | border-top: 1px solid #efefef; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .list { |
| | | min-height: 60rpx; |
| | | margin-top: 20rpx; |
| | | grid-column: 1 / 10; |
| | | display: grid; |
| | | grid-template-columns: 1fr 1fr; |
| | | position: relative; |
| | | } |
| | | .list-left { |
| | | min-height: 60rpx; |
| | | line-height: 60rpx; |
| | | padding-left: 20rpx; |
| | | color: #55aaff |
| | | } |
| | | .list-right { |
| | | min-height: 60rpx; |
| | | line-height: 60rpx; |
| | | /* background-color: #222; */ |
| | | padding-right: 30rpx; |
| | | } |
| | | .list-none { |
| | | min-height: 60rpx; |
| | | margin-top: 20rpx; |
| | | text-align: center; |
| | | /* background-color: #303133; */ |
| | | color: #b1b3b8; |
| | | grid-column: 1 / 10; |
| | | display: grid; |
| | | position: relative; |
| | | } |
| | | </style> |
New file |
| | |
| | | <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="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="company"> |
| | | <view @click="autoLoad('company','')"> |
| | | <uni-combox :candidates="companies" placeholder="请选所属公司" v-model="baseFormData.company" |
| | | @input="autoLoad('company',baseFormData.company)"></uni-combox> |
| | | </view> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="预算金额(万元)" name="money" required> |
| | | <uni-easyinput v-model="baseFormData.money" placeholder="请输入预算金额(万元)" /> |
| | | </uni-forms-item> |
| | | <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="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="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> |
| | | </uni-forms> |
| | | <button type="primary" @click="addOrder()">添加</button> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import test from '../../../static/js/citys-data.js' |
| | | import user from '@/pages/api/user/user.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | cstmrTypes: [], |
| | | cstmrType: '', |
| | | companies: [], |
| | | directors: [], |
| | | director: '', |
| | | cstmrs: [], |
| | | cstmr: '', |
| | | cstmrTypeList: [], |
| | | cstmrList: [], |
| | | directorList: [], |
| | | companyList: [], |
| | | orderProductTypeIds: [], |
| | | orderProductTypeList: [], |
| | | baseFormData: { |
| | | citysData: [], |
| | | cstmrType: '', |
| | | company: '', |
| | | director: '', |
| | | rela: '', |
| | | remarks: '', |
| | | transactionRate: '', |
| | | cstmrId: '', |
| | | addr: '', |
| | | money: '' |
| | | }, |
| | | transactionRates: ['30%','40%','50%','60%','70%','80%','90%','100%'], |
| | | rules: { |
| | | name: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '请输入跟踪项目名称', |
| | | }] |
| | | }, |
| | | cstmrId: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '请选择甲方单位', |
| | | }] |
| | | }, |
| | | company: { |
| | | rules: [{ |
| | | required: true, |
| | | 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$: [{ |
| | | text: '内销', |
| | | value: 1 |
| | | }, { |
| | | text: '外销', |
| | | value: 2 |
| | | }], |
| | | citysData: [], |
| | | citysDataTemp: '' |
| | | } |
| | | }, |
| | | 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.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 |
| | | }, |
| | | 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.companies = [] |
| | | that.directors = [] |
| | | that.cstmrs = [] |
| | | that.orderProductTypeIds = [] |
| | | 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 == 'user') { |
| | | for (element of res.data) { |
| | | that.directors.push(element.value) |
| | | that.directorList.push(element) |
| | | } |
| | | return |
| | | } |
| | | if (type == 'company') { |
| | | for (element of res.data) { |
| | | that.companies.push(element.name) |
| | | that.listAuth(type) |
| | | that.companyList.push(element) |
| | | } |
| | | return |
| | | } |
| | | if (type == 'cstmr') { |
| | | for (element of res.data) { |
| | | that.cstmrs.push(element.value) |
| | | that.cstmrList.push(element) |
| | | } |
| | | return |
| | | } |
| | | if (type == 'orderProductType') { |
| | | for (element of res.data) { |
| | | that.orderProductTypeIds.push(element.value) |
| | | that.orderProductTypeList.push(element) |
| | | } |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | listAuth(type) { |
| | | |
| | | }, |
| | | // 添加跟踪项目 |
| | | addOrder() { |
| | | let that = this |
| | | var element; |
| | | // 所属公司 |
| | | for (element of that.companyList) { |
| | | if (element.name == that.baseFormData.company) { |
| | | that.baseFormData.company = element.id |
| | | } |
| | | } |
| | | for (element of that.cstmrList) { |
| | | if (element.value == that.baseFormData.cstmrId) { |
| | | that.baseFormData.cstmrId = element.id |
| | | } |
| | | } |
| | | 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 = '' |
| | | } |
| | | if (res.money == undefined) { |
| | | res.money = '' |
| | | } |
| | | if (res.remarks == undefined) { |
| | | res.remarks = '' |
| | | } |
| | | res.pcd = this.citysDataTemp |
| | | uni.request({ |
| | | url: that.baseUrl + '/order/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> |
| | |
| | | </view> |
| | | <view> |
| | | <!-- 客户列表 --> |
| | | <view class="c-list" @click="getDetails(item.id)" v-for="(item,index) in csmtrList" :key="index"> |
| | | <view class="titles"> |
| | | <y-title :title="item.name"></y-title> |
| | | <view class="c-list" v-for="(item,index) in csmtrList" :key="index"> |
| | | <view class="titles" @click="getDetails(item.cstmrId)"> |
| | | <view style="flex: 1;"> |
| | | <y-title :title="item.name"></y-title> |
| | | </view> |
| | | <uni-icons class="opt-icon" type="right" size="20" color="#b9b9b9"></uni-icons> |
| | | </view> |
| | | <view class="cstmrs"> |
| | | <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 class="list-item1">甲方单位</view><view class="list-item2 color-main" @click="goDetls(item.id)">{{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 class="cstmrs-item"> |
| | | <view class="list-item1">状态</view><view class="list-item2">{{item.status$ ? item.status$ : '--'}}</view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | return |
| | | } |
| | | var res = result.data |
| | | console.log(res); |
| | | if (res.code === 200) { |
| | | let list = res.data.records |
| | | that.csmtrList = that.reload ? list : that.csmtrList.concat(list); |
| | |
| | | url: '/pages/business/saleManage/saleManageDetails?id=' + id |
| | | }) |
| | | }, |
| | | goDetls(id) { |
| | | uni.navigateTo({ |
| | | url: '/pages/business/saleManage/cstmrDetls?id=' + id |
| | | }) |
| | | }, |
| | | // --- |
| | | search() { |
| | | |
| | |
| | | padding-left: 10rpx; |
| | | text-indent: 5rpx; |
| | | margin-top: 10rpx; |
| | | display: flex; |
| | | } |
| | | .cstmrs { |
| | | display: flex; |
| | |
| | | .cstmrs-item { |
| | | display: flex; |
| | | } |
| | | .color-main { |
| | | color: #55aaff |
| | | } |
| | | /* .title { |
| | | height: 60rpx; |
| | | line-height: 70rpx; |
| | |
| | | </view> |
| | | <view class="container"> |
| | | <view><y-title title="基本信息"></y-title></view><view></view> |
| | | <view class="list-item1">跟踪项目</view><view class="list-item2">{{saleManage.name}}</view> |
| | | <view class="list-item1">所属公司</view><view class="list-item2">{{saleManage.company$}}</view> |
| | | <view class="list-item1">客户代号</view><view class="list-item2">{{saleManage.uuid}}</view> |
| | | <view class="list-item1">所属部门</view><view class="list-item2">{{saleManage.deptId$}}</view> |
| | | <view class="list-item1">客户类别</view><view class="list-item2">{{saleManage.cstmrType$}}</view> |
| | | <view class="list-item1">省市区</view><view class="list-item2">{{saleManage.pcd$ ? saleManage.pcd$ : '--'}}</view> |
| | | <view class="list-item1">负责人</view><view class="list-item2">{{saleManage.director$ ? saleManage.director$ : '--'}}</view> |
| | | <view class="list-item1">甲方单位</view><view class="list-item2">{{saleManage.cstmrId$ ? saleManage.cstmrId$ : '--'}}</view> |
| | | <view class="list-item1">项目金额</view><view class="list-item2 color-main">{{saleManage.money ? saleManage.money : '--'}}</view> |
| | | <view class="list-item1">项目地址</view><view class="list-item2">{{saleManage.addr ? saleManage.addr : '--'}}</view> |
| | | <view class="list-item1">备注</view><view class="list-item2">{{saleManage.memo ? saleManage.memo : '--'}}</view> |
| | | <view class="list-item1">客户联系人</view><view class="list-item2">{{saleManage.contacts ? saleManage.contacts : '--'}}</view> |
| | | <view class="list-item1">区分</view><view class="list-item2">{{saleManage.type$ ? saleManage.type$ : '--'}}</view> |
| | | <view class="list-item1">客户行业</view><view class="list-item2 color-main">{{saleManage.industry ? saleManage.industry : '--'}}</view> |
| | | <view class="list-item1">产品类别</view><view class="list-item2">{{saleManage.productCategory ? saleManage.productCategory : '--'}}</view> |
| | | <view class="list-item1">备注</view><view class="list-item2">{{saleManage.remarks ? saleManage.remarks : '--'}}</view> |
| | | </view> |
| | | <view class="container"> |
| | | <view><y-title title="其他信息"></y-title></view><view></view> |
| | |
| | | <view class="list-item1">修改人员</view><view class="list-item2">{{saleManage.updateBy$}}</view> |
| | | <view class="list-item1">修改时间</view><view class="list-item2 color-main">{{saleManage.updateTime$}}</view> |
| | | </view> |
| | | <view class="container"> |
| | | <view><y-title title="跟进人"></y-title></view><view></view><view><uni-icons @click="addPerson()" type="plus" size="20" color="#55aaff"></uni-icons></view> |
| | | <view class="list" v-for="(item,index) in followers" :key="index"> |
| | | <view class="list-left">{{item.userName}}</view> |
| | | <view class="list-right"><button size="mini" style="float: right;" type="warn" @click="removeFollowers(item.userId)">移除</button></view> |
| | | </view> |
| | | <view class="list-none" v-show="followers.length == 0"> |
| | | <text>暂无跟进人</text> |
| | | </view> |
| | | <view class="boxx"> |
| | | |
| | | </view> |
| | | |
| | | </scroll-view> |
| | | <view class="foot"> |
| | | <button size="mini" type="default" @click="del(id)">修改</button> |
| | | <button size="mini" type="warn" @click="del(id)">删除</button> |
| | | <button size="mini" type="primary" @click="del(id)">出差</button> |
| | | </view> |
| | | |
| | | <view> |
| | |
| | | }, |
| | | onLoad(option) { |
| | | this.id = option.id |
| | | console.log(option); |
| | | this.init() |
| | | this.autoLoad('follower','') |
| | | setTimeout(()=>{ |
| | |
| | | init() { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/order/' + that.id +'/auth', |
| | | url: that.baseUrl + '/cstmr/' + that.id +'/auth', |
| | | header: {'token' : uni.getStorageSync('token')}, |
| | | method: 'GET', |
| | | success(res) { |
| | | res = res.data |
| | | console.log(res); |
| | | that.saleManage = res.data |
| | | that.cstmr = res.data |
| | | that.cstmrId = that.cstmr.id |
| | |
| | | </script> |
| | | |
| | | <style> |
| | | .boxx { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .header { |
| | | width: auto; |
| | | min-height: 110rpx; |