supplierWorkbench.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. <!-- 整改列表 -->
  2. <template>
  3. <view class="supplier" style="display: flex;flex-direction: column;flex: 1;">
  4. <view v-if="pageType==0">
  5. <view class="supplier_h" @click="handleClick('mine')">
  6. <img src="@/images/Version3.0/img_gysglpt_bg.png">
  7. <img src="@/images/Version3.0/img_gysglpt_icom.png">
  8. <img src="@/images/Version3.0/icon_gyspt_gd.png">
  9. <view>{{form.companyName}}</view>
  10. </view>
  11. <view class="supplier_tab">
  12. <view class="supplier_tab_li" @click="handleClick('people')">
  13. <text>{{form.peopleSum}}</text>
  14. <text>运输人员</text>
  15. </view>
  16. <view class="supplier_tab_line"></view>
  17. <view class="supplier_tab_li" @click="handleClick('car')">
  18. <text>{{form.carSum}}</text>
  19. <text>运输车辆</text>
  20. </view>
  21. <view class="supplier_tab_line"></view>
  22. <view class="supplier_tab_li" @click="handleClick('bottle')">
  23. <text>{{form.bottleSum}}</text>
  24. <text>气瓶管理</text>
  25. </view>
  26. </view>
  27. <scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
  28. <view class="for-big-box">
  29. <view class="backlog" @click="handleClick('backlog')">
  30. <img class="backlog_l" src="@/images/Version3.0/icon_glpt_dbqd.png">
  31. <view class="backlog_c">待办清单</view>
  32. <img class="backlog_r" src="@/images/icon_wdwg_gd.png">
  33. </view>
  34. <view class="for-box" @click="goInfo(item)" v-for="(item,index) in dataList" :key="index">
  35. <view class="for-title-box">
  36. <view v-if="item.remark=='gq'" class="viewColor1">供气</view>
  37. <view v-if="item.remark=='hs'" class="viewColor3">回收</view>
  38. <view v-if="item.remark=='wt'" class="viewColor2">问题</view>
  39. <view v-if="item.remark=='hs' || item.remark=='wt'">{{item.airName}}-{{item.configName}}</view>
  40. <view v-if="item.remark=='gq'" ><text v-for="(item2,index2) in item.detailListVO" :key="index2" v-if="index2<2">{{item2.airName}}-{{item2.configName}}*{{item2.bottleNumber}}<text>{{index2<1?' ':'...'}}</text></text></view>
  41. </view>
  42. <view class="for-address-box">
  43. <img src="@/images/Version2.2/icon_wtzg_xx.png">
  44. <view >{{item.campus}}-{{item.building}}-{{item.room}}</view>
  45. </view>
  46. <view class="for-time-box">
  47. <img src="@/images/Version2.2/icon_wtzg_sj.png">
  48. <view>{{item.createTime}}</view>
  49. </view>
  50. </view>
  51. </view>
  52. <img class="null-img" v-if="!dataList[0]" src="@/images/null-data-1.png">
  53. </scroll-view>
  54. <img class="supernatant" @click="handleClick('recycle')" src="@/images/Version3.0/icon_glpt_gqhsjl.png">
  55. </view>
  56. <view class="empty" v-if="emptyList==4 && pageType==0">
  57. <img class="for-back-img" src="@/images/Version3.0/img_ysrygl_zwsj.png">
  58. <view>暂无数据</view>
  59. </view>
  60. <hasten-page v-if="pageType==1"></hasten-page>
  61. <reject-page v-if="pageType==2" :infoData="infoData"></reject-page>
  62. <forbidden-page v-if="pageType==3"></forbidden-page>
  63. </view>
  64. </template>
  65. <script>
  66. import { config } from '@/api/request/config.js'
  67. import { supplierDetail,storageListTaskIndex} from '@/api/basicsModules/index.js'
  68. import { hastenPage } from '@/pages/supplier/mine/hasten.vue'
  69. import { rejectPage } from '@/pages/supplier/mine/reject.vue'
  70. import { forbiddenPage } from '@/pages/supplier/mine/forbidden.vue'
  71. export default {
  72. name: "rectifyList",
  73. components: {
  74. hastenPage,//供应商正在审核
  75. rejectPage,//供应商驳回
  76. forbiddenPage,//供应商停用
  77. },
  78. data() {
  79. return {
  80. emptyList:0,
  81. pageType:4,
  82. dataList:[],
  83. //列表请求参数
  84. getData:{
  85. pageNum:1,
  86. pageSize:5,
  87. },
  88. form:{
  89. companyName:'',//企业名称
  90. peopleSum:'0',//人员数量总数
  91. carSum:'0',//运输车辆总数
  92. bottleSum:'0',//气瓶数量总数
  93. },
  94. infoData:'',//驳回原因
  95. state:'',
  96. }
  97. },
  98. onLoad() {
  99. },
  100. onShow() {
  101. this.infoList=[];
  102. },
  103. mounted(){
  104. this.getInfo();
  105. this.getList();
  106. },
  107. methods: {
  108. //滚动加载事件
  109. scrollGet(){
  110. if(this.getData.getType){
  111. this.getData.page += 1;
  112. this.getList();
  113. }
  114. },
  115. goInfo(d){
  116. if(d.remark=='gq'){
  117. uni.navigateTo({
  118. url:'/pages_supplier/backlogManage/backlogManageAirDetail?item='+encodeURIComponent(JSON.stringify(d))
  119. });
  120. }else if(d.remark=='hs'){
  121. uni.navigateTo({
  122. url:'/pages_supplier/backlogManage/backlogManageRecycleDetail?item='+encodeURIComponent(JSON.stringify(d))
  123. });
  124. }else if(d.remark=='wt'){
  125. uni.navigateTo({
  126. url:'/pages_supplier/backlogManage/backlogManageIssueDetail?item='+encodeURIComponent(JSON.stringify(d))
  127. });
  128. }
  129. },
  130. handleClick(doType) {
  131. if(doType=='people'){
  132. uni.navigateTo({
  133. url:'/pages_supplier/transportPerson/transportPerson'
  134. });
  135. }else if(doType=='car'){
  136. uni.navigateTo({
  137. url:'/pages_supplier/transportCar/transportCar'
  138. });
  139. }else if(doType=='bottle'){
  140. uni.navigateTo({
  141. url:'/pages_supplier/gasManage/gasManage'
  142. });
  143. }else if(doType=='mine'){
  144. uni.navigateTo({
  145. url: '/pages_supplier/mine/mine?state='+this.state
  146. });
  147. }else if(doType=='backlog'){//待办清单
  148. uni.navigateTo({
  149. url:'/pages_supplier/backlogManage/backlogManage'
  150. });
  151. }else if(doType=='recycle'){//供气回收
  152. uni.navigateTo({
  153. url:'/pages_supplier/gasRecycle/gasRecycle'
  154. });
  155. }
  156. },
  157. //获取首页详情
  158. async getInfo(){
  159. let _this = this;
  160. const {data} = await supplierDetail()
  161. let res=data.data
  162. if(data.code==200){
  163. this.state=res.state;
  164. if(res.state==0){//审核状态(0:未审核,1:审核通过,2:审核未通过)
  165. this.pageType=1;
  166. }else if(res.state==1){
  167. this.pageType=0;
  168. }else if(res.state==2){
  169. this.pageType=2;
  170. this.infoData=res.audit.auditContent//驳回原因
  171. }
  172. this.form.companyName=res.companyName
  173. this.form.peopleSum=res.peopleSum
  174. this.form.carSum=res.carSum
  175. this.form.bottleSum=res.bottleSum
  176. }else if(data.code==500){//资格状态status(0:启用,1:停用)
  177. this.pageType=3;
  178. }
  179. },
  180. //获取列表数据
  181. async getList(){
  182. let _this = this;
  183. const {data} = await storageListTaskIndex(_this.getData);
  184. if(data.code==200){
  185. let res=data.rows;
  186. _this.dataList=res;
  187. if(_this.dataList.length<=0){
  188. _this.emptyList=4
  189. }
  190. }
  191. },
  192. }
  193. }
  194. </script>
  195. <style lang="stylus" scoped>
  196. .empty{
  197. text-align: center;
  198. margin-top: 116rpx;
  199. >img{
  200. width: 336rpx;
  201. height: 222rpx;
  202. margin-left: 208rpx;
  203. }
  204. >view{
  205. font-size: 30rpx;
  206. font-family: PingFang SC;
  207. font-weight: 500;
  208. color: #E0E0E0;
  209. line-height: 30rpx;
  210. margin-top: 48rpx;
  211. }
  212. }
  213. .supplier{
  214. .supplier_h{
  215. width: 750rpx;
  216. height: 200rpx;
  217. position: relative;
  218. >img:nth-child(1){
  219. width: 750rpx;
  220. height: 200rpx;
  221. position: absolute;
  222. left: 0;
  223. top: 0;
  224. }
  225. >img:nth-child(2){
  226. width: 110rpx;
  227. height: 110rpx;
  228. position: absolute;
  229. left: 18rpx;
  230. top: 44rpx;
  231. }
  232. >img:nth-child(3){
  233. width: 12rpx;
  234. height: 24rpx;
  235. position: absolute;
  236. left: 716rpx;
  237. top: 92rpx;
  238. }
  239. >view{
  240. width: 550rpx;
  241. font-size: 30rpx;
  242. font-family: PingFang SC;
  243. font-weight: 500;
  244. color: #FFFFFF;
  245. line-height: 30rpx;
  246. position: absolute;
  247. left: 164rpx;
  248. top: 84rpx;
  249. }
  250. }
  251. .supplier_tab{
  252. width: 710rpx;
  253. height: 180rpx;
  254. background: #FFFFFF;
  255. border-radius: 10rpx;
  256. display: flex;
  257. justify-content: space-between;
  258. align-items: center;
  259. margin: 20rpx 20rpx 0;
  260. .supplier_tab_line{
  261. width: 2rpx;
  262. height: 30rpx;
  263. background: #E0E0E0;
  264. }
  265. .supplier_tab_li{
  266. flex: 1;
  267. text-align: center;
  268. >text{
  269. display: block;
  270. }
  271. >text:nth-child(1){
  272. font-size: 30rpx;
  273. font-family: PingFang SC;
  274. font-weight: 500;
  275. color: #0183FA;
  276. line-height: 30rpx;
  277. }
  278. >text:nth-child(2){
  279. font-size: 30rpx;
  280. font-family: PingFang SC;
  281. font-weight: 500;
  282. color: #333333;
  283. line-height: 30rpx;
  284. margin-top: 36rpx;
  285. }
  286. }
  287. }
  288. /* 列表 */
  289. .for-max-box{
  290. flex:1;
  291. overflow-y scroll;
  292. .for-big-box{
  293. background:#fff;
  294. border-radius:20rpx;
  295. margin:20rpx;
  296. .backlog{
  297. height: 100rpx;
  298. display: flex;
  299. justify-content: flex-start;
  300. align-items: center;
  301. .backlog_l{
  302. width: 34rpx;
  303. height: 32rpx;
  304. margin-left:20rpx;
  305. }
  306. .backlog_c{
  307. font-size: 30rpx;
  308. font-family: PingFang SC;
  309. font-weight: 500;
  310. color: #333333;
  311. line-height: 30rpx;
  312. margin-left:16rpx;
  313. }
  314. .backlog_r{
  315. width: 24rpx;
  316. height: 24rpx;
  317. margin-left:472rpx;
  318. }
  319. }
  320. .for-box:nth-child(1){
  321. .for-title-box{
  322. border:none;
  323. }
  324. }
  325. .for-box{
  326. overflow hidden
  327. .for-title-box{
  328. display:flex;
  329. margin:0 26rpx 0;
  330. border-top:1rpx solid #dedede;
  331. padding-top:45rpx;
  332. view:nth-child(1){
  333. width:98rpx;
  334. line-height:38rpx;
  335. height:38rpx;
  336. border-radius:6rpx;
  337. font-size:20rpx;
  338. text-align center;
  339. margin-right:10rpx;
  340. }
  341. view:nth-child(2){
  342. flex:1;
  343. font-size:30rpx;
  344. color:#333;
  345. height:36rpx;
  346. lin-height:36rpx;
  347. margin-right:10rpx;
  348. display:block;
  349. overflow:hidden;
  350. text-overflow:ellipsis;
  351. white-space:nowrap;
  352. }
  353. view:nth-child(3){
  354. font-size:30rpx;
  355. color:#333;
  356. height:36rpx;
  357. lin-height:36rpx;
  358. color:#D80000;
  359. }
  360. .viewColor1{
  361. background #ffe6e6;
  362. color:#ff5555;
  363. }
  364. .viewColor2{
  365. background #fef2dd;
  366. color:#f6a71d;
  367. }
  368. .viewColor3{
  369. background #e0f1e2;
  370. color:#30a23d;
  371. }
  372. .viewColor4{
  373. background #f2dddd;
  374. color:#a51919;
  375. }
  376. .viewColor5{
  377. background #e2f6f8;
  378. color:#3ac3d3;
  379. }
  380. .viewColor6{
  381. background #d9edfe;
  382. color:#0183fa;
  383. }
  384. }
  385. .for-address-box{
  386. display:flex;
  387. margin:33rpx 26rpx 0;
  388. img{
  389. width:28rpx;
  390. height:28rpx;
  391. margin-right:20rpx;
  392. }
  393. view{
  394. font-size:28rpx;
  395. line-height:28rpx;
  396. color:#666;
  397. }
  398. }
  399. .for-time-box{
  400. display:flex;
  401. margin:26rpx 26rpx 0;
  402. padding-bottom:32rpx;
  403. img{
  404. width:28rpx;
  405. height:28rpx;
  406. margin-right:20rpx;
  407. }
  408. view{
  409. font-size:28rpx;
  410. line-height:28rpx;
  411. color:#666;
  412. }
  413. }
  414. }
  415. }
  416. .null-img{
  417. display block
  418. width:276rpx;
  419. height:321rpx;
  420. position absolute
  421. top:100rpx;
  422. left:274rpx;
  423. }
  424. }
  425. /* 供求回收记录 */
  426. .supernatant{
  427. width: 152rpx;
  428. height: 152rpx;
  429. position: fixed;
  430. right: 0rpx;
  431. bottom: 60rpx;
  432. }
  433. }
  434. </style>