weeklyApproval.vue 26 KB

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