AI销管
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.
 
 
 
 

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