weeklyApproval.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  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 style="height: 4px"></div>
  14. <van-collapse v-model="activeNames">
  15. <template v-if="!YFQuota">
  16. <!-- YFQuota:应用服务平台 不显示各项指标 -->
  17. <van-collapse-item title="建店布机" name="2">
  18. <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
  19. </van-collapse-item>
  20. <van-collapse-item name="16" title="专业时时丽分销店下单">
  21. <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
  22. </van-collapse-item>
  23. <van-collapse-item title="业绩目标SAP(千元)" name="1" v-if="type != 3 && type != 4">
  24. <performanceSAP :reportTargetAll="reportTargetAll" :JZQuota="JZQuota"></performanceSAP>
  25. </van-collapse-item>
  26. <van-collapse-item name="27" title="乳胶漆中高端(千元)">
  27. <van-row>
  28. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col>
  29. <van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  30. <van-col span="12"
  31. ><p>
  32. 实际:<span class="colorbalck">{{
  33. Micrometer(reportTargetAll.rjqSapMonthAct)
  34. }}</span>
  35. </p></van-col
  36. >
  37. <van-col span="12"
  38. ><p>
  39. 实际:<span class="colorbalck">{{
  40. Micrometer(reportTargetAll.rjqSapQuarterAct)
  41. }}</span>
  42. </p></van-col
  43. >
  44. <van-col span="12"
  45. ><p>
  46. 达成率:<span class="colorbalck"
  47. >{{ reportTargetAll.rjqSapMonthSuccessRate }}%</span
  48. >
  49. </p></van-col
  50. >
  51. <van-col span="12"
  52. ><p>
  53. 达成率:<span class="colorbalck"
  54. >{{ reportTargetAll.rjqSapQuarterSuccessRate }}%</span
  55. >
  56. </p></van-col
  57. >
  58. <van-col span="12"
  59. ><p>
  60. 成长率:<span class="colorbalck">{{ reportTargetAll.rjqSapMonthGrowRate }}%</span>
  61. </p></van-col
  62. >
  63. <van-col span="12"
  64. ><p>
  65. 成长率:<span class="colorbalck"
  66. >{{ reportTargetAll.rjqSapQuarterGrowRate }}%</span
  67. >
  68. </p></van-col
  69. >
  70. </van-row>
  71. </van-collapse-item>
  72. <van-collapse-item name="11" title="专业时时丽SAP(千元)">
  73. <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
  74. </van-collapse-item>
  75. <van-collapse-item name="28" title="防水+背胶SAP(千元)">
  76. <van-row>
  77. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  78. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  79. <van-col span="12"
  80. ><p>
  81. 实际:<span class="colorbalck">{{
  82. Micrometer(reportTargetAll.fsbjSapMonthAct)
  83. }}</span>
  84. </p></van-col
  85. >
  86. <van-col span="12"
  87. ><p>
  88. 实际:<span class="colorbalck">{{
  89. Micrometer(reportTargetAll.fsbjSapQuarterAct)
  90. }}</span>
  91. </p></van-col
  92. >
  93. <van-col span="12"
  94. ><p>
  95. 达成率:<span class="colorbalck"
  96. >{{ reportTargetAll.fsbjSapMonthSuccessRate }}%</span
  97. >
  98. </p></van-col
  99. >
  100. <van-col span="12"
  101. ><p>
  102. 达成率:<span class="colorbalck"
  103. >{{ reportTargetAll.fsbjSapQuarterSuccessRate }}%</span
  104. >
  105. </p></van-col
  106. >
  107. <van-col span="12"
  108. ><p>
  109. 成长率:<span class="colorbalck">{{ reportTargetAll.fsbjSapMonthGrowRate }}%</span>
  110. </p></van-col
  111. >
  112. <van-col span="12"
  113. ><p>
  114. 成长率:<span class="colorbalck"
  115. >{{ reportTargetAll.fsbjSapQuarterGrowRate }}%</span
  116. >
  117. </p></van-col
  118. >
  119. </van-row>
  120. </van-collapse-item>
  121. <van-collapse-item name="29" title="瓷砖胶SAP(千元)">
  122. <van-row>
  123. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  124. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  125. <van-col span="12"
  126. ><p>
  127. 实际:<span class="colorbalck">{{
  128. Micrometer(reportTargetAll.czjSapMonthAct)
  129. }}</span>
  130. </p></van-col
  131. >
  132. <van-col span="12"
  133. ><p>
  134. 实际:<span class="colorbalck">{{
  135. Micrometer(reportTargetAll.czjSapQuarterAct)
  136. }}</span>
  137. </p></van-col
  138. >
  139. <van-col span="12"
  140. ><p>
  141. 达成率:<span class="colorbalck"
  142. >{{ reportTargetAll.czjSapMonthSuccessRate }}%</span
  143. >
  144. </p></van-col
  145. >
  146. <van-col span="12"
  147. ><p>
  148. 达成率:<span class="colorbalck"
  149. >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
  150. >
  151. </p></van-col
  152. >
  153. <van-col span="12"
  154. ><p>
  155. 成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
  156. </p></van-col
  157. >
  158. <van-col span="12"
  159. ><p>
  160. 成长率:<span class="colorbalck"
  161. >{{ reportTargetAll.czjSapQuarterGrowRate }}%</span
  162. >
  163. </p></van-col
  164. >
  165. </van-row>
  166. </van-collapse-item>
  167. <van-collapse-item title="魔术漆SAP(千元)" name="3">
  168. <van-row>
  169. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col>
  170. <van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  171. <van-col span="12"
  172. ><p>
  173. 实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.ysqMonthAct) }}</span>
  174. </p></van-col
  175. >
  176. <van-col span="12"
  177. ><p>
  178. 实际:<span class="colorbalck">{{
  179. Micrometer(reportTargetAll.ysqQuarterAct)
  180. }}</span>
  181. </p></van-col
  182. >
  183. <van-col span="12"
  184. ><p>
  185. 达成率:<span class="colorbalck">{{ reportTargetAll.ysqMonthSuccessRate }}%</span>
  186. </p></van-col
  187. >
  188. <van-col span="12"
  189. ><p>
  190. 达成率:<span class="colorbalck"
  191. >{{ reportTargetAll.ysqQuarterSuccessRate }}%</span
  192. >
  193. </p></van-col
  194. >
  195. <van-col span="12"
  196. ><p>
  197. 成长率:<span class="colorbalck">{{ reportTargetAll.ysqMonthGrowRate }}%</span>
  198. </p></van-col
  199. >
  200. <van-col span="12"
  201. ><p>
  202. 成长率:<span class="colorbalck">{{ reportTargetAll.ysqQuarterGrowRate }}%</span>
  203. </p></van-col
  204. >
  205. </van-row>
  206. </van-collapse-item>
  207. <van-collapse-item title="质感外墙SAP(千元)" name="4">
  208. <van-row>
  209. <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
  210. ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
  211. <van-col span="12"
  212. ><p>
  213. 实际:<span class="colorbalck">{{
  214. Micrometer(reportTargetAll.zgwqMonthAct)
  215. }}</span>
  216. </p></van-col
  217. >
  218. <van-col span="12"
  219. ><p>
  220. 实际:<span class="colorbalck">{{
  221. Micrometer(reportTargetAll.zgwqQuarterAct)
  222. }}</span>
  223. </p></van-col
  224. >
  225. <van-col span="12"
  226. ><p>
  227. 达成率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthSuccessRate }}%</span>
  228. </p></van-col
  229. >
  230. <van-col span="12"
  231. ><p>
  232. 达成率:<span class="colorbalck"
  233. >{{ reportTargetAll.zgwqQuarterSuccessRate }}%</span
  234. >
  235. </p></van-col
  236. >
  237. <van-col span="12"
  238. ><p>
  239. 成长率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthGrowRate }}%</span>
  240. </p></van-col
  241. >
  242. <van-col span="12"
  243. ><p>
  244. 成长率:<span class="colorbalck">{{ reportTargetAll.zgwqQuarterGrowRate }}%</span>
  245. </p></van-col
  246. >
  247. </van-row>
  248. </van-collapse-item>
  249. <van-collapse-item name="17" title="超好贴分销店下单">
  250. <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
  251. </van-collapse-item>
  252. <van-collapse-item title="客户开拓" name="6">
  253. <van-row>
  254. <!-- <van-col span="12" v-if="powerGrade>=3"><span class="leftTitle">非片区经销商</span></van-col>-->
  255. <!-- v-if="powerGrade==2"-->
  256. <van-col span="24"><span class="leftTitle">非片客户开发</span></van-col>
  257. <!-- <van-col span="12" v-if="powerGrade>=3"><span class="rightTitle" >TOP70直营家装</span></van-col>-->
  258. <van-col span="24"
  259. ><p>
  260. 全年开发数:<span class="colorbalck">{{
  261. Micrometer(reportTargetAll.customerAct)
  262. }}</span>
  263. </p></van-col
  264. >
  265. <!-- <van-col span="12" v-if="powerGrade>=3"><p>全年目标:<span class="colorbalck">{{reportTargetAll.directCustomerYearTarget}}</span></p></van-col>-->
  266. <!-- <van-col span="24"><p>实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.customerAct) }}</span></p></van-col>-->
  267. <!-- <van-col span="12" v-if="powerGrade>=3"><p>实际:<span class="colorbalck">{{reportTargetAll.directCustomerAct}}</span></p></van-col>-->
  268. <van-col span="24"
  269. ><p>
  270. 全年进度率:<span class="colorbalck">{{ reportTargetAll.customerYearRate }}%</span>
  271. </p></van-col
  272. >
  273. <!-- <van-col span="12" v-if="powerGrade>=3"><p>全年进度率:<span class="colorbalck">{{reportTargetAll.directCustomerYearRate}}%</span></p></van-col>-->
  274. </van-row>
  275. </van-collapse-item>
  276. </template>
  277. <van-collapse-item title="上周工作成果" name="8">
  278. <div style="margin-top: -10px">
  279. <div v-for="(item2, index2) in reportContentsList2" :key="index2">
  280. <div v-if="index2 < 7">
  281. <p class="texttitle">
  282. <span class="opint"></span
  283. ><span v-if="!reportTarget.hideWeekDate">{{
  284. weeklyTimeDivision(item2.contentTime, 0)
  285. }}</span
  286. ><span>{{ weeklyTimeDivision(item2.contentTime, 1) }}</span>
  287. </p>
  288. <p>
  289. <span class="colorbalck">上午:</span
  290. >{{ reportContentsList1[index2].weekContentAm }}
  291. </p>
  292. <p>
  293. <span class="colorbalck">下午:</span
  294. >{{ reportContentsList1[index2].weekContentPm }}
  295. </p>
  296. <p class="texttitle texttitle2">实际工作进度</p>
  297. <p><span class="colorbalck">上午:</span>{{ item2.weekContentAm }}</p>
  298. <p><span class="colorbalck">下午:</span>{{ item2.weekContentPm }}</p>
  299. </div>
  300. <p v-if="index2 == 7" class="texttitle"><span class="opint"></span>上周工作重点</p>
  301. <div v-if="index2 == 7" style="padding: 10px 0" class="contentContainer">
  302. <van-field
  303. v-model="reportContentsList1[index2].weekContentSummary"
  304. rows="4"
  305. autosize
  306. readonly
  307. type="textarea" />
  308. </div>
  309. <p v-if="index2 == 7" class="texttitle"><span class="opint"></span>上周工作成果</p>
  310. <div v-if="index2 == 7" style="padding: 10px 0" class="contentContainer">
  311. <van-field
  312. v-model="item2.weekContentSummary"
  313. rows="4"
  314. autosize
  315. readonly
  316. type="textarea" />
  317. </div>
  318. </div>
  319. </div>
  320. </van-collapse-item>
  321. <van-collapse-item title="本周工作规划" name="9">
  322. <div style="margin-top: -10px">
  323. <div v-for="(item, index) in reportContentsList3" :key="index">
  324. <p v-if="index < 7" class="texttitle">
  325. <span class="opint"></span
  326. ><span v-if="!reportTarget.hideWeekDate">{{
  327. weeklyTimeDivision(item.contentTime, 0)
  328. }}</span
  329. ><span>{{ weeklyTimeDivision(item.contentTime, 1) }}</span>
  330. </p>
  331. <p v-if="index < 7"><span class="colorbalck">上午:</span>{{ item.weekContentAm }}</p>
  332. <p v-if="index < 7"><span class="colorbalck">下午:</span>{{ item.weekContentPm }}</p>
  333. <p v-if="index == 7" class="texttitle"><span class="opint"></span>本周工作重点</p>
  334. <div v-if="index == 7" style="padding: 10px 0" class="contentContainer">
  335. <van-field
  336. v-model="item.weekContentSummary"
  337. rows="4"
  338. autosize
  339. readonly
  340. type="textarea" />
  341. </div>
  342. </div>
  343. </div>
  344. </van-collapse-item>
  345. </van-collapse>
  346. <div class="contentContainer">
  347. <p class="contentContainerTitle">打分 <span>请点亮小星星,一颗小星星代表1分</span></p>
  348. <div style="padding: 10px 0">
  349. <van-rate
  350. v-model="number"
  351. :size="25"
  352. color="#ffd21e"
  353. void-icon="star"
  354. void-color="#eee" />
  355. <span class="rateText">&nbsp;&nbsp;&nbsp;&nbsp;{{ number }}分</span>
  356. </div>
  357. </div>
  358. <div class="contentContainer">
  359. <p class="contentContainerTitle">评语</p>
  360. <div style="padding: 10px 0">
  361. <van-field
  362. v-model="Content"
  363. rows="4"
  364. autosize
  365. :formatter="formatter"
  366. maxlength="800"
  367. show-word-limit
  368. type="textarea" />
  369. </div>
  370. </div>
  371. <br />
  372. <br />
  373. <van-row>
  374. <van-col span="12">
  375. <van-button type="info" size="small" plain class="Btn" @click="submit"
  376. >确认审批</van-button
  377. >
  378. </van-col>
  379. <van-col span="12">
  380. <van-button type="info" size="small" plain class="BtnBorder" @click="reject"
  381. >退回重写</van-button
  382. >
  383. </van-col>
  384. </van-row>
  385. </div>
  386. <br />
  387. <br />
  388. </div>
  389. </template>
  390. <script>
  391. import { updateReport, getDetailById } from '@/api/index';
  392. import createStoreBJ from '@/views/componentsTarget/createStoreBJ';
  393. import ZYPlaceOrder from '@/views/componentsTarget/ZYPlaceOrder';
  394. import performanceSAP from '@/views/componentsTarget/performanceSAP';
  395. import ZYSAP from '@/views/componentsTarget/ZYSAP';
  396. import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
  397. export default {
  398. name: 'weeklyApproval',
  399. components: {
  400. createStoreBJ,
  401. ZYPlaceOrder,
  402. performanceSAP,
  403. ZYSAP,
  404. veryGoodPlaceOrder,
  405. },
  406. data() {
  407. return {
  408. show: true,
  409. num: 0,
  410. form: { rate: 0, message: '' },
  411. list: [],
  412. todayGoal: {},
  413. progressWidth: 0,
  414. activeNames: [
  415. '1',
  416. '2',
  417. '3',
  418. '4',
  419. '5',
  420. '6',
  421. '7',
  422. '8',
  423. '9',
  424. '11',
  425. '12',
  426. '16',
  427. '17',
  428. '27',
  429. '28',
  430. '29',
  431. ],
  432. powerGrade: '',
  433. value: '2',
  434. Content: '',
  435. number: '',
  436. timeList: [],
  437. reportTargetAll: {},
  438. reportContentsList1: [],
  439. reportContentsList2: [],
  440. reportContentsList3: [],
  441. updateReport: {},
  442. reportTarget: {},
  443. type: '-1',
  444. JZQuota: false,
  445. YFQuota: false, //应用服务
  446. };
  447. },
  448. created() {
  449. this.powerGrade = localStorage.getItem('powerGrade');
  450. // this.type=localStorage.getItem("storeType")
  451. this.getDetailById();
  452. },
  453. watch: {
  454. $route(to, from) {
  455. this.powerGrade = localStorage.getItem('powerGrade');
  456. // this.type=localStorage.getItem("storeType")
  457. this.timeList = this.parseTimeParagraph();
  458. if (to.path == '/weeklyApproval') {
  459. this.getDetailById();
  460. this.number == 0;
  461. this.Content = '';
  462. }
  463. },
  464. },
  465. methods: {
  466. formatter(value) {
  467. return value.replace(
  468. /[\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,
  469. ''
  470. );
  471. },
  472. reject() {
  473. let loading1 = this.$toast.loading({
  474. duration: 0,
  475. message: '数据提交中...',
  476. forbidClick: true,
  477. });
  478. if (this.Content.trim() == '') {
  479. this.$toast('评语未填写');
  480. return false;
  481. }
  482. if (this.Content.length > 800) {
  483. this.$toast('评语内容超过800字');
  484. return false;
  485. }
  486. this.reportTarget.number = this.number;
  487. this.reportTarget.failContent = this.Content;
  488. this.reportTarget.failContent = this.reportTarget.failContent;
  489. this.reportTarget.status = 2;
  490. updateReport(this.reportTarget).then((res) => {
  491. loading1.clear();
  492. if (res.code == 200) {
  493. this.$dialog
  494. .alert({
  495. title: '系统提示',
  496. message: '提交成功',
  497. })
  498. .then(() => {
  499. window.location.replace(window.location.origin + '/mobile/dailyApprovalList');
  500. });
  501. } else {
  502. this.$toast.fail(res.msg);
  503. }
  504. });
  505. },
  506. submit() {
  507. let loading1 = this.$toast.loading({
  508. duration: 0,
  509. message: '数据提交中...',
  510. forbidClick: true,
  511. });
  512. if (this.number == '0') {
  513. this.$toast('评分未选择');
  514. return false;
  515. }
  516. if (this.Content.trim() == '') {
  517. this.$toast('评语未填写');
  518. return false;
  519. }
  520. if (this.Content.length > 800) {
  521. this.$toast('评语未填写');
  522. return false;
  523. }
  524. this.reportTarget.number = this.number;
  525. this.reportTarget.successContent = this.Content;
  526. this.reportTarget.successContent = this.reportTarget.successContent;
  527. this.reportTarget.status = 3;
  528. updateReport(this.reportTarget).then((res) => {
  529. loading1.clear();
  530. if (res.code == 200) {
  531. this.$dialog
  532. .alert({
  533. title: '系统提示',
  534. message: '保存成功',
  535. })
  536. .then(() => {
  537. window.location.replace(window.location.origin + '/mobile/dailyApprovalList');
  538. });
  539. } else {
  540. this.$toast.fail(res.msg);
  541. }
  542. });
  543. },
  544. getDetailById() {
  545. let loading1 = this.$toast.loading({
  546. duration: 0,
  547. message: '加载中...',
  548. forbidClick: true,
  549. });
  550. getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
  551. loading1.clear();
  552. if (res.code == 200) {
  553. this.YFQuota = res.data.postType == 'Y' ? true : false;
  554. this.JZQuota = false;
  555. if (res.data.postType == 'JZ') {
  556. this.JZQuota = true;
  557. }
  558. var dayTime = res.data.date;
  559. this.type = res.data.userType;
  560. this.timeList = this.parseTimeParagraph(
  561. dayTime.slice(0, 4) + '-' + dayTime.slice(4, 6) + '-' + dayTime.slice(6, 8)
  562. );
  563. if (res.data.status != '1') {
  564. this.$dialog
  565. .alert({
  566. title: '系统提示',
  567. message: '周报已提交或过期',
  568. })
  569. .then(() => {
  570. window.location.replace(window.location.origin + '/mobile/home');
  571. });
  572. } else {
  573. this.reportTargetAll = res.data.reportTargetAll;
  574. this.reportTarget = res.data;
  575. this.reportContents = res.data.reportContents;
  576. var reportContentsList1 = [];
  577. var reportContentsList2 = [];
  578. var reportContentsList3 = [];
  579. var reportContentsdata = res.data.reportContents;
  580. for (var i = 0; i < reportContentsdata.length; i++) {
  581. if (
  582. reportContentsdata[i].type == '1' &&
  583. reportContentsdata[i].contentTime.split(' ')[1] != undefined
  584. ) {
  585. reportContentsList1.push(reportContentsdata[i]);
  586. }
  587. if (
  588. reportContentsdata[i].type == '2' &&
  589. reportContentsdata[i].contentTime.split(' ')[1] != undefined
  590. ) {
  591. reportContentsList2.push(reportContentsdata[i]);
  592. }
  593. if (
  594. reportContentsdata[i].type == '3' &&
  595. reportContentsdata[i].contentTime.split(' ')[1] != undefined
  596. ) {
  597. reportContentsList3.push(reportContentsdata[i]);
  598. }
  599. }
  600. for (var p = 0; p < reportContentsdata.length; p++) {
  601. if (
  602. reportContentsdata[p].type == '2' &&
  603. reportContentsdata[p].contentTime.split(' ')[1] == undefined
  604. ) {
  605. reportContentsList2.push(reportContentsdata[p]);
  606. }
  607. if (
  608. reportContentsdata[p].type == '1' &&
  609. reportContentsdata[p].contentTime.split(' ')[1] == undefined
  610. ) {
  611. reportContentsList1.push(reportContentsdata[p]);
  612. }
  613. if (
  614. reportContentsdata[p].type == '3' &&
  615. reportContentsdata[p].contentTime.split(' ')[1] == undefined
  616. ) {
  617. reportContentsList3.push(reportContentsdata[p]);
  618. }
  619. }
  620. var ln1 = reportContentsList1.length;
  621. var ln2 = reportContentsList2.length;
  622. if (reportContentsList1.length > reportContentsList2.length) {
  623. var len = ln1 - ln2;
  624. for (var x = 0; x < len; x++) {
  625. reportContentsList2.push({
  626. contentTime: this.timeList[5 + x],
  627. weekContentAm: '',
  628. weekContentPm: '',
  629. weekContentSummary: null,
  630. });
  631. }
  632. }
  633. if (reportContentsList1.length < reportContentsList2.length) {
  634. var len2 = ln2 - ln1;
  635. for (var x = 0; x < len2; x++) {
  636. reportContentsList1.push({
  637. contentTime: '',
  638. weekContentAm: '',
  639. weekContentPm: '',
  640. weekContentSummary: null,
  641. });
  642. }
  643. }
  644. this.reportContentsList1 = reportContentsList1;
  645. this.reportContentsList2 = reportContentsList2;
  646. this.reportContentsList3 = reportContentsList3;
  647. }
  648. } else {
  649. this.$toast(res.msg);
  650. }
  651. });
  652. },
  653. backFn() {
  654. this.$dialog
  655. .confirm({
  656. title: '提示',
  657. message: '是否确认退回重写?',
  658. })
  659. .then(() => {
  660. // on confirm
  661. });
  662. },
  663. approvalFn() {
  664. if (this.form.message.trim() == '') {
  665. this.$toast('评语未填写');
  666. return;
  667. }
  668. this.$router.go(-1);
  669. },
  670. onClickLeft() {
  671. this.$router.go(-1);
  672. },
  673. },
  674. };
  675. </script>
  676. <style scoped>
  677. .container {
  678. margin: 10px;
  679. }
  680. .container .van-collapse-item {
  681. margin-bottom: 10px;
  682. border-radius: 6px;
  683. overflow: hidden;
  684. }
  685. .linep p {
  686. margin: 14px 0 0 0;
  687. font-size: 14px;
  688. color: #666;
  689. padding-left: 6px;
  690. }
  691. .linep .texttitle {
  692. color: #0057ba;
  693. position: relative;
  694. padding-left: 10px;
  695. margin-top: 16px;
  696. }
  697. .linep .texttitle2 {
  698. padding-left: 6px;
  699. }
  700. .linep .texttitle .opint {
  701. position: absolute;
  702. left: 0px;
  703. top: 6px;
  704. margin-right: 6px;
  705. display: inline-block;
  706. width: 6px;
  707. height: 6px;
  708. border-radius: 10px;
  709. background-color: #0057ba;
  710. }
  711. .leftTitle {
  712. background-color: #a6c9f1;
  713. color: #fff;
  714. display: inline-block;
  715. padding: 0 4px;
  716. border-radius: 2px;
  717. }
  718. .rightTitle {
  719. background-color: #ffb5bb;
  720. color: #fff;
  721. display: inline-block;
  722. padding: 0 4px;
  723. border-radius: 2px;
  724. }
  725. </style>
  726. <style>
  727. .van-dialog__confirm,
  728. .van-dialog__confirm:active {
  729. color: #0057ba;
  730. }
  731. .van-button--info {
  732. border: 1px solid #0057ba;
  733. border-radius: 5px;
  734. }
  735. .linep .van-cell__title {
  736. color: #1e5398;
  737. font-weight: 500;
  738. }
  739. .Btn {
  740. margin: 0 auto 10px;
  741. display: block;
  742. width: 90%;
  743. border-radius: 5px;
  744. color: #fff !important;
  745. background-color: #0057ba;
  746. border: 1px solid #0057ba;
  747. height: 36px;
  748. }
  749. .BtnBorder {
  750. margin: 0 auto 10px;
  751. display: block;
  752. width: 90%;
  753. border-radius: 5px;
  754. border: 1px solid #0057ba;
  755. color: #0057ba;
  756. height: 36px;
  757. }
  758. .linep .contentContainer {
  759. background-color: white;
  760. border-radius: 8px;
  761. padding: 10px 16px;
  762. margin-bottom: 10px;
  763. }
  764. .linep .contentContainer .contentContainerTitle {
  765. color: #222;
  766. margin-top: 10px;
  767. }
  768. .linep .contentContainer .contentContainerTitle span {
  769. font-size: 12px;
  770. color: #333;
  771. }
  772. .linep .contentContainer .van-field__control {
  773. background-color: #ebf4ff;
  774. padding: 10px;
  775. border-radius: 8px;
  776. }
  777. .linep .contentContainer .van-cell {
  778. padding: 0;
  779. }
  780. </style>