Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

301 rinda
6.9 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. // console.log(res)
  125. this.stateList=res
  126. })
  127. },
  128. checkbox(idx){
  129. console.log(idx)
  130. this.customerType[idx].check=!this.customerType[idx].check
  131. },
  132. search(e){
  133. console.log(e)
  134. },
  135. //选择标签
  136. selectCallback(e){
  137. console.log(e[0].label)
  138. },
  139. //筛选确认
  140. screensure(){
  141. // 获取选择过的数据
  142. // let type=[]
  143. let words=[]
  144. this.customerType.map(item=>{
  145. if(item.check){
  146. // type.push(item.id)
  147. words.push(item.keywords)
  148. }
  149. })
  150. if (words.length == 0 ) {
  151. uni.showModal({
  152. title: '提示',
  153. content: '请选择、类型',
  154. showCancel: false
  155. });
  156. return;
  157. }
  158. uni.showLoading({
  159. title: "保存中~",
  160. mask: true
  161. })
  162. // console.log(type)
  163. let param={
  164. "stageCode": this.stateList[this.screen.state].stageCode,
  165. "stageName": this.stateList[this.screen.state].stageName,
  166. "remarks": this.screen.con,
  167. words,
  168. // "settingTime":"",
  169. "agentRelationPo": {
  170. "customerId": this.customerId,
  171. "level": this.screen.level,
  172. "state": this.stateList[this.screen.state].id
  173. }
  174. }
  175. this.$u.post('/customer/addZkDailyWorkRecord',param)
  176. .then(res=>{
  177. util.showSuccess("提交成功");
  178. uni.hideLoading();
  179. uni.navigateBack();
  180. })
  181. },
  182. }
  183. }
  184. </script>
  185. <style lang="scss" scoped>
  186. .box {
  187. width: 100%;
  188. height: 100%;
  189. background: #F8F8F8;
  190. }
  191. .screen{
  192. // box-sizing: border-box;
  193. // padding: 0 30rpx;
  194. background: #FFFFFF;
  195. .screen-counselor{
  196. display: flex;
  197. height: 106rpx;
  198. // padding: 40rpx 30rpx 36rpx 30rpx;
  199. padding: 0 30rpx;
  200. box-sizing: border-box;
  201. border-bottom: 1px solid #CCCCCC;
  202. .screen-text{
  203. margin: 40rpx 0 36rpx 0;
  204. font-size: 30rpx;
  205. font-weight: 400;
  206. color: #333333;
  207. line-height: 30rpx;
  208. }
  209. .screen-sel{
  210. display: flex;
  211. justify-content: space-between;
  212. width: 500rpx;
  213. margin-left: 60rpx;
  214. .screen-sel-img{
  215. margin: 40rpx 0 36rpx 0;
  216. width: 14rpx;
  217. height: 30rpx;
  218. }
  219. .screen-inp{
  220. margin-top: 20rpx;
  221. }
  222. }
  223. }
  224. .screen-record{
  225. height: 192rpx;
  226. // width: 100%;
  227. overflow: hidden;
  228. padding: 0 30rpx;
  229. box-sizing: border-box;
  230. border-bottom: 1px solid #CCCCCC;
  231. .screen-record-text{
  232. margin-top: 36rpx;
  233. font-size: 30rpx;
  234. font-weight: 400;
  235. color: #333333;
  236. line-height: 30rpx;
  237. }
  238. .screen-record-tab{
  239. margin-top: 30rpx;
  240. display: flex;
  241. // justify-content: space-around;
  242. .screen-record-chose{
  243. width: 151rpx;
  244. height: 60rpx;
  245. background: #FFFFFF;
  246. border-radius: 4rpx;
  247. border: 1px solid #2671E2;
  248. text-align: center;
  249. line-height: 60rpx;
  250. margin-right: 22rpx;
  251. }
  252. .screen-record-nochose{
  253. width: 151rpx;
  254. height: 60rpx;
  255. background: #FFFFFF;
  256. border-radius: 4rpx;
  257. border: 1px solid #C9C9C9;
  258. text-align: center;
  259. line-height: 60rpx;
  260. margin-right: 22rpx;
  261. }
  262. }
  263. }
  264. .screen-foot{
  265. height: 88rpx;
  266. display: flex;
  267. width: 100%;
  268. margin-top: 300rpx;
  269. .screen-foot-reset{
  270. width: 80%;
  271. text-align: center;
  272. margin: 0 auto;
  273. line-height: 88rpx;
  274. font-size: 30rpx;
  275. font-weight: 400;
  276. color: #666666;
  277. }
  278. .screen-foot-sure{
  279. width: 80%;
  280. margin: 0 auto;
  281. text-align: center;
  282. line-height: 88rpx;
  283. font-size: 30rpx;
  284. font-weight: 400;
  285. color: #FFFFFF;
  286. background: #2671E2;
  287. }
  288. }
  289. }
  290. </style>