weeklyApproval.vue 27 KB

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