You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

300 lines
6.8 KiB

  1. <template>
  2. <view class="box">
  3. <view class="screen">
  4. <!-- 录音标示 -->
  5. <view class="screen-record">
  6. <view class="screen-record-text">
  7. 最新状态
  8. </view>
  9. <view class="screen-record-tab">
  10. <view v-for="(item,index) in stateList" :key="index">
  11. <view :class="[screen.state==index?'screen-record-chose':'screen-record-nochose']" @click="screen.state=index">
  12. {{item.stageName}}
  13. </view>
  14. </view>
  15. </view>
  16. </view>
  17. <!-- 录音标示 -->
  18. <view class="screen-record">
  19. <view class="screen-record-text">
  20. 意向级别
  21. </view>
  22. <view class="screen-record-tab">
  23. <view :class="[screen.level==1?'screen-record-chose':'screen-record-nochose']" @click="screen.level=1">
  24. A
  25. </view>
  26. <view :class="[screen.level==2?'screen-record-chose':'screen-record-nochose']" @click="screen.level=2">
  27. B
  28. </view>
  29. <view :class="[screen.level==3?'screen-record-chose':'screen-record-nochose']" @click="screen.level=3">
  30. C
  31. </view>
  32. <view :class="[screen.level==4?'screen-record-chose':'screen-record-nochose']" @click="screen.level=4">
  33. D
  34. </view>
  35. </view>
  36. </view>
  37. <view class="screen-record" style="height: auto;">
  38. <view class="screen-record-text" style="margin-bottom: 20rpx;">
  39. 客户类型
  40. </view>
  41. <!-- <u-search placeholder="请输入搜索" v-model="keyword" :clearabled="true" :show-action="false" @change="search"></u-search> -->
  42. <scroll-view style="height: 180rpx;" scroll-y="true" >
  43. <view class="screen-record-tab" style="flex-wrap: wrap;">
  44. <view v-for="(item,index) in customerType" :key="index">
  45. <view :class="[item.check?'screen-record-chose':'screen-record-nochose']" style="margin-bottom: 20rpx;" @click="checkbox(index)">
  46. {{item.keywords}}
  47. </view>
  48. </view>
  49. </view>
  50. </scroll-view>
  51. </view>
  52. <view class="screen-record">
  53. <view class="screen-record-text">
  54. 跟进内容
  55. </view>
  56. <view class="screen-record-tab">
  57. <input type="text" placeholder="请输入跟进内容" v-model="screen.con"/>
  58. </view>
  59. </view>
  60. <view class="screen-foot">
  61. <view class="screen-foot-sure" @click="screensure">
  62. 保存
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. </template>
  68. <script>
  69. export default{
  70. data(){
  71. return{
  72. value:'',
  73. screenShow:false,
  74. selectshow:false,
  75. selectTipshow:false,
  76. buildingID:'',
  77. keyword:'',
  78. screen:{
  79. state:'0',
  80. con:"",
  81. level:'1'
  82. },
  83. stateList:[],
  84. recordList:[],
  85. nextPage:1,
  86. totalRecord:'',
  87. freeList:[],
  88. customerType:[],
  89. customerId:''
  90. }
  91. },
  92. onShow() {
  93. },
  94. onLoad(e) {
  95. this.customerId=e.id
  96. this.buildingID = uni.getStorageSync('buildingID').id;
  97. this.recordList=[]
  98. // this.getMyCustom()
  99. // this.getFreeList()
  100. this.getNewStatus()
  101. this.getCustomerType();
  102. },
  103. methods:{
  104. //选择顾问
  105. actionSelectCallback(e){
  106. this.screen.agentId=e[0].value;
  107. this.screen.agentIdtext=e[0].label;
  108. },
  109. getCustomerType(){
  110. this.$u.get("/customer/queryKeyWords").then(res => {
  111. res.map(item=>{
  112. item.check=false
  113. })
  114. this.customerType = res;
  115. })
  116. },
  117. getNewStatus() {
  118. var that = this;
  119. let premo={
  120. houseId:uni.getStorageSync('buildingID').id
  121. }
  122. this.$u.post('/customer/getStage',premo)
  123. .then(res=>{
  124. this.stateList=res
  125. })
  126. },
  127. checkbox(idx){
  128. console.log(idx)
  129. this.customerType[idx].check=!this.customerType[idx].check
  130. },
  131. search(e){
  132. console.log(e)
  133. },
  134. //选择标签
  135. selectCallback(e){
  136. console.log(e[0].label)
  137. },
  138. //筛选确认
  139. screensure(){
  140. // 获取选择过的数据
  141. // let type=[]
  142. let words=[]
  143. this.customerType.map(item=>{
  144. if(item.check){
  145. // type.push(item.id)
  146. words.push(item.keywords)
  147. }
  148. })
  149. if (words.length == 0 ) {
  150. uni.showModal({
  151. title: '提示',
  152. content: '请选择、类型',
  153. showCancel: false
  154. });
  155. return;
  156. }
  157. uni.showLoading({
  158. title: "保存中~",
  159. mask: true
  160. })
  161. // console.log(type)
  162. let param={
  163. "stageCode": this.stateList[this.screen.state].stageCode,
  164. "stageName": this.stateList[this.screen.state].stageName,
  165. "remarks": this.screen.con,
  166. words,
  167. // "settingTime":"",
  168. "agentRelationPo": {
  169. "customerId": this.customerId,
  170. "level": this.screen.level,
  171. "state": this.stateList[this.screen.state].id
  172. }
  173. }
  174. this.$u.post('/customer/addZkDailyWorkRecord',param)
  175. .then(res=>{
  176. // util.showSuccess("提交成功");
  177. uni.hideLoading();
  178. uni.navigateBack();
  179. })
  180. },
  181. }
  182. }
  183. </script>
  184. <style lang="scss" scoped>
  185. .box {
  186. width: 100%;
  187. height: 100%;
  188. background: #F8F8F8;
  189. }
  190. .screen{
  191. // box-sizing: border-box;
  192. // padding: 0 30rpx;
  193. background: #FFFFFF;
  194. .screen-counselor{
  195. display: flex;
  196. height: 106rpx;
  197. // padding: 40rpx 30rpx 36rpx 30rpx;
  198. padding: 0 30rpx;
  199. box-sizing: border-box;
  200. border-bottom: 1px solid #CCCCCC;
  201. .screen-text{
  202. margin: 40rpx 0 36rpx 0;
  203. font-size: 30rpx;
  204. font-weight: 400;
  205. color: #333333;
  206. line-height: 30rpx;
  207. }
  208. .screen-sel{
  209. display: flex;
  210. justify-content: space-between;
  211. width: 500rpx;
  212. margin-left: 60rpx;
  213. .screen-sel-img{
  214. margin: 40rpx 0 36rpx 0;
  215. width: 14rpx;
  216. height: 30rpx;
  217. }
  218. .screen-inp{
  219. margin-top: 20rpx;
  220. }
  221. }
  222. }
  223. .screen-record{
  224. height: 192rpx;
  225. // width: 100%;
  226. overflow: hidden;
  227. padding: 0 30rpx;
  228. box-sizing: border-box;
  229. border-bottom: 1px solid #CCCCCC;
  230. .screen-record-text{
  231. margin-top: 36rpx;
  232. font-size: 30rpx;
  233. font-weight: 400;
  234. color: #333333;
  235. line-height: 30rpx;
  236. }
  237. .screen-record-tab{
  238. margin-top: 30rpx;
  239. display: flex;
  240. // justify-content: space-around;
  241. .screen-record-chose{
  242. width: 151rpx;
  243. height: 60rpx;
  244. background: #FFFFFF;
  245. border-radius: 4rpx;
  246. border: 1px solid #2671E2;
  247. text-align: center;
  248. line-height: 60rpx;
  249. margin-right: 22rpx;
  250. }
  251. .screen-record-nochose{
  252. width: 151rpx;
  253. height: 60rpx;
  254. background: #FFFFFF;
  255. border-radius: 4rpx;
  256. border: 1px solid #C9C9C9;
  257. text-align: center;
  258. line-height: 60rpx;
  259. margin-right: 22rpx;
  260. }
  261. }
  262. }
  263. .screen-foot{
  264. height: 88rpx;
  265. display: flex;
  266. width: 100%;
  267. margin-top: 160rpx;
  268. .screen-foot-reset{
  269. width: 80%;
  270. text-align: center;
  271. margin: 0 auto;
  272. line-height: 88rpx;
  273. font-size: 30rpx;
  274. font-weight: 400;
  275. color: #666666;
  276. }
  277. .screen-foot-sure{
  278. width: 80%;
  279. margin: 0 auto;
  280. text-align: center;
  281. line-height: 88rpx;
  282. font-size: 30rpx;
  283. font-weight: 400;
  284. color: #FFFFFF;
  285. background: #2671E2;
  286. }
  287. }
  288. }
  289. </style>