newStoreApprovalDetail.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792
  1. <template>
  2. <div>
  3. <div class="navBarTOP">
  4. <!-- 顶部条 -->
  5. <van-nav-bar class="navBar" title="门店详情" left-arrow @click-left="onClickLeft" />
  6. </div>
  7. <!--主体内容-->
  8. <div style="margin-top: 44px; padding-bottom: 50px" v-show="list.storeId">
  9. <!-- <van-dialog title="门店位置">
  10. <mapmarker :info="list"></mapmarker>
  11. </van-dialog> -->
  12. <van-tabs class="myTab" v-model="tabVal" color="#0057ba" @change="tabChange">
  13. <van-tab title="基础信息" name="insidePlan" ref="dispsps">
  14. <!-- 提交审批后被驳回 -->
  15. <div class="rejectMsg" v-if="rejectMsg[0]">
  16. <span class="label">审批记录</span>
  17. <span class="value">{{ rejectMsg[0].rejectCause }}</span>
  18. <span class="examineDetail" @click="examineDetail">查看详情</span>
  19. </div>
  20. <van-field readonly v-model="list.storeCode" label="编号" />
  21. <van-field readonly v-if="DIYshow" v-model="list.attribute1" label="DIY编号" />
  22. <van-field readonly v-model="list.storeName" :label="storeName" />
  23. <van-field readonly v-model="list.storeCategoryName" label="类型" />
  24. <van-field
  25. readonly
  26. rows="1"
  27. autosize
  28. type="textarea"
  29. v-model="list.addressLine"
  30. :label="address" />
  31. <van-field v-model="list.lat" readonly label="经度" placeholder="经度" />
  32. <van-field readonly v-model="list.lon" label="维度" />
  33. <van-field readonly v-model="list.orgName" label="销售部" />
  34. <van-field readonly v-model="list.provinceName" label="省(州)"> </van-field>
  35. <van-field readonly v-model="list.cityName" label="城市"> </van-field>
  36. <van-field readonly v-model="list.districtName" label="区(县)"> </van-field>
  37. <van-field readonly v-model="list.townName" label="街道"> </van-field>
  38. <van-field readonly v-model="list.cityLevel" label="城市等级" />
  39. <van-field
  40. readonly
  41. v-if="list.ifJzStoreType != 1 && list.storeCategory != 'C917'"
  42. v-model="list.contactName"
  43. label="联系人" />
  44. <van-field
  45. readonly
  46. v-if="list.ifJzStoreType == 1 && list.storeCategory != 'C917'"
  47. v-model="list.contactName"
  48. label="老板" />
  49. <van-field
  50. readonly
  51. v-model="list.telephone"
  52. label="联系电话"
  53. v-if="list.storeCategory != 'C917'" />
  54. <van-field
  55. readonly
  56. v-model="list.chainCode"
  57. label="经销商编号"
  58. v-if="list.storeCategory != 'C917'" />
  59. <van-field
  60. readonly
  61. v-model="list.chainName"
  62. label="经销商名称"
  63. v-if="list.storeCategory != 'C917'" />
  64. <van-field readonly v-model="list.salesmanName" label="销售员" />
  65. <div v-if="list.storeCategory != 'C917'">
  66. <van-field
  67. readonly
  68. v-model="list.area"
  69. v-if="list.ifJzStoreType != 1"
  70. label="面积(m²)" />
  71. <van-field
  72. readonly
  73. v-model="list.area"
  74. v-if="list.ifJzStoreType == 1"
  75. label="家装展厅面积(m²)" />
  76. </div>
  77. <van-field
  78. readonly
  79. v-if="GZAttributeFormShow"
  80. label="潜在客户类型"
  81. v-model="list.potentialCustomerType" />
  82. <van-field readonly v-if="list.carShop" label="是否车铺开店">
  83. <template #input>
  84. <span v-if="list.carShop == 1">是</span>
  85. <span v-if="list.carShop == 0">否</span>
  86. </template>
  87. </van-field>
  88. <div v-if="list.carShopImgList != null && list.carShop == 1">
  89. <p style="padding: 0 16px">车铺照片(店招及车铺产品拍在一张照片里)</p>
  90. <viewUploadImg :imgs="list.carShopImgList"></viewUploadImg>
  91. </div>
  92. <template v-if="list.img != null && list.storeCategory != 'C917'">
  93. <van-row gutter="20" style="padding: 16px">
  94. <van-col span="12">
  95. <div v-if="storeTypePOP">
  96. <van-image
  97. width="100%"
  98. height="160"
  99. :src="setImgSrc(list.img)"
  100. @click="deleteImgs(list.img)" />
  101. <p style="text-align: center">
  102. {{ list.ifJzStoreType != 1 ? '建店时门店照' : '家装前台照片' }}
  103. </p>
  104. </div>
  105. <div v-else>
  106. <van-image
  107. width="100%"
  108. height="160"
  109. :src="setImgSrc(list.img)"
  110. @click="deleteImgs(list.img)" />
  111. <p style="text-align: center">
  112. {{ list.storeCategory == 'C912' ? '工地铭牌照片' : '公司照片' }}
  113. </p>
  114. </div>
  115. </van-col>
  116. <van-col span="12" v-if="list.ifJzStoreType != 1">
  117. <div v-if="storeTypePOP">
  118. <van-image
  119. width="100%"
  120. height="160"
  121. :src="setImgSrc(list.imgSed)"
  122. @click="deleteImgs(list.imgSed)" />
  123. <p style="text-align: center">
  124. {{ list.ifJzStoreType != 1 ? '陈列照' : '立邦展厅照片' }}
  125. </p>
  126. </div>
  127. </van-col>
  128. </van-row>
  129. </template>
  130. <van-row gutter="20" style="padding: 16px">
  131. <van-col span="12" v-if="list.newStoreSignPhoto">
  132. <div v-if="storeTypePOP">
  133. <van-image
  134. width="100%"
  135. height="160"
  136. :src="setImgSrc(list.newStoreSignPhoto)"
  137. @click="deleteImgs(list.newStoreSignPhoto)" />
  138. <p style="text-align: center">最近一次拜访店招</p>
  139. </div>
  140. </van-col>
  141. </van-row>
  142. <van-collapse v-model="activeNames" class="orderList">
  143. <van-collapse-item title="门店下单记录" name="1">
  144. <div class="orderItem" v-for="(item, index) in orderList" :key="index">
  145. <div class="orderTitle">
  146. {{ item.ORDERID }} | {{ item.ORDERDATE }} | {{ item.STATUS_DESCR }}
  147. </div>
  148. <el-table
  149. :data="item.productDetail"
  150. border
  151. class="table-headermd table-headermdhome"
  152. style="width: 100%">
  153. <el-table-column label="产品名称" prop="DESCR" />
  154. <el-table-column label="数量" prop="QTY" width="80px" />
  155. <!-- <el-table-column label="单价" prop="price" width="80px" /> -->
  156. </el-table>
  157. </div>
  158. </van-collapse-item>
  159. </van-collapse>
  160. </van-tab>
  161. <van-tab title="属性信息" name="outsidePlan">
  162. <van-field readonly label="属性" v-if="dictTypeFormShow" v-model="list.tcfxName" />
  163. </van-tab>
  164. </van-tabs>
  165. <br />
  166. <br />
  167. <br />
  168. <br />
  169. <br />
  170. <br />
  171. <!-- 未结案 未提交状态下可关闭门店、提交审核 -->
  172. <div class="bottomBtn">
  173. <van-button color="red" round @click="rejectReasonShow = true">退回</van-button>
  174. <van-button type="primary" round @click="approveFun">通过</van-button>
  175. </div>
  176. </div>
  177. <!-- 退回原因填写 -->
  178. <van-popup v-model="rejectReasonShow" class="rejectMsgBox" closeable round position="bottom">
  179. <div class="title">退回原因</div>
  180. <div class="content">
  181. <van-field
  182. v-model="rejectMessage"
  183. rows="2"
  184. autosize
  185. type="textarea"
  186. placeholder="请输入退回原因" />
  187. <div class="btnBox">
  188. <van-button type="primary" round @click="rejectReasonSubmit">提交</van-button>
  189. </div>
  190. </div>
  191. </van-popup>
  192. <!-- 提交审核后退回原因 只有同城分销店显示 -->
  193. <van-popup v-model="rejectMsgShow" class="rejectMsgBox" closeable round position="bottom">
  194. <div class="title">审批详情</div>
  195. <div class="content">
  196. <div class="rejectMsgItem" v-for="(item, index) in rejectMsg" :key="index">
  197. <div class="item approver">
  198. <span class="label">审批人:</span>
  199. <span class="value">{{ item.approver }}</span>
  200. </div>
  201. <div class="item approvalTime">
  202. <span class="label">审批时间:</span>
  203. <span class="value">{{ item.approvalTime }}</span>
  204. </div>
  205. <div class="item rejectCause">
  206. <span class="label">退回原因:</span>
  207. <span class="value">{{ item.rejectCause }}</span>
  208. </div>
  209. </div>
  210. </div>
  211. </van-popup>
  212. </div>
  213. </template>
  214. <script>
  215. import { ImagePreview } from 'vant';
  216. import {
  217. getById,
  218. getStoreTypeList,
  219. getStoreyslTypeList,
  220. getTCFXList,
  221. getSJSList,
  222. getQGJZist,
  223. getCustomerInfoList,
  224. getCustomerNatureList,
  225. getMainProjectList,
  226. getMainRelationList,
  227. getManagementModelList,
  228. getpotentialCustomerTypeList,
  229. getOrderByStoreCode,
  230. updateStoreRejectMessage,
  231. approve,
  232. } from '@/api/index';
  233. import mapmarker from '@/components/mapMarker';
  234. import viewUploadImg from '@/components/viewUploadImg';
  235. import txmapimg1 from '@/assets/txmap1.svg';
  236. import txmapimg2 from '@/assets/txmap2.svg';
  237. import txmapimg3 from '@/assets/marker_blue.png';
  238. import axios from 'axios';
  239. import uploadImg from '@/components/viewaddreddUploadImg.vue';
  240. export default {
  241. components: { uploadImg, mapmarker, viewUploadImg },
  242. data() {
  243. return {
  244. tabVal: 'insidePlan',
  245. list: {},
  246. txmapimg1: txmapimg1,
  247. txmapimg2: txmapimg2,
  248. txmapimg3: txmapimg3,
  249. storeId: '',
  250. vaue: '',
  251. show: false,
  252. storeTypeList: [],
  253. ManagementModelList: [],
  254. MainRelationList: [],
  255. MainProjectList: [],
  256. CustomerNatureList: [],
  257. CustomerInfoList: [],
  258. potentialCustomerTypeList: [],
  259. dictTypeFormShow: false,
  260. DIYshow: false,
  261. visitListList: [],
  262. TCFXList: [],
  263. QGJZist: [],
  264. SJSList: [],
  265. storeName: '名称',
  266. address: '地址',
  267. storeTypePOP: false,
  268. GZAttributeFormShow: false,
  269. pageShow: false,
  270. rejectMsgShow: false,
  271. //退回原因详情列表
  272. rejectMsg: [
  273. {
  274. approver: '测试111',
  275. approvalTime: '2020-08-06 15:08:08',
  276. rejectCause: '测试222',
  277. },
  278. {
  279. approver: '测试111',
  280. approvalTime: '2020-08-06 15:08:08',
  281. rejectCause: '测试222',
  282. },
  283. {
  284. approver: '测试111',
  285. approvalTime: '2020-08-06 15:08:08',
  286. rejectCause: '测试222',
  287. },
  288. {
  289. approver: '测试111',
  290. approvalTime: '2020-08-06 15:08:08',
  291. rejectCause: '测试222',
  292. },
  293. ],
  294. activeNames: [],
  295. orderList: [],
  296. rejectReasonShow: false, //退回提交原因
  297. rejectMessage: '',
  298. };
  299. },
  300. activated() {
  301. this.getCustomerInfoList();
  302. this.getManagementModelList();
  303. this.getMainRelationList();
  304. this.getMainProjectList();
  305. this.getCustomerNatureList();
  306. this.getTCFXList();
  307. this.getSJSList();
  308. this.getQGJZist();
  309. this.getStoreType();
  310. this.getpotentialCustomerTypeList();
  311. this.visitListList = [];
  312. window.scrollTo(0, 0);
  313. },
  314. methods: {
  315. getCustomerInfoList() {
  316. getCustomerInfoList().then((res) => {
  317. var CustomerInfoList = [];
  318. for (var t = 0; t < res.data.length; t++) {
  319. CustomerInfoList.push({
  320. text: res.data[t].dictLabel,
  321. dictCode: res.data[t].dictValue,
  322. });
  323. }
  324. this.CustomerInfoList = CustomerInfoList;
  325. });
  326. },
  327. getCustomerNatureList() {
  328. getCustomerNatureList().then((res) => {
  329. var CustomerNatureList = [];
  330. for (var t = 0; t < res.data.length; t++) {
  331. CustomerNatureList.push({
  332. text: res.data[t].dictLabel,
  333. dictCode: res.data[t].dictValue,
  334. });
  335. }
  336. this.CustomerNatureList = CustomerNatureList;
  337. });
  338. },
  339. getpotentialCustomerTypeList() {
  340. getpotentialCustomerTypeList().then((res) => {
  341. var potentialCustomerTypeList = [];
  342. for (var t = 0; t < res.data.length; t++) {
  343. potentialCustomerTypeList.push({
  344. text: res.data[t].dictLabel,
  345. dictCode: res.data[t].dictValue,
  346. });
  347. }
  348. this.potentialCustomerTypeList = potentialCustomerTypeList;
  349. });
  350. },
  351. getMainProjectList() {
  352. getMainProjectList().then((res) => {
  353. var MainProjectList = [];
  354. for (var t = 0; t < res.data.length; t++) {
  355. MainProjectList.push({
  356. text: res.data[t].dictLabel,
  357. dictCode: res.data[t].dictValue,
  358. });
  359. }
  360. this.MainProjectList = MainProjectList;
  361. });
  362. },
  363. getMainRelationList() {
  364. getMainRelationList().then((res) => {
  365. var MainRelationList = [];
  366. for (var t = 0; t < res.data.length; t++) {
  367. MainRelationList.push({
  368. text: res.data[t].dictLabel,
  369. dictCode: res.data[t].dictValue,
  370. });
  371. }
  372. this.MainRelationList = MainRelationList;
  373. });
  374. },
  375. getManagementModelList() {
  376. getManagementModelList().then((res) => {
  377. var ManagementModelList = [];
  378. for (var t = 0; t < res.data.length; t++) {
  379. ManagementModelList.push({
  380. text: res.data[t].dictLabel,
  381. dictCode: res.data[t].dictValue,
  382. });
  383. }
  384. this.ManagementModelList = ManagementModelList;
  385. });
  386. },
  387. getSJSList() {
  388. getSJSList({}).then((res) => {
  389. var SJSList = [];
  390. for (var t = 0; t < res.data.length; t++) {
  391. SJSList.push({
  392. text: res.data[t].dictLabel,
  393. dictCode: res.data[t].dictValue,
  394. });
  395. }
  396. this.SJSList = SJSList;
  397. });
  398. },
  399. getQGJZist() {
  400. getQGJZist({}).then((res) => {
  401. var QGJZist = [];
  402. for (var t = 0; t < res.data.length; t++) {
  403. QGJZist.push({
  404. text: res.data[t].dictLabel,
  405. dictCode: res.data[t].dictValue,
  406. });
  407. }
  408. this.QGJZist = QGJZist;
  409. });
  410. },
  411. getTCFXList() {
  412. getTCFXList({}).then((res) => {
  413. var TCFXList = [];
  414. for (var t = 0; t < res.data.length; t++) {
  415. TCFXList.push({
  416. text: res.data[t].dictLabel,
  417. dictCode: res.data[t].dictCode,
  418. });
  419. }
  420. this.TCFXList = TCFXList;
  421. });
  422. },
  423. visitsFn(row) {
  424. this.$router.push({
  425. path: '/historicalDetails',
  426. query: {
  427. visitId: row.id,
  428. storeCode: row.storeCode,
  429. storeId: row.storeId,
  430. },
  431. });
  432. },
  433. setImgSrc(imgUrl) {
  434. let imgArr = imgUrl.split(',');
  435. return imgArr[0];
  436. },
  437. deleteImgs(val) {
  438. ImagePreview(val.split(','));
  439. },
  440. getStoreType() {
  441. if (localStorage.getItem('storeType') == '2') {
  442. this.DIYshow = true;
  443. getStoreyslTypeList({}).then((res) => {
  444. this.storeTypeList = res.data;
  445. this.getDetail();
  446. });
  447. } else {
  448. this.DIYshow = false;
  449. getStoreTypeList({}).then((res) => {
  450. this.storeTypeList = res.data;
  451. this.getDetail();
  452. });
  453. }
  454. },
  455. getDetail() {
  456. this.pageShow = false;
  457. let loading1 = this.$toast.loading({
  458. duration: 0,
  459. message: '加载中...',
  460. forbidClick: true,
  461. });
  462. getById({ storeId: this.$route.query.id }).then((res) => {
  463. loading1.clear();
  464. this.pageShow = true;
  465. localStorage.setItem('locationRemark', res.data.addressLine);
  466. localStorage.setItem('orgName', res.data.orgName);
  467. localStorage.setItem('chainName', res.data.storeName);
  468. if (res.code == 200) {
  469. this.list = res.data;
  470. if (this.list.carShopImgList != null) {
  471. } else {
  472. this.list.carShopImgList = [];
  473. }
  474. if (this.list.storeCategory == 'C917') {
  475. this.GZAttributeFormShow = true;
  476. this.dictTypeSJSFormShow = false;
  477. this.dictTypeQGJZFormShow = false;
  478. this.dictTypeFormShow = false;
  479. this.dictTypeAFormShow = false;
  480. for (let k = 0; k < this.potentialCustomerTypeList.length; k++) {
  481. if (this.potentialCustomerTypeList[k].dictCode == this.list.potentialCustomerType) {
  482. this.list.potentialCustomerType = this.potentialCustomerTypeList[k].text;
  483. }
  484. }
  485. } else {
  486. this.GZAttributeFormShow = false;
  487. }
  488. if (this.list.storeCategory == '129081') {
  489. this.dictTypeFormShow = true;
  490. if (this.list.attribute3 != '0' && this.list.attribute3 != null) {
  491. this.list.tcfxName = this.list.attribute3;
  492. } else {
  493. this.list.tcfxName = this.list.attribute5;
  494. }
  495. }
  496. if (this.list.storeCategory == '10131') {
  497. this.dictTypeFormShow = true;
  498. for (var k = 0; k < this.TCFXList.length; k++) {
  499. if (this.TCFXList[k].dictCode == this.list.tcfxName) {
  500. this.list.tcfxName = this.TCFXList[k].text;
  501. }
  502. }
  503. }
  504. if (this.list.storeCategory == 'sjs61') {
  505. this.dictTypeFormShow = true;
  506. for (var k = 0; k < this.SJSList.length; k++) {
  507. if (this.SJSList[k].dictCode == this.list.tcfxName) {
  508. this.list.tcfxName = this.SJSList[k].text;
  509. }
  510. }
  511. }
  512. if (this.list.storeCategory == 'zyjz63') {
  513. this.dictTypeFormShow = true;
  514. for (var k = 0; k < this.QGJZist.length; k++) {
  515. if (this.QGJZist[k].dictCode == this.list.tcfxName) {
  516. this.list.tcfxName = this.QGJZist[k].text;
  517. }
  518. }
  519. }
  520. if (this.list.storeCategory == 'C912') {
  521. this.storeTypePOP = false;
  522. this.storeName = '铭牌上项目名称';
  523. this.address = '地址';
  524. } else if (this.list.storeCategory == 'C917') {
  525. this.storeTypePOP = false;
  526. this.storeName = '名称';
  527. this.address = '地址';
  528. } else {
  529. this.storeTypePOP = true;
  530. this.storeName = '名称';
  531. this.address = '地址';
  532. }
  533. // 获取门店订单
  534. this.getStoreOrderList(this.list.storeCode);
  535. } else {
  536. this.$toast.fail(res.msg);
  537. }
  538. });
  539. },
  540. // 获取门店订单
  541. getStoreOrderList(storeCode) {
  542. getOrderByStoreCode({ storeCode: storeCode }).then((res) => {
  543. if (res.code == 200) {
  544. let orderList = res.data.ORDERS;
  545. let orderMap = new Map();
  546. for (let i = 0; i < orderList.length; i++) {
  547. if (orderMap.has(orderList[i].ORDERID)) {
  548. orderMap.get(orderList[i].ORDERID).productDetail.push(orderList[i]);
  549. } else {
  550. let orderObj = {
  551. ORDERID: orderList[i].ORDERID,
  552. ORDERDATE: orderList[i].ORDERDATE,
  553. STATUS_DESCR: orderList[i].STATUS_DESCR,
  554. productDetail: [orderList[i]],
  555. };
  556. orderMap.set(orderList[i].ORDERID, orderObj);
  557. }
  558. }
  559. let orderListArr = [];
  560. for (let value of orderMap.values()) {
  561. orderListArr.push(value);
  562. }
  563. this.orderList = orderListArr;
  564. }
  565. });
  566. },
  567. formLink() {
  568. this.$router.push('/storeVisit/questions');
  569. },
  570. onClickLeft() {
  571. this.$router.go(-1);
  572. },
  573. tabChange(name, title) {
  574. console.log(name, title);
  575. },
  576. // 退回原因查看详情
  577. examineDetail() {
  578. this.rejectMsgShow = true;
  579. },
  580. // 退回提交
  581. rejectReasonSubmit() {
  582. if (this.rejectMessage != '') {
  583. this.toastLoading(0, '正在提交...', true);
  584. updateStoreRejectMessage({
  585. storeId: this.$route.query.id,
  586. rejectReason: this.rejectMessage,
  587. }).then((res) => {
  588. this.toastLoading().clear();
  589. if (res.code == 200) {
  590. this.$toast.success('提交成功');
  591. this.rejectReasonShow = false;
  592. this.onClickLeft();
  593. } else {
  594. this.$toast.fail(res.msg);
  595. }
  596. });
  597. } else {
  598. this.$notify({ type: 'warning', message: '请输入退回原因' });
  599. }
  600. },
  601. // 审核通过
  602. approveFun() {
  603. approve({
  604. storeId: this.$route.query.id,
  605. }).then((res) => {
  606. if (res.code == 200) {
  607. this.$toast.success('审核通过');
  608. this.onClickLeft();
  609. } else {
  610. this.$toast.fail(res.msg);
  611. }
  612. });
  613. },
  614. },
  615. };
  616. </script>
  617. <style scoped lang="scss">
  618. .container {
  619. padding-bottom: 50px;
  620. }
  621. .myTab .van-tabs__nav--card {
  622. margin: 0 !important;
  623. border-left: 0;
  624. border-right: 0;
  625. }
  626. .myTab .van-tabs__wrap,
  627. .van-tabs__nav--card {
  628. height: 40px;
  629. }
  630. .myTab .van-tab {
  631. line-height: 40px;
  632. }
  633. .helpPageMask {
  634. width: 100%;
  635. height: 100%;
  636. background: rgba(116, 116, 116, 0.8);
  637. position: fixed;
  638. z-index: 100000;
  639. top: 0;
  640. right: 0;
  641. left: 0;
  642. bottom: 0;
  643. display: flex;
  644. align-items: center;
  645. justify-content: center;
  646. }
  647. .bottomBtn {
  648. position: fixed;
  649. bottom: 0;
  650. z-index: 10;
  651. height: 50px;
  652. width: 100%;
  653. display: flex;
  654. flex-direction: row;
  655. justify-content: space-around;
  656. .van-button {
  657. /* flex: 1; */
  658. width: 40%;
  659. }
  660. }
  661. .rejectMsg {
  662. position: sticky;
  663. top: 46px;
  664. z-index: 10;
  665. display: flex;
  666. box-sizing: border-box;
  667. width: 100%;
  668. padding: 10px 16px;
  669. overflow: hidden;
  670. color: #323233;
  671. font-size: 14px;
  672. line-height: 24px;
  673. background-color: #f5daac;
  674. font-weight: 600;
  675. .label {
  676. width: 6.2em;
  677. margin-right: 12px;
  678. }
  679. .value {
  680. flex: 1;
  681. }
  682. .examineDetail {
  683. width: 70px;
  684. color: #0057ba;
  685. }
  686. }
  687. .rejectMsgBox {
  688. min-height: 30%;
  689. max-height: 50%;
  690. padding: 10px 20px;
  691. display: flex;
  692. flex-direction: column;
  693. overflow: hidden;
  694. .title {
  695. padding: 10px 0;
  696. text-align: center;
  697. font-size: 16px;
  698. font-weight: 600px;
  699. }
  700. .content {
  701. flex: 1;
  702. overflow-y: auto;
  703. .rejectMsgItem {
  704. margin-bottom: 20px;
  705. .item {
  706. padding: 5px 0;
  707. span {
  708. display: inline-block;
  709. }
  710. }
  711. .label {
  712. width: 80px;
  713. font-size: 14px;
  714. font-weight: 600;
  715. }
  716. .value {
  717. font-size: 14px;
  718. }
  719. }
  720. }
  721. .btnBox {
  722. button {
  723. width: 100%;
  724. }
  725. }
  726. }
  727. .orderList {
  728. .orderItem {
  729. .orderTitle {
  730. padding: 5px 0;
  731. font-size: 16px;
  732. font-weight: 600;
  733. color: #000;
  734. display: flex;
  735. align-items: center;
  736. &::before {
  737. content: '';
  738. width: 8px;
  739. height: 8px;
  740. background: red;
  741. border-radius: 50%;
  742. display: inline-block;
  743. margin-right: 5px;
  744. }
  745. }
  746. }
  747. }
  748. </style>
  749. <style lang="scss">
  750. .searchDiv {
  751. .van-search {
  752. /* // background: #fff; */
  753. }
  754. .van-search__action {
  755. font-size: 14px;
  756. color: #0057ba;
  757. font-weight: bold;
  758. background: #f1f1f1;
  759. border-bottom-right-radius: 60px;
  760. border-top-right-radius: 60px;
  761. border: 1px solid #ccc;
  762. padding: 0 20px;
  763. }
  764. .van-search--show-action {
  765. padding-right: 12px;
  766. }
  767. .van-search__content {
  768. border: 1px solid #ccc;
  769. border-bottom-left-radius: 60px;
  770. border-top-left-radius: 60px;
  771. background: #f1f1f1;
  772. border-right: 0;
  773. }
  774. }
  775. .helpAlert {
  776. .van-dialog__cancel {
  777. .van-button__text {
  778. &::before {
  779. content: '?';
  780. background: #f79200;
  781. width: 20px;
  782. display: inline-block;
  783. border-radius: 50%;
  784. color: #fff;
  785. }
  786. }
  787. }
  788. }
  789. </style>