選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

newFollowup.vue 6.8 KiB

3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  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>