You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

724 lines
26 KiB

2 months ago
  1. <!-- 各地财务&各地负责人 -->
  2. <template>
  3. <el-card style="margin-bottom: 0.5vh;">
  4. <div class="condition">
  5. <div class="item1">
  6. <el-text size="large" style="width:4vw;">精网号</el-text>
  7. <el-input v-model="searchForm.jwcode" placeholder="请输入精网号" style="width:9vw;" clearable />
  8. </div>
  9. <div class="item1">
  10. <el-text size="large" style="width:4vw;">客户姓名</el-text>
  11. <el-input v-model="searchForm.name" placeholder="请输入客户姓名" style="width:9vw;" clearable />
  12. </div>
  13. <div class="item1">
  14. <el-text size="large" style="width:4vw;">所属地区</el-text>
  15. <el-input v-model="searchForm.market" placeholder="请输入所属地区" style="width:9vw;" clearable />
  16. </div>
  17. <div class="item1">
  18. <el-text size="large" style="width:4vw;">产品名称</el-text>
  19. <el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
  20. </div>
  21. <div class="item1">
  22. <el-text size="large" style="width:4vw;">订单状态</el-text>
  23. <el-select v-model="searchForm.status" style="width:9vw;">
  24. <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />
  25. </el-select>
  26. </div>
  27. </div>
  28. <div class="condition">
  29. <div class="item2">
  30. <el-text size="large" style="width:4vw;">付款币种</el-text>
  31. <el-input v-model="searchForm.payCurrency" placeholder="请输入付款币种" style="width:9vw;" clearable />
  32. </div>
  33. <div class="item2">
  34. <el-text size="large" style="width:4vw;">支付方式</el-text>
  35. <el-input v-model="searchForm.payType" placeholder="请输入支付方式" style="width:9vw;" clearable />
  36. </div>
  37. <div class="item2" style="width: 28.5vw;">
  38. <el-text size="large" style="width:4vw;">付款时间</el-text>
  39. <el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="起始时间"
  40. end-placeholder="结束时间" style="width:22vw;" @change="handleDatePickerChange"
  41. :disabled-date="disabledDate" />
  42. </div>
  43. <div>
  44. <el-button type="success">重置</el-button>
  45. <el-button type="primary">查询</el-button>
  46. <el-button type="warning">导出excel</el-button>
  47. <el-button type="primary">查看导出列表</el-button>
  48. </div>
  49. </div>
  50. </el-card>
  51. <div style="display: flex;">
  52. <el-button type="primary" @click="showAudit1 = true">审核1</el-button>
  53. <el-button type="primary" @click="showAudit2 = true">审核2</el-button>
  54. <el-button type="primary" @click="showSteps = true">看看步骤条</el-button>
  55. <el-button type="primary" @click="showError = true">退款金额有误</el-button>
  56. </div>
  57. <el-card style="margin-top: 0.5vh;">
  58. <el-table :data="tableData" style="height:64vh;width:82vw">
  59. <el-table-column type="index" label="序号" width="60" fixed="left" />
  60. <el-table-column prop="name" label="Homily ID" width="120" fixed="left" />
  61. <el-table-column prop="jwcode" label="姓名" width="120" fixed="left" show-overflow-tooltip />
  62. <el-table-column prop="market" label="所属地区" width="120" />
  63. <el-table-column prop="refundType" label="产品名称" width="120" />
  64. <el-table-column prop="refundType" label="产品数量" width="120" />
  65. <el-table-column prop="refundType" label="退款方式" width="120" />
  66. <el-table-column prop="refundType" label="提交人" width="120" />
  67. <el-table-column prop="refundType" label="退款理由" width="120" />
  68. <el-table-column prop="remark" label="备注" width="150" show-overflow-tooltip />
  69. <el-table-column prop="adminName" label="订单状态" width="120" />
  70. <el-table-column prop="operation" label="操作" fixed="right" width="150px" >
  71. <template #default="scope">
  72. <div class="operation">
  73. <el-button v-if="row.status === '待审核'" type="primary" text @click="showAudit1 = true">
  74. 审核
  75. </el-button>
  76. </div>
  77. </template>
  78. </el-table-column>
  79. </el-table>
  80. <el-pagination v-model:current-page="pagination.pageNum" v-model:page-size="pagination.pageSize"
  81. layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
  82. @size-change="handlePageSizeChange" @current-change="handleCurrentChange"
  83. style="margin-top: 1vh;"></el-pagination>
  84. </el-card>
  85. <el-dialog v-model="showAudit1" title="审核" overflow draggable width="20vw">
  86. <div class="audit1">
  87. <div class="audit-item">
  88. <el-text style="width:4vw;">精网号</el-text>
  89. <el-input v-model="addForm.jwcode" placeholder="请输入精网号" style="width:10vw;" clearable />
  90. </div>
  91. <div class="audit-item">
  92. <el-text style="width:4vw;">姓名</el-text>
  93. <el-input v-model="addForm.name" placeholder="请输入客户姓名" style="width:10vw;" clearable />
  94. </div>
  95. <div class="audit-item">
  96. <el-text style="width:4vw;">所属地区</el-text>
  97. <el-input v-model="addForm.market" placeholder="请输入所属地区" style="width:10vw;" clearable />
  98. </div>
  99. <div class="audit-item">
  100. <el-text style="width:4vw;">活动名称</el-text>
  101. <el-input v-model="addForm.orderCode" placeholder="请输入活动名称" style="width:10vw;" clearable />
  102. </div>
  103. <div class="audit-item">
  104. <el-text style="width:4vw;">产品名称</el-text>
  105. <el-input v-model="addForm.orderCode" placeholder="请输入活动名称" style="width:10vw;" clearable />
  106. </div>
  107. <div class="audit-item">
  108. <el-text style="width:4vw;">付款币种</el-text>
  109. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
  110. </div>
  111. <div class="audit-item">
  112. <el-text style="width:4vw;">付款金额</el-text>
  113. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
  114. </div>
  115. <div class="audit-item">
  116. <el-text style="width:4vw;">支付方式</el-text>
  117. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
  118. </div>
  119. <div class="audit-item">
  120. <el-text style="width:4vw;">付款时间</el-text>
  121. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
  122. </div>
  123. <div class="audit-item">
  124. <el-text style="width:4vw;">银行流水订单号</el-text>
  125. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" style="width:10vw;" clearable />
  126. </div>
  127. </div>
  128. <div style="display:flex;justify-content: center;">
  129. <el-button type="primary" @click="">驳回</el-button>
  130. <el-button type="primary" @click="">通过</el-button>
  131. </div>
  132. </el-dialog>
  133. <el-dialog v-model="showAudit2" title="审核" class="audit2" overflow draggable>
  134. <div class="top">
  135. <el-button @click="" class="smallTitle" size="small">退款申请信息</el-button>
  136. <div class="top-item">
  137. <el-text style="width:4vw;" size="small">退款类型</el-text>
  138. <el-input v-model="auditForm.refundType" placeholder="请输入退款类型" size="small" style="width:10vw;"
  139. clearable></el-input>
  140. </div>
  141. <div class="top-item">
  142. <el-text style="width:4vw;" size="small">退款金额</el-text>
  143. <el-input v-model="auditForm.refundAmount" placeholder="请输入退款金额" size="small" style="width:10vw;"
  144. clearable></el-input>
  145. </div>
  146. <div class="top-item">
  147. <el-text style="width:4vw;" size="small">退款备注</el-text>
  148. <el-input v-model="auditForm.refundReason" placeholder="请输入退款备注" size="small" style="width:10vw;"
  149. :rows="3" maxlength="100" show-word-limit type="textarea" />
  150. </div>
  151. </div>
  152. <el-button @click="" class="smallTitle" size="small">原订单信息</el-button>
  153. <div class="center">
  154. <div class="center-left">
  155. <div class="center-item">
  156. <el-text style="width:4vw;" size="small">精网号</el-text>
  157. <el-input v-model="addForm.jwcode" placeholder="请输入精网号" size="small" style="width:10vw;"
  158. clearable />
  159. </div>
  160. <div class="center-item">
  161. <el-text style="width:4vw;" size="small">所属地区</el-text>
  162. <el-input v-model="addForm.name" placeholder="请输入所属地区" size="small" style="width:10vw;" clearable />
  163. </div>
  164. <div class="center-item">
  165. <el-text style="width:4vw;" size="small">产品名称</el-text>
  166. <el-input v-model="addForm.productName" placeholder="请输入产品名称" size="small" style="width:10vw;"
  167. clearable />
  168. </div>
  169. <div class="center-item">
  170. <el-text style="width:4vw;" size="small">付款金额</el-text>
  171. <el-input v-model="addForm.orderCode" placeholder="请输入付款金额" size="small" style="width:10vw;"
  172. clearable />
  173. </div>
  174. <div class="center-item">
  175. <el-text style="width:4vw;" size="small">到账金额</el-text>
  176. <el-input v-model="addForm.orderCode" placeholder="请输入到账金额" size="small" style="width:10vw;"
  177. clearable />
  178. </div>
  179. <div class="center-item">
  180. <el-text style="width:4vw;" size="small">支付方式</el-text>
  181. <el-input v-model="addForm.refundAmount" placeholder="请输入支付方式" size="small" style="width:10vw;"
  182. clearable />
  183. </div>
  184. <!-- <div class="center-item">
  185. <el-text style="width:4vw;" size="small">提交人</el-text>
  186. <el-input v-model="addForm.refundAmount" placeholder="请输入付款金额" size="small" style="width:10vw;"
  187. clearable />
  188. </div> -->
  189. <div class="center-item">
  190. <el-text style="width:3vw;padding-right: 1vw;" size="small">银行流水订单号</el-text>
  191. <el-input size="small" v-model="addForm.bankOrderNo" placeholder="请输入银行流水订单号" style="width:10vw;"
  192. clearable />
  193. </div>
  194. <div class="center-item">
  195. <el-text style="width:4vw;" size="small">转账凭证</el-text>
  196. <el-form-item :rules="{ required: true, message: '请上传图片', trigger: 'change' }">
  197. <el-upload ref="uploadRef" :auto-upload="false" :http-request="customUpload"
  198. list-type="picture-card" :on-change="handleImageChange" class="image"
  199. :on-success="handleUploadSuccess" :on-error="handleUploadError"
  200. :before-upload="beforeUpload" :show-file-list="false">
  201. <template #default>
  202. <img v-if="addForm.imageUrl" :src="addForm.imageUrl"
  203. style="width: 100%; height: 100%; object-fit: cover;">
  204. <el-icon v-else>
  205. <Plus />
  206. </el-icon>
  207. </template>
  208. </el-upload>
  209. </el-form-item>
  210. </div>
  211. </div>
  212. <div class="center-right">
  213. <div class="right-item">
  214. <el-text style="width:4vw;" size="small">客户姓名</el-text>
  215. <el-input v-model="addForm.customerName" placeholder="请输入客户姓名" size="small" style="width:10vw;"
  216. clearable />
  217. </div>
  218. <div class="right-item">
  219. <el-text style="width:4vw;" size="small">活动名称</el-text>
  220. <el-input v-model="addForm.activityName" placeholder="请输入活动名称" size="small" style="width:10vw;"
  221. clearable />
  222. </div>
  223. <div class="right-item">
  224. <el-text style="width:4vw;" size="small">付款币种</el-text>
  225. <el-input v-model="addForm.paymentCurrency" placeholder="请输入付款币种" size="small" style="width:10vw;"
  226. clearable />
  227. </div>
  228. <div class="right-item">
  229. <el-text style="width:4vw;" size="small">到账币种</el-text>
  230. <el-input v-model="addForm.receiveCurrency" placeholder="请输入到账币种" size="small" style="width:10vw;"
  231. clearable />
  232. </div>
  233. <div class="right-item">
  234. <el-text style="width:4vw;" size="small">手续费</el-text>
  235. <el-input v-model="addForm.fee" placeholder="请输入手续费" size="small" style="width:10vw;" clearable />
  236. </div>
  237. <div class="right-item">
  238. <el-text style="width:4vw;" size="small">付款时间</el-text>
  239. <el-input v-model="addForm.paymentTime" placeholder="请输入付款时间" size="small" style="width:10vw;"
  240. clearable />
  241. </div>
  242. <div class="right-item">
  243. <el-text style="width:4vw;" size="small">提交人</el-text>
  244. <el-input v-model="addForm.submitUser" placeholder="请输入提交人" size="small" style="width:10vw;"
  245. clearable />
  246. </div>
  247. <div class="right-item">
  248. <el-text style="width:4vw;" size="small">到账时间</el-text>
  249. <el-input v-model="addForm.receiveTime" placeholder="请输入到账时间" size="small" style="width:10vw;"
  250. clearable />
  251. </div>
  252. <div class="right-item">
  253. <el-text style="width:4vw;" size="small">备注</el-text>
  254. <el-input v-model="addForm.remark" placeholder="请输入备注" size="small" style="width:10vw;" :row="3"
  255. clearable />
  256. </div>
  257. </div>
  258. </div>
  259. <el-button @click="" class="smallTitle" size="small">转交信息</el-button>
  260. <div class="bottom">
  261. <div class="bottom-item">
  262. <el-text style="width:4vw;" size="small">执行人</el-text>
  263. <el-select v-model="addForm.executor" size="small" placeholder="请选择执行人" style="width:10vw;">
  264. <el-option v-for="item in executor" :key="item.value" :label="item.label" :value="item.value" />
  265. </el-select>
  266. </div>
  267. </div>
  268. </el-dialog>
  269. <el-dialog v-model="showSteps" title="唉!!!" overflow draggable width="1206px" height="506px" :style="{
  270. backgroundImage: 'url(/src/assets/images/背景图.png)',
  271. backgroundSize: 'cover',
  272. backgroundPosition: 'center'
  273. }">
  274. <div class="steps">
  275. <div class="steps-content">
  276. <el-steps style="min-width: 60vw" :active="1" align-center>
  277. <el-step> <template #title>
  278. <div>提交人<br>你是死的</div>
  279. </template>
  280. <template #icon>
  281. <img src="@/assets/images/已审核.png" alt="已审核图标">
  282. </template>
  283. </el-step>
  284. <el-step title="地区财务">
  285. <template #icon>
  286. <img src="@/assets/images/待审核.png" alt="待审核图标">
  287. </template>
  288. </el-step>
  289. <el-step title="地区负责人">
  290. <template #icon>
  291. <img src="@/assets/images/还没传到.png" alt="还没传到图标">
  292. </template>
  293. </el-step>
  294. <el-step title="总部财务">
  295. <template #icon>
  296. <img src="@/assets/images/还没传到.png" alt="还没传到图标">
  297. </template>
  298. </el-step>
  299. <el-step title="指定执行人">
  300. <template #icon>
  301. <img src="@/assets/images/还没传到.png" alt="还没传到图标">
  302. </template>
  303. </el-step>
  304. </el-steps>
  305. </div>
  306. <div class="steps-status">
  307. <el-steps style="min-width: 50vw" :active="1" finish-status="success" simple>
  308. <el-step title="已通过" />
  309. <el-step title="待审核" />
  310. <el-step title="待审核" />
  311. <el-step title="待审核" />
  312. <el-step title="待审核" />
  313. </el-steps>
  314. </div>
  315. <div class="steps-btn">
  316. <el-button type="primary">确定</el-button>
  317. </div>
  318. </div>
  319. </el-dialog>
  320. </template>
  321. <script setup>
  322. import { ref, onMounted } from 'vue'
  323. import { ElMessage } from 'element-plus'
  324. import API from '@/util/http.js'
  325. const uploadUrl = 'https://api.homilychart.com/hljw/api/aws/upload'
  326. import { useAdminStore } from "@/store/index.js"
  327. import { storeToRefs } from "pinia"
  328. import dayjs from 'dayjs'
  329. const adminStore = useAdminStore()
  330. const { adminData, menuTree } = storeToRefs(adminStore)
  331. import { permissionMapping, findMenuById } from "@/utils/menuTreePermission.js"
  332. const searchForm = ref({
  333. jwcode: ''
  334. })
  335. const addForm = ref({
  336. jwcode: ''
  337. })
  338. const auditForm = ref({
  339. refundType: ''
  340. })
  341. const pagination = ref({
  342. pageNum: 1,
  343. pageSize: 50,
  344. total: 0
  345. })
  346. const tableData = ref([])
  347. const showAudit1 = ref(false)
  348. const showAudit2 = ref(false)
  349. const showSteps = ref(false)
  350. const uploadRef = ref(null)
  351. const showError = ref(false)
  352. const executor = ref([
  353. {
  354. value: '1',
  355. label: '亲爱的佳丽老师'
  356. },
  357. {
  358. value: '2',
  359. label: '张三'
  360. },
  361. {
  362. value: '3',
  363. label: '李四'
  364. },
  365. {
  366. value: '4',
  367. label: '王五'
  368. },
  369. {
  370. value: '5',
  371. label: '赵六'
  372. },
  373. {
  374. value: '6',
  375. label: '弘历黄总'
  376. }
  377. ])
  378. const products = ref([
  379. {
  380. value: '1',
  381. label: '产品1'
  382. },
  383. {
  384. value: '2',
  385. label: '产品2'
  386. }
  387. ])
  388. const currencies = ref([
  389. {
  390. value: 'CNY',
  391. label: '人民币'
  392. },
  393. {
  394. value: 'USD',
  395. label: '美元'
  396. }
  397. ])
  398. const payments = ref([{
  399. value: '银行转账',
  400. label: '银行转账'
  401. },
  402. {
  403. value: '现金',
  404. label: '现金'
  405. },
  406. {
  407. value: '支票',
  408. label: '支票'
  409. },
  410. {
  411. value: '刷卡',
  412. label: '刷卡'
  413. },
  414. {
  415. value: 'Grabpay',
  416. label: 'Grabpay'
  417. },
  418. {
  419. value: 'Nets',
  420. label: 'Nets'
  421. },
  422. {
  423. value: 'PayPal',
  424. label: 'PayPal'
  425. },
  426. {
  427. value: 'Stripe-链接收款',
  428. label: 'Stripe-链接收款'
  429. },
  430. {
  431. value: 'Ipay88-链接收款',
  432. label: 'Ipay88-链接收款'
  433. },
  434. {
  435. value: 'PaymentAsia-链接收款',
  436. label: 'PaymentAsia-链接收款'
  437. },
  438. {
  439. value: 'Stripe-Link平台',
  440. label: 'Stripe-Link平台'
  441. },
  442. {
  443. value: 'PaymentAsia-Link平台',
  444. label: 'PaymentAsia-Link平台'
  445. },
  446. {
  447. value: 'FirstData-Link平台-Link平台',
  448. label: 'FirstData-Link平台-Link平台'
  449. },
  450. {
  451. value: 'IOS-Link平台',
  452. label: 'IOS-Link平台'
  453. },
  454. {
  455. value: 'Ipay88-Link平台',
  456. label: 'Ipay88-Link平台'
  457. }
  458. ])
  459. const statusList = ref([
  460. {
  461. value: '10',
  462. label: '地区财务待审核'
  463. },
  464. {
  465. value: '12',
  466. label: '地区财务驳回'
  467. },
  468. {
  469. value: '20',
  470. label: '地区负责人待审核'
  471. },
  472. {
  473. value: '22',
  474. label: '地区负责人驳回'
  475. },
  476. {
  477. value: '30',
  478. label: '总部财务待审核'
  479. },
  480. {
  481. value: '32',
  482. label: '总部财务驳回'
  483. },
  484. {
  485. value: '40',
  486. label: '执行人待处理'
  487. },
  488. {
  489. value: '41',
  490. label: '退款完成'
  491. }
  492. ])
  493. // 查全部
  494. const getRefund = async function () {
  495. try {
  496. const params = {
  497. cashCollection: {
  498. status: null,
  499. //10:地区财务待审核;12:地区财务驳回;
  500. // 20:地区负责人待审核;22:地区负责人驳回;
  501. // 30:总部财务待审核;32:总部财务驳回;
  502. // 40:执行人待处理;41:执行人已处理,退款完成;
  503. orderCode: null,//订单号
  504. name: null,//姓名
  505. jwcode: null,//精网号
  506. market: null,//地区
  507. goodsName: null,//商品名
  508. refundModel: null,//退款类型,
  509. startTime: "",
  510. endTime: ""
  511. }
  512. }
  513. const result = await API({
  514. url: '/hljw/api/refund/query',
  515. method: 'POST',
  516. data: params
  517. })
  518. tableData.value = result.data || []
  519. } catch (error) {
  520. ElMessage.error(error.message || '查询失败')
  521. }
  522. }
  523. const handleImageChange = (file) => {
  524. uploadRef.value.submit()
  525. }
  526. const beforeUpload = (file) => {
  527. const isJPG = file.type === 'image/jpeg'
  528. const isPNG = file.type === 'image/png'
  529. const isLt1 = file.size / 1024 < 1024
  530. if (!isJPG && !isPNG) {
  531. ElMessage.error('上传图片只能是 JPG 或 PNG 格式')
  532. return false
  533. }
  534. if (!isLt1) {
  535. ElMessage.error('上传图片大小不能超过1MB')
  536. return false
  537. }
  538. return true
  539. }
  540. const handleUploadSuccess = (response, file, fileList) => {
  541. try {
  542. addForm.value.imageUrl = response.data.url
  543. console.log('==========================', response.data.url)
  544. } catch (error) {
  545. console.log('看看报错信息', error)
  546. ElMessage.error(response.data.msg || '图片上传失败')
  547. }
  548. }
  549. const handleUploadError = (error) => {
  550. console.error('上传失败:', error)
  551. addForm.value.imageUrl = null
  552. ElMessage.error('图片上传失败,请重试')
  553. }
  554. const customUpload = async (options) => {
  555. try {
  556. const formData = new FormData()
  557. formData.append('file', options.file)
  558. const response = await API({
  559. url: uploadUrl,
  560. method: 'POST',
  561. data: formData,
  562. headers: {
  563. 'Content-Type': 'multipart/form-data'
  564. }
  565. })
  566. if (response.code === 200 && response.data) {
  567. handleUploadSuccess(response, options.file, [options.file])
  568. ElMessage.success(response.msg || '上传成功')
  569. } else {
  570. ElMessage.error(response.msg || '上传失败')
  571. }
  572. } catch (error) {
  573. console.error('上传错误:', error)
  574. ElMessage.error(`上传失败: ${error.msg || error.message || '网络异常'}`)
  575. }
  576. }
  577. onMounted(() => {
  578. console.log('???????????????????', adminData.value)
  579. })
  580. </script>
  581. <style scoped lang="scss">
  582. .condition {
  583. width: 82vw;
  584. display: flex;
  585. align-items: center;
  586. height: 4vh;
  587. .item1 {
  588. width: 18%;
  589. display: flex;
  590. align-items: center;
  591. margin-bottom: 1vh;
  592. margin-right: 0.5vw;
  593. }
  594. .item2 {
  595. width: 18%;
  596. display: flex;
  597. align-items: center;
  598. margin-right: 0.5vw;
  599. }
  600. }
  601. .audit1 {
  602. height: 47vh;
  603. .audit-item {
  604. display: flex;
  605. align-items: center;
  606. margin-bottom: 1vh;
  607. }
  608. }
  609. .audit2 {
  610. width: 30vw;
  611. height: auto;
  612. .top {
  613. width: 30vw;
  614. height: 17vh;
  615. .top-item {
  616. display: flex;
  617. align-items: center;
  618. margin-bottom: 1vh;
  619. }
  620. }
  621. .smallTitle {
  622. background-color: white;
  623. color: rgb(64, 158, 255);
  624. border-color: rgb(64, 158, 255);
  625. margin-bottom: 0.5vh;
  626. }
  627. .center {
  628. display: flex;
  629. width: 30vw;
  630. height: 41vh;
  631. .dialog-item {
  632. display: flex;
  633. align-items: center;
  634. margin-bottom: 1vh;
  635. }
  636. .center-left {
  637. width: 60%;
  638. .image {
  639. width: 4vw !important;
  640. height: 4vw !important;
  641. }
  642. :deep(.el-upload--picture-card) {
  643. width: 4vw !important;
  644. height: 4vw !important;
  645. padding: 0 !important;
  646. }
  647. .center-item {
  648. display: flex;
  649. align-items: center;
  650. margin-bottom: 1vh;
  651. }
  652. }
  653. .center-right {
  654. .right-item {
  655. display: flex;
  656. align-items: center;
  657. margin-bottom: 1vh;
  658. }
  659. }
  660. }
  661. .bottom {
  662. width: 30vw;
  663. height: 5vh;
  664. .bottom-item {
  665. display: flex;
  666. align-items: center;
  667. margin-bottom: 1vh;
  668. }
  669. }
  670. }
  671. .steps {
  672. .steps-content {
  673. width: 45vw;
  674. height: 15vh;
  675. display: flex;
  676. justify-content: center;
  677. padding-top: 15vw;
  678. padding-left: 8vw;
  679. }
  680. .steps-status {
  681. display: flex;
  682. align-items: center;
  683. justify-content: center;
  684. }
  685. .steps-btn {
  686. height: 15vh;
  687. display: flex;
  688. justify-content: center;
  689. align-items: center;
  690. }
  691. }
  692. </style>