weeklyHistoricalDetils.vue 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971
  1. <template>
  2. <div>
  3. <!-- 顶部条-->
  4. <div class="navBarTOP">
  5. <van-nav-bar class="navBar" title="周报详情" left-arrow @click-left="onClickLeft" />
  6. </div>
  7. <!-- 主体内容-->
  8. <div class="container linep">
  9. <div class="lineGrey"></div>
  10. <div class="lineGrey"></div>
  11. <div class="lineGrey"></div>
  12. <div class="lineGrey"></div>
  13. <div class="lineGrey"></div>
  14. <p class="texttitle texttitledaily" style="margin-top: 6px">
  15. <span class="opint"></span>
  16. <span v-if="reportTarget.status == 1">待审批</span>
  17. <span v-if="reportTarget.status == 3">审批完成</span>
  18. <span v-if="reportTarget.status == 2">退回重写</span>
  19. <span v-if="reportTarget.status == -1">过期未汇报</span>
  20. <span v-if="reportTarget.status > 1"><{{ ptitle }}审批></span>
  21. </p>
  22. <br />
  23. <div
  24. class="contentContainer"
  25. v-if="reportTarget.status > 1 || reportTarget.reportRemarks != null">
  26. <div style="padding: 10px 0" v-if="reportTarget.status > 1">
  27. <van-rate
  28. v-model="reportTarget.number"
  29. :size="25"
  30. color="#ffd21e"
  31. void-icon="star"
  32. void-color="#eee"
  33. readonly />
  34. <span class="rateText">&nbsp;&nbsp;&nbsp;&nbsp;{{ reportTarget.number }}分</span>
  35. </div>
  36. <div style="padding: 10px 0" v-if="reportTarget.status > 1">
  37. <van-field v-model="successContent" rows="4" autosize readonly type="textarea" />
  38. </div>
  39. <div v-if="reportTarget.reportRemarks != null">
  40. <div v-for="(item, index) in reportTarget.reportRemarks" :key="index">
  41. <p class="contentContainerTitle">{{ item.postName }} - {{ item.nickName }}的点评</p>
  42. <div style="padding: 10px 0">
  43. <van-field v-model="item.remarkContent" rows="4" autosize readonly type="textarea" />
  44. </div>
  45. <p style="text-align: right">点评时间:{{ item.createTime }}</p>
  46. </div>
  47. </div>
  48. </div>
  49. <p style="font-size: 14px; margin: 10px 0">{{ title }}</p>
  50. <van-collapse v-model="activeNames">
  51. <van-collapse-item title="业绩目标SAP(千元)" name="1" v-if="type != 3 && type != 4">
  52. <van-row>
  53. <van-col span="12"
  54. ><span class="leftTitle">本月业绩</span
  55. ><span v-if="JZQuota" class="leftTitle">本月实际</span></van-col
  56. >
  57. <van-col span="12"
  58. ><span class="rightTitle">本季业绩</span
  59. ><span v-if="JZQuota" class="rightTitle">本季实际</span></van-col
  60. >
  61. <van-col span="12">
  62. <p>
  63. 本月实际:<span class="colorbalck">{{
  64. Micrometer(reportTargetAll.sapMonthAct)
  65. }}</span>
  66. </p>
  67. </van-col>
  68. <van-col span="12">
  69. <p>
  70. 本季实际:<span class="colorbalck">{{
  71. Micrometer(reportTargetAll.sapQuarterAct)
  72. }}</span>
  73. </p>
  74. </van-col>
  75. <van-col span="12"
  76. ><p>
  77. 本月达成率:<span class="colorbalck"
  78. >{{ reportTargetAll.sapMonthSuccessRate }}%</span
  79. >
  80. </p></van-col
  81. >
  82. <van-col span="12"
  83. ><p>
  84. 本季达成率:<span class="colorbalck"
  85. >{{ reportTargetAll.sapQuarterSuccessRate }}%</span
  86. >
  87. </p></van-col
  88. >
  89. <van-col span="12"
  90. ><p>
  91. 本月成长率:<span class="colorbalck">{{ reportTargetAll.sapMonthGrowRate }}%</span>
  92. </p></van-col
  93. >
  94. <van-col span="12"
  95. ><p>
  96. 本季成长率:<span class="colorbalck">{{ reportTargetAll.sapQuarterGrowRate }}%</span>
  97. </p></van-col
  98. >
  99. </van-row>
  100. </van-collapse-item>
  101. <van-collapse-item name="27" title="乳胶漆中高端(千元)">
  102. <van-row>
  103. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col>
  104. <van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  105. <van-col span="12"
  106. ><p>
  107. 实际:<span class="colorbalck">{{
  108. Micrometer(reportTargetAll.rjqSapMonthAct)
  109. }}</span>
  110. </p></van-col
  111. >
  112. <van-col span="12"
  113. ><p>
  114. 实际:<span class="colorbalck">{{
  115. Micrometer(reportTargetAll.rjqSapQuarterAct)
  116. }}</span>
  117. </p></van-col
  118. >
  119. <van-col span="12"
  120. ><p>
  121. 达成率:<span class="colorbalck">{{ reportTargetAll.rjqSapMonthSuccessRate }}%</span>
  122. </p></van-col
  123. >
  124. <van-col span="12"
  125. ><p>
  126. 达成率:<span class="colorbalck"
  127. >{{ reportTargetAll.rjqSapQuarterSuccessRate }}%</span
  128. >
  129. </p></van-col
  130. >
  131. <van-col span="12"
  132. ><p>
  133. 成长率:<span class="colorbalck">{{ reportTargetAll.rjqSapMonthGrowRate }}%</span>
  134. </p></van-col
  135. >
  136. <van-col span="12"
  137. ><p>
  138. 成长率:<span class="colorbalck">{{ reportTargetAll.rjqSapQuarterGrowRate }}%</span>
  139. </p></van-col
  140. >
  141. </van-row>
  142. </van-collapse-item>
  143. <van-collapse-item name="11" title="专业时时丽SAP(千元)">
  144. <van-row>
  145. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col>
  146. <van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  147. <van-col span="12"
  148. ><p>
  149. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjMonthAct) }}</span>
  150. </p></van-col
  151. >
  152. <van-col span="12"
  153. ><p>
  154. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjQuarterAct) }}</span>
  155. </p></van-col
  156. >
  157. <van-col span="12"
  158. ><p>
  159. 达成率:<span class="colorbalck">{{ reportTargetAll.czjMonthSuccessRate }}%</span>
  160. </p></van-col
  161. >
  162. <van-col span="12"
  163. ><p>
  164. 达成率:<span class="colorbalck">{{ reportTargetAll.czjQuarterSuccessRate }}%</span>
  165. </p></van-col
  166. >
  167. <van-col span="12"
  168. ><p>
  169. 成长率:<span class="colorbalck">{{ reportTargetAll.czjMonthGrowRate }}%</span>
  170. </p></van-col
  171. >
  172. <van-col span="12"
  173. ><p>
  174. 成长率:<span class="colorbalck">{{ reportTargetAll.czjQuarterGrowRate }}%</span>
  175. </p></van-col
  176. >
  177. </van-row>
  178. </van-collapse-item>
  179. <van-collapse-item name="28" title="防水+背胶SAP(千元)">
  180. <van-row>
  181. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  182. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  183. <van-col span="12"
  184. ><p>
  185. 实际:<span class="colorbalck">{{
  186. Micrometer(reportTargetAll.fsbjSapMonthAct)
  187. }}</span>
  188. </p></van-col
  189. >
  190. <van-col span="12"
  191. ><p>
  192. 实际:<span class="colorbalck">{{
  193. Micrometer(reportTargetAll.fsbjSapQuarterAct)
  194. }}</span>
  195. </p></van-col
  196. >
  197. <van-col span="12"
  198. ><p>
  199. 达成率:<span class="colorbalck"
  200. >{{ reportTargetAll.fsbjSapMonthSuccessRate }}%</span
  201. >
  202. </p></van-col
  203. >
  204. <van-col span="12"
  205. ><p>
  206. 达成率:<span class="colorbalck"
  207. >{{ reportTargetAll.fsbjSapQuarterSuccessRate }}%</span
  208. >
  209. </p></van-col
  210. >
  211. <van-col span="12"
  212. ><p>
  213. 成长率:<span class="colorbalck">{{ reportTargetAll.fsbjSapMonthGrowRate }}%</span>
  214. </p></van-col
  215. >
  216. <van-col span="12"
  217. ><p>
  218. 成长率:<span class="colorbalck">{{ reportTargetAll.fsbjSapQuarterGrowRate }}%</span>
  219. </p></van-col
  220. >
  221. </van-row>
  222. </van-collapse-item>
  223. <van-collapse-item name="29" title="瓷砖胶SAP(千元)">
  224. <van-row>
  225. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  226. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  227. <van-col span="12"
  228. ><p>
  229. 实际:<span class="colorbalck">{{
  230. Micrometer(reportTargetAll.czjSapMonthAct)
  231. }}</span>
  232. </p></van-col
  233. >
  234. <van-col span="12"
  235. ><p>
  236. 实际:<span class="colorbalck">{{
  237. Micrometer(reportTargetAll.czjSapQuarterAct)
  238. }}</span>
  239. </p></van-col
  240. >
  241. <van-col span="12"
  242. ><p>
  243. 达成率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthSuccessRate }}%</span>
  244. </p></van-col
  245. >
  246. <van-col span="12"
  247. ><p>
  248. 达成率:<span class="colorbalck"
  249. >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
  250. >
  251. </p></van-col
  252. >
  253. <van-col span="12"
  254. ><p>
  255. 成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
  256. </p></van-col
  257. >
  258. <van-col span="12"
  259. ><p>
  260. 成长率:<span class="colorbalck">{{ reportTargetAll.czjSapQuarterGrowRate }}%</span>
  261. </p></van-col
  262. >
  263. </van-row>
  264. </van-collapse-item>
  265. <van-collapse-item title="魔术漆SAP(千元)" name="3">
  266. <van-row>
  267. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col>
  268. <van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  269. <van-col span="12"
  270. ><p>
  271. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.ysqMonthAct) }}</span>
  272. </p></van-col
  273. >
  274. <van-col span="12"
  275. ><p>
  276. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.ysqQuarterAct) }}</span>
  277. </p></van-col
  278. >
  279. <van-col span="12"
  280. ><p>
  281. 达成率:<span class="colorbalck">{{ reportTargetAll.ysqMonthSuccessRate }}%</span>
  282. </p></van-col
  283. >
  284. <van-col span="12"
  285. ><p>
  286. 达成率:<span class="colorbalck">{{ reportTargetAll.ysqQuarterSuccessRate }}%</span>
  287. </p></van-col
  288. >
  289. <van-col span="12"
  290. ><p>
  291. 成长率:<span class="colorbalck">{{ reportTargetAll.ysqMonthGrowRate }}%</span>
  292. </p></van-col
  293. >
  294. <van-col span="12"
  295. ><p>
  296. 成长率:<span class="colorbalck">{{ reportTargetAll.ysqQuarterGrowRate }}%</span>
  297. </p></van-col
  298. >
  299. </van-row>
  300. </van-collapse-item>
  301. <van-collapse-item title="质感外墙SAP(千元)" name="4">
  302. <van-row>
  303. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  304. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  305. <van-col span="12"
  306. ><p>
  307. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.zgwqMonthAct) }}</span>
  308. </p></van-col
  309. >
  310. <van-col span="12"
  311. ><p>
  312. 实际:<span class="colorbalck">{{
  313. Micrometer(reportTargetAll.zgwqQuarterAct)
  314. }}</span>
  315. </p></van-col
  316. >
  317. <van-col span="12"
  318. ><p>
  319. 达成率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthSuccessRate }}%</span>
  320. </p></van-col
  321. >
  322. <van-col span="12"
  323. ><p>
  324. 达成率:<span class="colorbalck">{{ reportTargetAll.zgwqQuarterSuccessRate }}%</span>
  325. </p></van-col
  326. >
  327. <van-col span="12"
  328. ><p>
  329. 成长率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthGrowRate }}%</span>
  330. </p></van-col
  331. >
  332. <van-col span="12"
  333. ><p>
  334. 成长率:<span class="colorbalck">{{ reportTargetAll.zgwqQuarterGrowRate }}%</span>
  335. </p></van-col
  336. >
  337. </van-row>
  338. </van-collapse-item>
  339. <van-collapse-item title="建店布机" name="2">
  340. <van-row>
  341. <van-col span="12"
  342. ><p><span class="leftTitle">今年实际</span></p></van-col
  343. >
  344. <van-col span="12"
  345. ><p><span class="rightTitle">今年目标(达成率)</span></p></van-col
  346. >
  347. <van-col span="12"
  348. ><p>
  349. 金牌店点数:<span class="colorbalck">{{
  350. Micrometer(reportTargetAll.goldShopYearAct)
  351. }}</span>
  352. </p></van-col
  353. >
  354. <van-col span="12">
  355. <p>
  356. 金牌店点数:<span class="colorbalck">{{
  357. Micrometer(reportTargetAll.goldShopYearTarget)
  358. }}</span
  359. ><span class="colorbalck">({{ reportTargetAll.goldShopYearRate }}%)</span>
  360. </p>
  361. </van-col>
  362. <van-col span="12"
  363. ><p>
  364. 金牌店布机:<span class="colorbalck">{{
  365. Micrometer(reportTargetAll.goldShopBjYearAct)
  366. }}</span>
  367. </p></van-col
  368. >
  369. <van-col span="12">
  370. <p>
  371. 金牌店布机:<span class="colorbalck">{{
  372. Micrometer(reportTargetAll.goldShopBjYearTarget)
  373. }}</span
  374. ><span class="colorbalck">({{ reportTargetAll.goldShopBjYearRate }}%)</span>
  375. </p>
  376. </van-col>
  377. <van-col span="12"
  378. ><p>
  379. 分销店点数:<span class="colorbalck">{{
  380. Micrometer(reportTargetAll.allShopYearAct)
  381. }}</span>
  382. </p></van-col
  383. >
  384. <van-col span="12">
  385. <p>
  386. 分销店点数:<span class="colorbalck">{{
  387. Micrometer(reportTargetAll.allShopYearTarget)
  388. }}</span
  389. ><span class="colorbalck">({{ reportTargetAll.allShopYearRate }}%)</span>
  390. </p>
  391. </van-col>
  392. <!-- <van-col span="12"
  393. ><p>调色机上传数:{{ Micrometer(reportTargetAll.tsjUploadYearAct) }}</p></van-col
  394. >
  395. <van-col span="12">
  396. <p>
  397. 调色机上传数:<span class="colorbalck">{{
  398. Micrometer(reportTargetAll.tsjUploadYearTarget)
  399. }}</span
  400. ><span class="colorbalck">({{ reportTargetAll.tsjUploadYearRate }}%)</span>
  401. </p>
  402. </van-col> -->
  403. <van-col span="12"
  404. ><p>涂料店点数:{{ Micrometer(reportTargetAll.tlShopYearAct) }}</p></van-col
  405. >
  406. <van-col span="12">
  407. <p>
  408. 涂料店点数:<span class="colorbalck">{{
  409. Micrometer(reportTargetAll.tlShopYearTarget)
  410. }}</span
  411. ><span class="colorbalck">({{ reportTargetAll.tlShopYearRate }}%)</span>
  412. </p>
  413. </van-col>
  414. <van-col span="12">
  415. <p>厨卫店点数:{{ Micrometer(reportTargetAll.cwShopYearAct) }}</p></van-col
  416. >
  417. <van-col span="12">
  418. <p>
  419. 厨卫店点数:<span class="colorbalck">{{
  420. Micrometer(reportTargetAll.cwShopYearTarget)
  421. }}</span
  422. ><span class="colorbalck">({{ reportTargetAll.cwShopYearRate }}%)</span>
  423. </p>
  424. </van-col>
  425. </van-row>
  426. </van-collapse-item>
  427. <van-collapse-item name="16" title="专业时时丽分销店下单">
  428. <van-row>
  429. <van-col span="12"><span class="leftTitle">昨日新增</span></van-col
  430. ><van-col span="12"><span class="rightTitle">本月实际</span></van-col>
  431. <van-col span="12"
  432. ><p>
  433. 下单点数:<span class="colorbalck">{{
  434. Micrometer(reportTargetAll.professionalSslYes)
  435. }}</span>
  436. </p></van-col
  437. >
  438. <van-col span="12"
  439. ><p>
  440. 下单点数:<span class="colorbalck">{{
  441. Micrometer(reportTargetAll.professionalSslMonth)
  442. }}</span>
  443. </p></van-col
  444. >
  445. <van-col span="12"><p></p></van-col>
  446. <van-col span="12"
  447. ><p>
  448. 下单率 :<span class="colorbalck"
  449. >{{ reportTargetAll.professionalSslOrderRateMonth }}%</span
  450. >
  451. </p></van-col
  452. >
  453. <van-col span="12"
  454. ><p>
  455. 下单数量(桶):<span class="colorbalck">{{
  456. Micrometer(reportTargetAll.professionalSslOrderNumYes)
  457. }}</span>
  458. </p></van-col
  459. >
  460. <van-col span="12"
  461. ><p>
  462. 下单数量(桶):<span class="colorbalck">{{
  463. Micrometer(reportTargetAll.professionalSslOrderNumMonth)
  464. }}</span>
  465. </p></van-col
  466. >
  467. </van-row>
  468. </van-collapse-item>
  469. <van-collapse-item name="17" title="超好贴分销店下单">
  470. <van-row>
  471. <van-col span="12"><span class="leftTitle">昨日新增</span></van-col
  472. ><van-col span="12"><span class="rightTitle">本月实际</span></van-col>
  473. <van-col span="12"
  474. ><p>
  475. 下单点数:<span class="colorbalck">{{
  476. Micrometer(reportTargetAll.excellentPostYes)
  477. }}</span>
  478. </p></van-col
  479. >
  480. <van-col span="12"
  481. ><p>
  482. 下单点数:<span class="colorbalck">{{
  483. Micrometer(reportTargetAll.excellentPostMonth)
  484. }}</span>
  485. </p></van-col
  486. >
  487. <van-col span="12"><p></p></van-col>
  488. <van-col span="12"
  489. ><p>
  490. 下单率 :<span class="colorbalck"
  491. >{{ reportTargetAll.excellentPostOrderRateMonth }}%</span
  492. >
  493. </p></van-col
  494. >
  495. <van-col span="12"
  496. ><p>
  497. 下单数量(包):<span class="colorbalck">{{
  498. Micrometer(reportTargetAll.excellentPostOrderNumYes)
  499. }}</span>
  500. </p></van-col
  501. >
  502. <van-col span="12"
  503. ><p>
  504. 下单数量(包):<span class="colorbalck">{{
  505. Micrometer(reportTargetAll.excellentPostOrderNumMonth)
  506. }}</span>
  507. </p></van-col
  508. >
  509. </van-row>
  510. </van-collapse-item>
  511. <van-collapse-item title="客户开拓" name="6">
  512. <van-row>
  513. <!-- <van-col span="12" v-if="powerGrade>=3"><span class="leftTitle">非片区经销商</span></van-col>-->
  514. <!-- v-if="powerGrade==2"-->
  515. <van-col span="24"><span class="leftTitle">非片客户开发</span></van-col>
  516. <!-- <van-col span="12" v-if="powerGrade>=3"><span class="rightTitle" >TOP70直营家装</span></van-col>-->
  517. <van-col span="24"
  518. ><p>
  519. 全年开发数:<span class="colorbalck">{{
  520. Micrometer(reportTargetAll.customerAct)
  521. }}</span>
  522. </p></van-col
  523. >
  524. <!-- <van-col span="12" v-if="powerGrade>=3"><p>全年目标:<span class="colorbalck">{{reportTargetAll.directCustomerYearTarget}}</span></p></van-col>-->
  525. <!-- <van-col span="24"><p>实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.customerAct) }}</span></p></van-col>-->
  526. <!-- <van-col span="12" v-if="powerGrade>=3"><p>实际:<span class="colorbalck">{{reportTargetAll.directCustomerAct}}</span></p></van-col>-->
  527. <van-col span="24"
  528. ><p>
  529. 全年进度率:<span class="colorbalck">{{ reportTargetAll.customerYearRate }}%</span>
  530. </p></van-col
  531. >
  532. <!-- <van-col span="12" v-if="powerGrade>=3"><p>全年进度率:<span class="colorbalck">{{reportTargetAll.directCustomerYearRate}}%</span></p></van-col>-->
  533. </van-row>
  534. </van-collapse-item>
  535. <!-- <van-collapse-item title="门店异常管理提醒" name="7">-->
  536. <!-- <van-row>-->
  537. <!-- <van-col span="24"><p>未分配点数:<span class="colorbalck">{{reportTargetAll.undistrNum}}</span></p></van-col>-->
  538. <!-- <van-col span="24"><p>已覆盖未排线点数:<span class="colorbalck">{{reportTargetAll.coverNotPlan}}</span></p></van-col>-->
  539. <!-- </van-row>-->
  540. <!-- </van-collapse-item>-->
  541. <van-collapse-item title="上周工作成果" name="8">
  542. <div style="margin-top: -10px">
  543. <div v-for="(item2, index2) in reportContentsList2" :key="index2">
  544. <div v-if="index2 < 7">
  545. <p class="texttitle">
  546. <span class="opint"></span
  547. ><span v-if="!reportTarget.hideWeekDate">{{
  548. weeklyTimeDivision(item2.contentTime, 0)
  549. }}</span
  550. ><span>{{ weeklyTimeDivision(item2.contentTime, 1) }}</span>
  551. </p>
  552. <p>
  553. <span class="colorbalck">上午:</span
  554. >{{ reportContentsList1[index2].weekContentAm }}
  555. </p>
  556. <p>
  557. <span class="colorbalck">下午:</span
  558. >{{ reportContentsList1[index2].weekContentPm }}
  559. </p>
  560. <p class="texttitle texttitle2">实际工作进度</p>
  561. <p><span class="colorbalck">上午:</span>{{ item2.weekContentAm }}</p>
  562. <p><span class="colorbalck">下午:</span>{{ item2.weekContentPm }}</p>
  563. </div>
  564. <p v-if="index2 == 7" class="texttitle"><span class="opint"></span>上周工作重点</p>
  565. <div v-if="index2 == 7" style="padding: 10px 0" class="contentContainer">
  566. <van-field
  567. v-model="reportContentsList1[index2].weekContentSummary"
  568. rows="4"
  569. autosize
  570. readonly
  571. type="textarea" />
  572. </div>
  573. <p v-if="index2 == 7" class="texttitle"><span class="opint"></span>上周工作成果</p>
  574. <div v-if="index2 == 7" style="padding: 10px 0" class="contentContainer">
  575. <van-field
  576. v-model="item2.weekContentSummary"
  577. rows="4"
  578. autosize
  579. readonly
  580. type="textarea" />
  581. </div>
  582. </div>
  583. </div>
  584. </van-collapse-item>
  585. <van-collapse-item title="本周工作规划" name="9">
  586. <div style="margin-top: -10px">
  587. <div v-for="(item, index) in reportContentsList3" :key="index">
  588. <p v-if="index < 7" class="texttitle">
  589. <span class="opint"></span
  590. ><span v-if="!reportTarget.hideWeekDate">{{
  591. weeklyTimeDivision(item.contentTime, 0)
  592. }}</span
  593. ><span>{{ weeklyTimeDivision(item.contentTime, 1) }}</span>
  594. </p>
  595. <p v-if="index < 7"><span class="colorbalck">上午:</span>{{ item.weekContentAm }}</p>
  596. <p v-if="index < 7"><span class="colorbalck">下午:</span>{{ item.weekContentPm }}</p>
  597. <p v-if="index == 7" class="texttitle"><span class="opint"></span>本周工作重点</p>
  598. <div v-if="index == 7" style="padding: 10px 0" class="contentContainer">
  599. <van-field
  600. v-model="item.weekContentSummary"
  601. rows="4"
  602. autosize
  603. readonly
  604. type="textarea" />
  605. </div>
  606. </div>
  607. </div>
  608. </van-collapse-item>
  609. </van-collapse>
  610. <div class="contentContainer">
  611. <p class="contentContainerTitle">点评</p>
  612. <div style="padding: 10px 0">
  613. <van-field
  614. v-model="managerRemarkContent"
  615. rows="4"
  616. autosize
  617. maxlength="800"
  618. show-word-limit
  619. type="textarea"
  620. :formatter="formatter" />
  621. </div>
  622. </div>
  623. </div>
  624. <div class="lineGrey"></div>
  625. <div class="contentborder">
  626. <van-button type="info" size="small" plain class="Btn1" @click="submint">提交点评</van-button>
  627. </div>
  628. <br /><br />
  629. <!-- <div class="envelopes" @click="openEnterpriseChat" >-->
  630. <!-- <img :src="envelopes">-->
  631. <!-- <p>红包奖励</p>-->
  632. <!-- </div>-->
  633. <br /><br />
  634. <br /><br />
  635. </div>
  636. </template>
  637. <script>
  638. import history from '@/assets/Icon/history.png';
  639. import { loginLog, insertRemark, getDetailById, updateReport } from '@/api/index';
  640. import envelopes from '@/assets/envelopes.png';
  641. import axios from 'axios';
  642. export default {
  643. name: 'home',
  644. data() {
  645. return {
  646. envelopes: envelopes,
  647. show: true,
  648. num: 0,
  649. todayGoal: {},
  650. title: '',
  651. ptitle: '',
  652. progressWidth: 0,
  653. history: history,
  654. imgArr: [],
  655. activeNames: [
  656. '1',
  657. '2',
  658. '3',
  659. '4',
  660. '5',
  661. '6',
  662. '7',
  663. '8',
  664. '9',
  665. '11',
  666. '12',
  667. '16',
  668. '17',
  669. '27',
  670. '28',
  671. '29',
  672. ],
  673. powerGrade: '',
  674. value: 2,
  675. timeList: [],
  676. reportTargetAll: {},
  677. Content: '',
  678. number: '',
  679. successContent: '',
  680. reportContentsList1: [],
  681. reportContentsList2: [],
  682. reportContentsList3: [],
  683. updateReport: {},
  684. reportTarget: {},
  685. managerRemarkContent: '',
  686. isDiy: false,
  687. type: '-1',
  688. };
  689. },
  690. created() {
  691. this.powerGrade = localStorage.getItem('powerGrade');
  692. this.isDiy = localStorage.getItem('isDiy');
  693. this.getDetailById();
  694. },
  695. watch: {
  696. $route(to, from) {
  697. this.powerGrade = localStorage.getItem('powerGrade');
  698. this.isDiy = localStorage.getItem('isDiy');
  699. if (to.path == '/weeklyHistoricalDetils') {
  700. this.getDetailById();
  701. }
  702. },
  703. },
  704. methods: {
  705. openEnterpriseChat(val) {
  706. let loading1 = this.$toast.loading({
  707. duration: 0,
  708. message: '加载中...',
  709. forbidClick: true,
  710. });
  711. let url = window.location.href;
  712. let that = this;
  713. let wx = this.wx;
  714. let qiyeData;
  715. var userIds = this.reportTarget.reportContents[0].createBy;
  716. const instance = axios.create();
  717. instance.defaults.headers.common['userId'] = localStorage.getItem('loginName');
  718. instance
  719. .get(process.env.VUE_APP_BASE_API + 'mobile/wx/ticket', {
  720. params: {
  721. url: url,
  722. },
  723. })
  724. .then((response) => {
  725. if (response.status == 200) {
  726. loading1.clear();
  727. qiyeData = response.data.data;
  728. wx.config({
  729. beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  730. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  731. appId: qiyeData.appId, // 必填,企业微信的corpID
  732. timestamp: qiyeData.timestamp, // 必填,生成签名的时间戳
  733. nonceStr: qiyeData.nonceStr, // 必填,生成签名的随机串
  734. signature: qiyeData.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
  735. jsApiList: ['ready', 'openEnterpriseChat'], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  736. });
  737. wx.ready(function () {
  738. wx.openEnterpriseChat({
  739. userIds: userIds,
  740. groupName: '我的红包群', // 会话名称。单聊时该参数传入空字符串""即可。localStorage.getItem("loginName")
  741. chatId: '', //CHATID 若要打开已有会话,需指定此参数。如果是新建会话,chatId必须为空串
  742. success: function (res) {
  743. var chatId = res.chatId; //返回当前群聊ID,仅当使用agentConfig注入该接口权限时才返回chatId
  744. },
  745. fail: function (res) {
  746. if (res.errMsg.indexOf('function not exist') > -1) {
  747. alert('版本过低请升级');
  748. }
  749. },
  750. });
  751. });
  752. } else {
  753. this.$toast.fail(dataList.msg);
  754. }
  755. });
  756. },
  757. formatter(value) {
  758. return value.replace(
  759. /[\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,
  760. ''
  761. );
  762. },
  763. submint() {
  764. let loading1 = this.$toast.loading({
  765. duration: 0,
  766. message: '数据提交中...',
  767. forbidClick: true,
  768. });
  769. if (this.managerRemarkContent.trim() == '') {
  770. this.$toast('点评内容未填写');
  771. return false;
  772. }
  773. if (this.managerRemarkContent.length > 800) {
  774. this.$toast('点评内容超过800字');
  775. return false;
  776. }
  777. var remak = {
  778. remarkContent: this.managerRemarkContent,
  779. reportId: this.$route.query.reportId,
  780. };
  781. insertRemark(remak).then((res) => {
  782. loading1.clear();
  783. if (res.code == 200) {
  784. this.$dialog
  785. .alert({
  786. title: '系统提示',
  787. message: '提交成功',
  788. })
  789. .then(() => {
  790. this.managerRemarkContent = '';
  791. this.getDetailById();
  792. });
  793. } else {
  794. this.$toast.fail(res.msg);
  795. }
  796. });
  797. },
  798. getDetailById() {
  799. let loading1 = this.$toast.loading({
  800. duration: 0,
  801. message: '加载中...',
  802. forbidClick: true,
  803. });
  804. getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
  805. loading1.clear();
  806. if (res.code == 200) {
  807. var dayTime = res.data.date;
  808. this.type = res.data.userType;
  809. this.title =
  810. res.data.deptName + '-' + res.data.postName + '-' + res.data.nickName + '的周报';
  811. this.ptitle = res.data.pdeptName + '-' + res.data.ppostName + '-' + res.data.pnickName;
  812. this.timeList = this.parseTimeParagraph(
  813. dayTime.slice(0, 4) + '-' + dayTime.slice(4, 6) + '-' + dayTime.slice(6, 8)
  814. );
  815. this.reportTargetAll = res.data.reportTargetAll;
  816. this.reportTarget = res.data;
  817. this.reportContents = res.data.reportContents;
  818. var reportContentsList1 = [];
  819. var reportContentsList2 = [];
  820. var reportContentsList3 = [];
  821. var reportContentsdata = res.data.reportContents;
  822. if (res.data.status == 3) {
  823. this.successContent = res.data.successContent;
  824. } else {
  825. this.successContent = res.data.failContent;
  826. }
  827. for (var i = 0; i < reportContentsdata.length; i++) {
  828. if (reportContentsdata[i].type == '1') {
  829. reportContentsList1.push(reportContentsdata[i]);
  830. }
  831. if (reportContentsdata[i].type == '2') {
  832. reportContentsList2.push(reportContentsdata[i]);
  833. }
  834. if (reportContentsdata[i].type == '3') {
  835. reportContentsList3.push(reportContentsdata[i]);
  836. }
  837. }
  838. var ln1 = reportContentsList1.length;
  839. var ln2 = reportContentsList2.length;
  840. if (reportContentsList1.length < reportContentsList2.length) {
  841. var len2 = ln2 - ln1;
  842. for (var x = 0; x < len2; x++) {
  843. reportContentsList1.push({
  844. contentTime: '',
  845. weekContentAm: '',
  846. weekContentPm: '',
  847. });
  848. }
  849. }
  850. this.reportContentsList1 = reportContentsList1;
  851. this.reportContentsList2 = reportContentsList2;
  852. this.reportContentsList3 = reportContentsList3;
  853. }
  854. });
  855. },
  856. onClickLeft() {
  857. this.$router.go(-1);
  858. },
  859. },
  860. };
  861. </script>
  862. <style scoped>
  863. .container {
  864. margin: 10px;
  865. }
  866. .container .van-collapse-item {
  867. margin-bottom: 10px;
  868. border-radius: 6px;
  869. overflow: hidden;
  870. }
  871. .linep p {
  872. margin: 14px 0 0 0;
  873. font-size: 14px;
  874. color: #666;
  875. padding-left: 6px;
  876. }
  877. .linep .texttitle {
  878. color: #0057ba;
  879. position: relative;
  880. padding-left: 10px;
  881. margin-top: 16px;
  882. }
  883. .linep .texttitledaily {
  884. color: #000;
  885. position: relative;
  886. padding-left: 10px;
  887. }
  888. .linep .texttitle2 {
  889. padding-left: 6px;
  890. }
  891. .linep .texttitle .opint {
  892. position: absolute;
  893. left: 0px;
  894. top: 6px;
  895. margin-right: 6px;
  896. display: inline-block;
  897. width: 6px;
  898. height: 6px;
  899. border-radius: 10px;
  900. background-color: #0057ba;
  901. }
  902. .linep .texttitledaily .opint {
  903. position: absolute;
  904. left: 0px;
  905. top: 6px;
  906. margin-right: 6px;
  907. display: inline-block;
  908. width: 6px;
  909. height: 6px;
  910. border-radius: 10px;
  911. background-color: #0057ba;
  912. }
  913. .leftTitle {
  914. background-color: #a6c9f1;
  915. color: #fff;
  916. display: inline-block;
  917. padding: 0 4px;
  918. border-radius: 2px;
  919. }
  920. .Btn1 {
  921. display: block;
  922. width: 100%;
  923. border-radius: 6px;
  924. color: #fff !important;
  925. background-color: #0057ba;
  926. border: 1px solid #0057ba;
  927. height: 44px;
  928. }
  929. .rightTitle {
  930. background-color: #ffb5bb;
  931. color: #fff;
  932. display: inline-block;
  933. padding: 0 4px;
  934. border-radius: 2px;
  935. }
  936. </style>
  937. <style>
  938. .linep .van-cell__title {
  939. color: #1e5398;
  940. font-weight: 500;
  941. }
  942. .linep .contentContainer {
  943. background-color: white;
  944. border-radius: 8px;
  945. padding: 10px 16px;
  946. margin-bottom: 10px;
  947. }
  948. .linep .contentContainer .contentContainerTitle {
  949. color: #222;
  950. margin-top: 10px;
  951. }
  952. .linep .contentContainer .contentContainerTitle span {
  953. font-size: 12px;
  954. color: #333;
  955. }
  956. .linep .contentContainer .van-field__control {
  957. background-color: #ebf4ff;
  958. padding: 10px;
  959. border-radius: 8px;
  960. }
  961. .linep .contentContainer .van-cell {
  962. padding: 0;
  963. }
  964. .van-dialog__confirm,
  965. .van-dialog__confirm:active {
  966. color: #0057ba;
  967. }
  968. </style>