dailyApproval.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937
  1. <template>
  2. <div>
  3. <!-- 顶部条-->
  4. <div class="navBarTOP">
  5. <van-nav-bar class="navBar" title="日报审批" left-arrow @click-left="onClickLeft" />
  6. </div>
  7. <div class="lineGrey"></div>
  8. <div class="lineGrey"></div>
  9. <div class="lineGrey"></div>
  10. <div class="lineGrey"></div>
  11. <div style="height: 4px"></div>
  12. <!-- 主体内容-->
  13. <div class="container linep">
  14. <van-collapse v-model="activeNames">
  15. <van-collapse-item v-if="!GZQuota" title="拜访数据(实时)" name="7">
  16. <visitedRealTime
  17. :reportTargetAll="reportTargetAll"
  18. :powerGrade="powerGrade"
  19. :JZQuota="JZQuota"></visitedRealTime>
  20. </van-collapse-item>
  21. <van-collapse-item title="建店布机" v-if="!JZQuota && !GZQuota" name="2">
  22. <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
  23. </van-collapse-item>
  24. <van-collapse-item v-if="!JZQuota && !GZQuota" name="33" title="下单点数">
  25. <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
  26. </van-collapse-item>
  27. <van-collapse-item name="16" v-if="!JZQuota && !GZQuota" title="专业时时丽分销店下单">
  28. <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
  29. </van-collapse-item>
  30. <van-collapse-item v-if="type != 3 && type != 4" name="1" :title="saptitle">
  31. <performanceSAP :reportTargetAll="reportTargetAll" :JZQuota="JZQuota"></performanceSAP>
  32. </van-collapse-item>
  33. <van-collapse-item name="17" v-if="!JZQuota && !GZQuota" title="超好贴分销店下单">
  34. <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
  35. </van-collapse-item>
  36. <van-collapse-item v-if="GZQuota" name="43" title="纯态之家SAP(千元)">
  37. <van-row style="margin-top: -10px">
  38. <van-col span="12"><span class="leftTitle">本月</span></van-col
  39. ><van-col span="12"><span class="rightTitle">本季</span></van-col>
  40. <van-col span="12"
  41. ><p>
  42. 业绩实际:<span class="colorbalck">{{
  43. Micrometer(reportTargetAll.gzCtzjMonthAct)
  44. }}</span>
  45. </p></van-col
  46. >
  47. <van-col span="12"
  48. ><p>
  49. 业绩实际:<span class="colorbalck">{{
  50. Micrometer(reportTargetAll.gzCtzjQuarterAct)
  51. }}</span>
  52. </p></van-col
  53. >
  54. <!-- <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjMonthSuccessRate) }}%</span></p></van-col>-->
  55. <!-- <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjQuarterSuccessRate) }}%</span></p></van-col>-->
  56. <van-col span="12"
  57. ><p>
  58. 业绩成长率:<span class="colorbalck"
  59. >{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span
  60. >
  61. </p></van-col
  62. >
  63. <van-col span="12"
  64. ><p>
  65. 业绩成长率:<span class="colorbalck"
  66. >{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span
  67. >
  68. </p></van-col
  69. >
  70. </van-row>
  71. </van-collapse-item>
  72. <van-collapse-item v-if="GZQuota" name="42" title="商机关联的质感外墙业绩SAP(千元)">
  73. <van-row style="margin-top: -10px">
  74. <van-col span="12"><span class="leftTitle">本月</span></van-col
  75. ><van-col span="12"><span class="rightTitle">本季</span></van-col>
  76. <van-col span="12"
  77. ><p>
  78. 业绩实际:<span class="colorbalck">{{
  79. Micrometer(reportTargetAll.gzZgwqMonthAct)
  80. }}</span>
  81. </p></van-col
  82. >
  83. <van-col span="12"
  84. ><p>
  85. 业绩实际:<span class="colorbalck">{{
  86. Micrometer(reportTargetAll.gzZgwqQuarterAct)
  87. }}</span>
  88. </p></van-col
  89. >
  90. <!-- <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqMonthSuccessRate) }}%</span></p></van-col>-->
  91. <!-- <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqQuarterSuccessRate) }}%</span></p></van-col>-->
  92. <van-col span="12"
  93. ><p>
  94. 业绩成长率:<span class="colorbalck"
  95. >{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span
  96. >
  97. </p></van-col
  98. >
  99. <van-col span="12"
  100. ><p>
  101. 业绩成长率:<span class="colorbalck"
  102. >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
  103. >
  104. </p></van-col
  105. >
  106. </van-row>
  107. </van-collapse-item>
  108. <van-collapse-item v-if="GZQuota" name="41" title="公装客户开发">
  109. <van-row>
  110. <!-- <van-col span="12"><span class="leftTitle">全年开户</span></van-col><van-col span="12"><span class="rightTitle">本月报备</span></van-col>-->
  111. <van-col span="12"
  112. ><p>
  113. 全年实际:<span class="colorbalck">{{
  114. Micrometer(reportTargetAll.gzKhljYearAct)
  115. }}</span>
  116. </p></van-col
  117. >
  118. <!-- <van-col span="12" ><p>报备成功数:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzBbMonthSuccessNum) }}</span></p></van-col>-->
  119. <!-- <van-col span="12"><p>&nbsp;</p></van-col>-->
  120. <van-col span="12"
  121. ><p>
  122. 全年目标:<span class="colorbalck">{{
  123. Micrometer(reportTargetAll.gzKhljYearTarget)
  124. }}</span>
  125. </p></van-col
  126. >
  127. <van-col span="12"><p>&nbsp;</p></van-col>
  128. <van-col span="12"
  129. ><p>
  130. 目标达成率:<span class="colorbalck"
  131. >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
  132. >
  133. </p></van-col
  134. >
  135. </van-row>
  136. </van-collapse-item>
  137. <van-collapse-item v-if="GZQuota" name="40" title="今日拜访">
  138. <van-row>
  139. <van-col span="12"
  140. ><p>
  141. 公装客户数:<span class="colorbalck">{{
  142. Micrometer(reportTargetAll.gzVisitCustomerNum)
  143. }}</span>
  144. </p></van-col
  145. >
  146. <van-col span="12"
  147. ><p>
  148. 工地数:<span class="colorbalck">{{
  149. Micrometer(reportTargetAll.gzVisitGdNum)
  150. }}</span>
  151. </p></van-col
  152. >
  153. <van-col span="12"
  154. ><p>
  155. 潜在客户数:<span class="colorbalck">{{
  156. Micrometer(reportTargetAll.gzVisitQzCustomerNum)
  157. }}</span>
  158. </p></van-col
  159. >
  160. </van-row>
  161. </van-collapse-item>
  162. <van-collapse-item v-if="!JZQuota && !GZQuota" name="11" title="专业时时丽SAP(千元)">
  163. <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
  164. </van-collapse-item>
  165. <van-collapse-item v-if="!JZQuota && !GZQuota" name="29" title="瓷砖胶SAP(千元)">
  166. <van-row>
  167. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  168. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  169. <van-col span="12"
  170. ><p>
  171. 实际:<span class="colorbalck">{{
  172. Micrometer(reportTargetAll.czjSapMonthAct)
  173. }}</span>
  174. </p></van-col
  175. >
  176. <van-col span="12"
  177. ><p>
  178. 实际:<span class="colorbalck">{{
  179. Micrometer(reportTargetAll.czjSapQuarterAct)
  180. }}</span>
  181. </p></van-col
  182. >
  183. <van-col span="12"
  184. ><p>
  185. 达成率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthSuccessRate }}%</span>
  186. </p></van-col
  187. >
  188. <van-col span="12"
  189. ><p>
  190. 达成率:<span class="colorbalck"
  191. >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
  192. >
  193. </p></van-col
  194. >
  195. <van-col span="12"
  196. ><p>
  197. 成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
  198. </p></van-col
  199. >
  200. <van-col span="12"
  201. ><p>
  202. 成长率:<span class="colorbalck">{{ reportTargetAll.czjSapQuarterGrowRate }}%</span>
  203. </p></van-col
  204. >
  205. </van-row>
  206. </van-collapse-item>
  207. <van-collapse-item v-if="JZQuota" name="23" title="展厅上样">
  208. <van-row>
  209. <van-col span="24"
  210. ><p>
  211. 当月新增店数:<span class="colorbalck">{{
  212. reportTargetAll.exhibitionHallMonthAct
  213. }}</span>
  214. </p></van-col
  215. >
  216. <van-col span="12"
  217. ><p>
  218. 全年实际店数:<span class="colorbalck"
  219. >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
  220. >
  221. </p></van-col
  222. >
  223. <van-col span="12"
  224. ><p>
  225. 全年达成进度率:<span class="colorbalck"
  226. >{{ reportTargetAll.exhibitionHallYearRate }}%</span
  227. >
  228. </p></van-col
  229. >
  230. </van-row>
  231. </van-collapse-item>
  232. <!-- <van-collapse-item v-if="JZQuota" name="20" title="瓷砖胶过账(千元)">
  233. <van-row>
  234. <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
  235. <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
  236. <van-col span="12"
  237. ><p>
  238. 客户数:<span class="colorbalck">{{ reportTargetAll.czjPostCustomerMonth }}</span>
  239. </p>
  240. </van-col>
  241. <van-col span="12"
  242. ><p>
  243. 客户数:<span class="colorbalck">{{ reportTargetAll.czjPostCustomerQuarter }}</span>
  244. </p></van-col
  245. >
  246. <van-col span="12"
  247. ><p>
  248. 下单数(包):<span class="colorbalck">{{
  249. reportTargetAll.czjPostOrderNumMonth
  250. }}</span>
  251. </p>
  252. </van-col>
  253. <van-col span="12"
  254. ><p>
  255. 下单数(包):<span class="colorbalck">{{
  256. reportTargetAll.czjPostOrderNumQuarter
  257. }}</span>
  258. </p></van-col
  259. >
  260. <van-col span="12"
  261. ><p>
  262. 下单销售额:<span class="colorbalck">{{
  263. Micrometer(reportTargetAll.czjPostOrderPriceMonth)
  264. }}</span>
  265. </p></van-col
  266. >
  267. <van-col span="12"
  268. ><p>
  269. 下单销售额:<span class="colorbalck">{{
  270. Micrometer(reportTargetAll.czjPostOrderPriceQuarter)
  271. }}</span>
  272. </p></van-col
  273. >
  274. <van-col span="12"
  275. ><p>
  276. 下单率:<span class="colorbalck">{{ reportTargetAll.czjPostOrderRateMonth }}%</span>
  277. </p>
  278. </van-col>
  279. <van-col span="12"
  280. ><p>
  281. 下单率:<span class="colorbalck"
  282. >{{ reportTargetAll.czjPostOrderRateQuarter }}%</span
  283. >
  284. </p></van-col
  285. >
  286. <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
  287. <van-col span="24"
  288. ><p>
  289. 客户数:<span class="colorbalck">{{ reportTargetAll.czjPostCustomerYear }}</span>
  290. </p>
  291. </van-col>
  292. <van-col span="24"
  293. ><p>
  294. 下单数(包):<span class="colorbalck">{{ reportTargetAll.czjPostOrderNumYear }}</span>
  295. </p>
  296. </van-col>
  297. <van-col span="24"
  298. ><p>
  299. 下单销售额:<span class="colorbalck">{{
  300. Micrometer(reportTargetAll.czjPostOrderPriceYear)
  301. }}</span>
  302. </p></van-col
  303. >
  304. <van-col span="24"
  305. ><p>
  306. 下单率:<span class="colorbalck">{{ reportTargetAll.czjPostOrderRateYear }}%</span>
  307. </p>
  308. </van-col>
  309. </van-row>
  310. </van-collapse-item> -->
  311. <van-collapse-item v-if="JZQuota" name="22" title="基材粉料过账(千元)">
  312. <van-row>
  313. <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
  314. <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
  315. <van-col span="12"
  316. ><p>
  317. 客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
  318. </p>
  319. </van-col>
  320. <van-col span="12"
  321. ><p>
  322. 客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerQuarter }}</span>
  323. </p></van-col
  324. >
  325. <van-col span="12"
  326. ><p>
  327. 下单数(包):<span class="colorbalck">{{ reportTargetAll.jcPostOrderNumMonth }}</span>
  328. </p>
  329. </van-col>
  330. <van-col span="12"
  331. ><p>
  332. 下单数(包):<span class="colorbalck">{{
  333. reportTargetAll.jcPostOrderNumQuarter
  334. }}</span>
  335. </p></van-col
  336. >
  337. <van-col span="12"
  338. ><p>
  339. 下单销售额:<span class="colorbalck">{{
  340. Micrometer(reportTargetAll.jcPostOrderPriceMonth)
  341. }}</span>
  342. </p></van-col
  343. >
  344. <van-col span="12"
  345. ><p>
  346. 下单销售额:<span class="colorbalck">{{
  347. Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
  348. }}</span>
  349. </p></van-col
  350. >
  351. <van-col span="12"
  352. ><p>
  353. 下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateMonth }}%</span>
  354. </p>
  355. </van-col>
  356. <van-col span="12"
  357. ><p>
  358. 下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateQuarter }}%</span>
  359. </p></van-col
  360. >
  361. <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
  362. <van-col span="24"
  363. ><p>
  364. 客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
  365. </p>
  366. </van-col>
  367. <van-col span="24"
  368. ><p>
  369. 下单数(包):<span class="colorbalck">{{ reportTargetAll.jcPostOrderNumYear }}</span>
  370. </p>
  371. </van-col>
  372. <van-col span="24"
  373. ><p>
  374. 下单销售额:<span class="colorbalck">{{
  375. Micrometer(reportTargetAll.jcPostOrderPriceYear)
  376. }}</span>
  377. </p></van-col
  378. >
  379. <van-col span="24"
  380. ><p>
  381. 下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateYear }}%</span>
  382. </p>
  383. </van-col>
  384. </van-row>
  385. </van-collapse-item>
  386. <van-collapse-item v-if="JZQuota" name="21" title="魔术漆过账(千元)">
  387. <van-row>
  388. <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
  389. <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
  390. <van-col span="12"
  391. ><p>
  392. 客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerMonth }}</span>
  393. </p>
  394. </van-col>
  395. <van-col span="12"
  396. ><p>
  397. 客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerQuarter }}</span>
  398. </p></van-col
  399. >
  400. <van-col span="12"
  401. ><p>
  402. 下单销售额:<span class="colorbalck">{{
  403. Micrometer(reportTargetAll.msqPostOrderPriceMonth)
  404. }}</span>
  405. </p></van-col
  406. >
  407. <van-col span="12"
  408. ><p>
  409. 下单销售额:<span class="colorbalck">{{
  410. Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
  411. }}</span>
  412. </p></van-col
  413. >
  414. <van-col span="12"
  415. ><p>
  416. 下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateMonth }}%</span>
  417. </p>
  418. </van-col>
  419. <van-col span="12"
  420. ><p>
  421. 下单率:<span class="colorbalck"
  422. >{{ reportTargetAll.msqPostOrderRateQuarter }}%</span
  423. >
  424. </p></van-col
  425. >
  426. <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
  427. <van-col span="24"
  428. ><p>
  429. 客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
  430. </p>
  431. </van-col>
  432. <van-col span="24"
  433. ><p>
  434. 下单销售额:<span class="colorbalck">{{
  435. Micrometer(reportTargetAll.msqPostOrderPriceYear)
  436. }}</span>
  437. </p></van-col
  438. >
  439. <van-col span="24"
  440. ><p>
  441. 下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateYear }}%</span>
  442. </p>
  443. </van-col>
  444. </van-row>
  445. </van-collapse-item>
  446. <van-collapse-item title="今日拜访照片" name="10" v-if="reportTarget.photos">
  447. <div v-for="(item, index) in reportTarget.photos" :key="index">
  448. <p style="margin-bottom: 10px; margin-top: 0">{{ item.taskName }}</p>
  449. <van-row gutter="10" class="visitIMG1">
  450. <van-col
  451. span="6"
  452. style="padding-bottom: 10px"
  453. @click="pviewFn(index, indexImg, item)"
  454. v-for="(itemImg, indexImg) in item.photos"
  455. :key="indexImg">
  456. <img :src="itemImg.fileUrl" alt="" />
  457. </van-col>
  458. </van-row>
  459. </div>
  460. </van-collapse-item>
  461. </van-collapse>
  462. <div class="contentContainer">
  463. <div v-if="GZQuota">
  464. <p class="contentContainerTitle">今日项目跟进数</p>
  465. <div style="padding: 10px 0">
  466. <van-field readonly v-model="projectFollowNum" type="digit" />
  467. </div>
  468. <p class="contentContainerTitle">今日TUC成功报备数量</p>
  469. <div style="padding: 10px 0">
  470. <van-field readonly v-model="tucReportingSuccessNum" type="digit" />
  471. </div>
  472. </div>
  473. <!-- 今日未拜访原因 如果不为空则展示,为空则不展示 -->
  474. <div v-if="reportTarget.notVisitReason && reportTarget.notVisitReason != ''">
  475. <p class="contentContainerTitle">
  476. 今日拜访0家店的原因(截至日报提交时间,今日拜访0家店的原因)
  477. </p>
  478. <div style="padding: 10px 0">
  479. <van-field
  480. readonly
  481. v-model="reportTarget.notVisitReason"
  482. rows="4"
  483. autosize
  484. type="textarea" />
  485. </div>
  486. </div>
  487. <p class="contentContainerTitle">今日机会与挑战总结</p>
  488. <div style="padding: 10px 0">
  489. <van-field v-model="Contents" rows="4" autosize readonly type="textarea" />
  490. </div>
  491. <p class="contentContainerTitle">明日工作规划</p>
  492. <div style="padding: 10px 0">
  493. <van-field v-model="Content2" rows="4" autosize readonly type="textarea" />
  494. </div>
  495. </div>
  496. <div class="contentContainer">
  497. <p class="contentContainerTitle">打分 <span>请点亮小星星,一颗小星星代表1分</span></p>
  498. <div style="padding: 10px 0">
  499. <van-rate
  500. v-model="number"
  501. :size="25"
  502. color="#ffd21e"
  503. void-icon="star"
  504. void-color="#eee" /><span class="rateText">&nbsp;&nbsp;&nbsp;&nbsp;{{ number }}分</span>
  505. </div>
  506. </div>
  507. <div class="contentContainer">
  508. <p class="contentContainerTitle">评语</p>
  509. <div style="padding: 10px 0">
  510. <van-field
  511. v-model="Content"
  512. rows="4"
  513. autosize
  514. maxlength="800"
  515. show-word-limit
  516. :formatter="formatter"
  517. type="textarea"
  518. placeholder="请输入评语" />
  519. </div>
  520. </div>
  521. <br />
  522. <br />
  523. <van-row>
  524. <van-col span="12">
  525. <van-button type="info" size="small" plain class="Btn" @click="submit"
  526. >确认审批</van-button
  527. >
  528. </van-col>
  529. <van-col span="12">
  530. <van-button type="info" size="small" plain class="BtnBorder" @click="reject"
  531. >退回重写</van-button
  532. >
  533. </van-col>
  534. </van-row>
  535. </div>
  536. <br />
  537. <br />
  538. </div>
  539. </template>
  540. <script>
  541. import history from '@/assets/Icon/history.png';
  542. import { ImagePreview } from 'vant';
  543. import {
  544. userTodayPlanNum,
  545. updateReport,
  546. getDetailById,
  547. getReportInfo,
  548. buryingPoint,
  549. } from '@/api/index';
  550. import visitedRealTime from '@/views/componentsTarget/visitedRealTime';
  551. import createStoreBJ from '@/views/componentsTarget/createStoreBJ';
  552. import placeOrder from '@/views/componentsTarget/placeOrder';
  553. import ZYPlaceOrder from '@/views/componentsTarget/ZYPlaceOrder';
  554. import performanceSAP from '@/views/componentsTarget/performanceSAP';
  555. import ZYSAP from '@/views/componentsTarget/ZYSAP';
  556. import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
  557. export default {
  558. name: 'daily',
  559. components: {
  560. visitedRealTime,
  561. createStoreBJ,
  562. placeOrder,
  563. ZYPlaceOrder,
  564. performanceSAP,
  565. ZYSAP,
  566. veryGoodPlaceOrder,
  567. },
  568. data() {
  569. return {
  570. show: true,
  571. num: 0,
  572. todayGoal: {},
  573. progressWidth: 0,
  574. downloadShow: false,
  575. history: history,
  576. imgArr: [],
  577. imgList: [],
  578. activeNames: [
  579. '1',
  580. '2',
  581. '3',
  582. '4',
  583. '5',
  584. '6',
  585. '7',
  586. '8',
  587. '10',
  588. '16',
  589. '17',
  590. '20',
  591. '21',
  592. '22',
  593. '23',
  594. '11',
  595. '29',
  596. '33',
  597. '40',
  598. '41',
  599. '42',
  600. '43',
  601. ],
  602. Content: '',
  603. Content2: '',
  604. number: 0,
  605. powerGrade: '',
  606. reportTargetAll: {},
  607. saptitle: '业绩目标SAP(千元)',
  608. failContent: '',
  609. successContent: '',
  610. reportContents: [{ dayContent: '' }],
  611. projectFollowNum: '',
  612. tucReportingSuccessNum: '',
  613. reportTarget: {},
  614. Contents: '',
  615. type: '-1',
  616. JZQuota: false,
  617. GZQuota: false,
  618. titlejz: '',
  619. //
  620. };
  621. },
  622. created() {
  623. this.powerGrade = localStorage.getItem('powerGrade');
  624. this.getDetailById();
  625. },
  626. watch: {
  627. $route(to, from) {
  628. this.powerGrade = localStorage.getItem('powerGrade');
  629. if (to.path == '/dailyApproval') {
  630. this.getDetailById();
  631. this.number == 0;
  632. this.Content = '';
  633. }
  634. },
  635. },
  636. methods: {
  637. buryingPoint(val) {
  638. buryingPoint(val);
  639. },
  640. pviewFn(val, imgVal, datai) {
  641. var imgList = [];
  642. var photos = this.reportTarget.photos[val].photos;
  643. for (let i = 0; i < photos.length; i++) {
  644. imgList.push(photos[i].fileUrl);
  645. }
  646. ImagePreview({ images: imgList, startPosition: imgVal });
  647. this.buryingPoint({
  648. systemModel: '日报审核',
  649. buryingPointType: 2,
  650. buryingPointValue: datai.taskName,
  651. buryingPointName: '拜访照片',
  652. buryingPointPosition: '日报照片',
  653. });
  654. },
  655. formatter(value) {
  656. return value.replace(
  657. /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi,
  658. ''
  659. );
  660. },
  661. reject() {
  662. let loading1 = this.$toast.loading({
  663. duration: 0,
  664. message: '数据提交中...',
  665. forbidClick: true,
  666. });
  667. if (this.Content.trim() == '') {
  668. this.$toast('评语未填写');
  669. return false;
  670. }
  671. this.reportTarget.number = this.number;
  672. this.reportTarget.failContent = this.Content;
  673. this.reportTarget.failContent = this.reportTarget.failContent;
  674. this.reportTarget.status = 2;
  675. updateReport(this.reportTarget).then((res) => {
  676. loading1.clear();
  677. if (res.code == 200) {
  678. this.$dialog
  679. .alert({
  680. title: '系统提示',
  681. message: '提交成功',
  682. })
  683. .then(() => {
  684. window.location.replace(window.location.origin + '/mobile/dailyApprovalList');
  685. });
  686. } else {
  687. this.$toast.fail(res.msg);
  688. }
  689. });
  690. },
  691. submit() {
  692. let loading1 = this.$toast.loading({
  693. duration: 0,
  694. message: '数据提交中...',
  695. forbidClick: true,
  696. });
  697. if (this.number == '0') {
  698. this.$toast('评分未选择');
  699. return false;
  700. }
  701. if (this.Content.trim() == '') {
  702. this.$toast('评语未填写');
  703. return false;
  704. }
  705. if (this.Content.length > 800) {
  706. this.$toast('评语内容超过800字');
  707. return false;
  708. }
  709. this.reportTarget.number = this.number;
  710. this.reportTarget.successContent = this.Content;
  711. this.reportTarget.status = 3;
  712. this.reportTarget.successContent = this.reportTarget.successContent;
  713. updateReport(this.reportTarget).then((res) => {
  714. loading1.clear();
  715. if (res.code == 200) {
  716. this.$dialog
  717. .alert({
  718. title: '系统提示',
  719. message: '提交成功',
  720. })
  721. .then(() => {
  722. window.location.replace(window.location.origin + '/mobile/dailyApprovalList');
  723. });
  724. } else {
  725. this.$toast.fail(res.msg);
  726. }
  727. });
  728. },
  729. getDetailById() {
  730. let loading1 = this.$toast.loading({
  731. duration: 0,
  732. message: '加载中...',
  733. forbidClick: true,
  734. });
  735. getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
  736. this.GZQuota = false;
  737. this.JZQuota = false;
  738. if (res.data.postType == 'JZ') {
  739. this.JZQuota = true;
  740. } else if (res.data.postType == 'GZ') {
  741. this.GZQuota = true;
  742. this.saptitle = '公裝业绩SAP(千元)';
  743. } else {
  744. this.saptitle = '业绩目标SAP(千元)';
  745. }
  746. loading1.clear();
  747. if (res.code == 200) {
  748. if (res.data.status != '1') {
  749. this.$dialog
  750. .alert({
  751. title: '系统提示',
  752. message: '日报已审批',
  753. })
  754. .then(() => {
  755. window.location.replace(window.location.origin + '/mobile/home');
  756. });
  757. } else {
  758. this.reportTargetAll = res.data.reportTargetAll;
  759. this.reportTarget = res.data;
  760. this.reportContents = res.data.reportContents;
  761. this.type = res.data.userType;
  762. if (res.data.reportContents.length > 0) {
  763. this.Contents = res.data.reportContents[0].dayContent;
  764. if (res.data.reportContents.length > 1) {
  765. this.Content2 = res.data.reportContents[1].dayContent;
  766. } else {
  767. this.Content2 = '';
  768. }
  769. if (res.data.reportContents.length > 2) {
  770. this.projectFollowNum = res.data.reportContents[2].projectFollowNum;
  771. this.tucReportingSuccessNum = res.data.reportContents[3].tucReportingSuccessNum;
  772. }
  773. } else {
  774. this.Contents = '';
  775. this.Content2 = '';
  776. }
  777. }
  778. var imgList = [];
  779. if (res.data.photos != null) {
  780. for (var k = 0; k < res.data.photos.length; k++) {
  781. imgList.push(res.data.photos[k].fileUrl + '');
  782. }
  783. }
  784. this.imgList = imgList;
  785. } else {
  786. this.$toast(res.msg);
  787. }
  788. });
  789. },
  790. userTodayPlanNum() {
  791. userTodayPlanNum().then((res) => {
  792. if (res.code == 200) {
  793. this.todayGoal = res.data;
  794. this.progressWidth = (this.todayGoal.finishNum / this.todayGoal.planNum) * 100 + '%';
  795. localStorage.setItem('nickName', res.data.user.nickName);
  796. localStorage.setItem('storeType', res.data.user.type);
  797. } else {
  798. this.$toast.fail(res.msg);
  799. }
  800. });
  801. },
  802. onClickLeft() {
  803. this.$router.go(-1);
  804. },
  805. },
  806. };
  807. </script>
  808. <style scoped>
  809. .container {
  810. margin: 10px;
  811. }
  812. .container .van-collapse-item {
  813. margin-bottom: 10px;
  814. border-radius: 6px;
  815. overflow: hidden;
  816. }
  817. .linep p {
  818. margin: 10px 0 0 0;
  819. font-size: 14px;
  820. color: #666;
  821. }
  822. .linep .texttitle {
  823. color: #0057ba;
  824. position: relative;
  825. padding-left: 10px;
  826. }
  827. .linep .texttitle2 {
  828. padding-left: 0;
  829. }
  830. .linep .texttitle .opint {
  831. position: absolute;
  832. left: 0px;
  833. top: 6px;
  834. margin-right: 6px;
  835. display: inline-block;
  836. width: 6px;
  837. height: 6px;
  838. border-radius: 10px;
  839. background-color: #004d8c;
  840. }
  841. .leftTitle {
  842. background-color: #74a4d9;
  843. color: #fff;
  844. display: inline-block;
  845. padding: 0 4px;
  846. border-radius: 2px;
  847. }
  848. .rightTitle {
  849. background-color: #e7b4bb;
  850. color: #fff;
  851. display: inline-block;
  852. padding: 0 4px;
  853. border-radius: 2px;
  854. }
  855. </style>
  856. <style>
  857. .linep .van-cell__title {
  858. color: #1e5398;
  859. font-weight: 500;
  860. }
  861. .Btn {
  862. margin: 0 auto 10px;
  863. display: block;
  864. width: 90%;
  865. border-radius: 5px;
  866. color: #fff !important;
  867. background-color: #0057ba;
  868. border: 1px solid #0057ba;
  869. height: 36px;
  870. }
  871. .BtnBorder {
  872. margin: 0 auto 10px;
  873. display: block;
  874. width: 90%;
  875. border-radius: 5px;
  876. border: 1px solid #0057ba;
  877. color: #0057ba;
  878. height: 36px;
  879. }
  880. .linep .contentContainer {
  881. background-color: white;
  882. border-radius: 8px;
  883. padding: 10px 16px;
  884. margin-bottom: 10px;
  885. }
  886. .linep .contentContainer .contentContainerTitle {
  887. color: #222;
  888. }
  889. .linep .contentContainer .contentContainerTitle span {
  890. font-size: 12px;
  891. color: #666;
  892. }
  893. .linep .contentContainer .van-field__control {
  894. background-color: #f8f8f8;
  895. padding: 10px;
  896. border-radius: 8px;
  897. }
  898. .linep .contentContainer .van-cell {
  899. padding: 0;
  900. }
  901. .colorbalck {
  902. color: #333;
  903. }
  904. .van-dialog__confirm,
  905. .van-dialog__confirm:active {
  906. color: #0057ba;
  907. }
  908. .visitIMG img {
  909. display: block;
  910. width: 100%;
  911. height: 148px;
  912. border-radius: 6px;
  913. }
  914. .visitIMG1 img {
  915. display: block;
  916. width: 100%;
  917. height: 75px;
  918. border-radius: 6px;
  919. }
  920. </style>