| | |
| | | line-height: 55rpx; |
| | | font-size: 32rpx; |
| | | font-weight: 900; |
| | | font-family: SimHei , Helvetica, sans-serif; |
| | | font-family: Helvetica; |
| | | letter-spacing: 3rpx; |
| | | color: #303133; |
| | | } |
| | |
| | | "path": "pages/business/cstmr/csmtr", |
| | | "style": { |
| | | "navigationStyle": "custom", |
| | | "navigationBarTitleText": "甲方单位" |
| | | "navigationBarTitleText": "信息公海" |
| | | } |
| | | }, |
| | | { |
| | |
| | | </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)"> |
| | |
| | | <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"> |
| | |
| | | director: '', |
| | | cstmrTypeList: [], |
| | | directorList: [], |
| | | names: [], |
| | | nameList: [], |
| | | industrys: ['医药业','制造业','纺织业'], |
| | | productCategorys: ['立体库(货架)','立体库(集成)','四向穿梭库/两向穿梭库','阁楼货架/钢平台','周转容器','平库'], |
| | | baseFormData: { |
| | | name: '', |
| | | citysData: [], |
| | | cstmrType: '', |
| | | director: '', |
| | |
| | | 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 |
| | |
| | | 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'; |
| | |
| | | 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) { |
| | |
| | | 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', |
| | |
| | | @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> |
| | |
| | | |
| | | <script> |
| | | import test from '../../../static/js/citys-data.js' |
| | | import user from '@/pages/api/user/user.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | cstmrList: [], |
| | | directorList: [], |
| | | companyList: [], |
| | | orderProductTypeIds: [], |
| | | orderProductTypeList: [], |
| | | baseFormData: { |
| | | citysData: [], |
| | | cstmrType: '', |
| | |
| | | director: '', |
| | | rela: '', |
| | | remarks: '', |
| | | transactionRate: '', |
| | | cstmrId: '', |
| | | addr: '', |
| | | money: '' |
| | | }, |
| | | transactionRates: ['30%','40%','50%','60%','70%','80%','90%','100%'], |
| | | rules: { |
| | | name: { |
| | | rules: [{ |
| | |
| | | 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$: [{ |
| | |
| | | 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 |
| | |
| | | that.companies = [] |
| | | that.directors = [] |
| | | that.cstmrs = [] |
| | | that.orderProductTypeIds = [] |
| | | var a = that.baseUrl + '/' + type + 'Query/auth' |
| | | uni.request({ |
| | | url: that.baseUrl + '/' + type + 'Query' + '/auth', |
| | |
| | | } |
| | | return |
| | | } |
| | | if (type == 'orderProductType') { |
| | | for (element of res.data) { |
| | | that.orderProductTypeIds.push(element.value) |
| | | that.orderProductTypeList.push(element) |
| | | } |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | 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 = '' |
| | |
| | | <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> |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |