warehouselocation.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. <!--仓库管理-->
  2. <template>
  3. <div>
  4. <el-row>
  5. <el-col :span="12">
  6. <h2 class="bg-left title">库点费用</h2>
  7. </el-col>
  8. <el-col :span="12" class="bg-right">
  9. <el-button
  10. class="bg-bottom"
  11. type="primary"
  12. size="small"
  13. @click="returnsales()"
  14. ><img
  15. width="6"
  16. height="10"
  17. style="vertical-align: bottom; margin-right: 3px"
  18. src="../../../public/img/lujing.png"
  19. alt=""
  20. />返回</el-button
  21. >
  22. </el-col>
  23. </el-row>
  24. <el-row>
  25. <el-col class='bg-left' :span="12">
  26. <div style='align-items:center;' class='flex'>
  27. <ws-button class="find" type="primary" @click="addlist()"
  28. >添加</ws-button>
  29. <div style='align-items:center;' class='flex'>
  30. <div :class='{"forbidden":forbidden==true}' @click='minus'><i class="el-icon-arrow-left"></i></div>
  31. <ws-select
  32. v-model="year"
  33. placeholder=""
  34. @change="yearChange"
  35. :value="searchType"
  36. style="margin: 0 10px"
  37. >
  38. <ws-option
  39. v-for="item in yearList"
  40. :key="item.value"
  41. :label="item.value"
  42. :value="item.value"
  43. style="color: #8890b1"
  44. />
  45. </ws-select>
  46. <div :class='{"forbidden":forbidden1==true}' @click='add'><i class="el-icon-arrow-right"></i></div>
  47. </div>
  48. <span v-if='deptBudgetTotal>0'>合计:{{count}}元</span>
  49. </div>
  50. </el-col>
  51. <el-col :span="12" class="bg-right">
  52. <ws-select
  53. v-model="warehouseName"
  54. placeholder=""
  55. @change="warehouseNameChange"
  56. :value="searchType"
  57. style="margin: 0 10px"
  58. >
  59. <ws-option
  60. v-for="item in warehouseList1"
  61. :key="item.value"
  62. :label="item.value"
  63. :value="item.value"
  64. style="color: #8890b1"
  65. />
  66. </ws-select>
  67. <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
  68. <ws-button class="find" type="primary" @click="find()"
  69. ><img
  70. width="16"
  71. height="16"
  72. style="
  73. vertical-align: text-top;
  74. position: relative;
  75. top: 0px;
  76. left: -8px;
  77. "
  78. src="../../../public/img/sousuo.png"
  79. alt=""
  80. /></ws-button>
  81. </el-col>
  82. </el-row>
  83. <el-table
  84. class="wenzi"
  85. :data="warehouseList.records"
  86. style="width: 100%; margin-top: 20px"
  87. height="780"
  88. >
  89. <el-table-column label="序号" type="index" show-overflow-tooltip width="50">
  90. </el-table-column>
  91. <el-table-column prop="expenseName" label="费用名称" >
  92. </el-table-column>
  93. <el-table-column prop="amount" label="金额(元)" >
  94. </el-table-column>
  95. <el-table-column prop="storage" label="附件">
  96. <template slot-scope="scope">
  97. <img v-if='scope.row.applUrl'
  98. width="18"
  99. height="20"
  100. style="vertical-align: text-top; position: relative; top: -1px"
  101. src="../../../public/img/fujian.png"
  102. @click="fujian(scope.row)"
  103. alt=""
  104. />
  105. <span v-else>暂无附件</span>
  106. </template>
  107. </el-table-column>
  108. <el-table-column prop="costDate" label="日期">
  109. </el-table-column>
  110. <el-table-column prop="address" label="操作" width="200">
  111. <template slot-scope="scope">
  112. <div class="adjustment" v-hasPermission="
  113. `warehouseManagement.warehouse.warehouseInfo.view`
  114. " @click="editlist(scope.row)">编辑</div>
  115. </template>
  116. </el-table-column>
  117. </el-table>
  118. <el-pagination
  119. @size-change="handleSizeChange"
  120. @current-change="handleCurrentChange"
  121. :current-page="currentPage"
  122. :page-size="pageSize"
  123. layout="total, sizes, prev, pager, next, jumper"
  124. :total="deptBudgetTotal"
  125. >
  126. </el-pagination>
  127. <WinseaContentModal
  128. v-model="accessoryTFs"
  129. :title="$t('system.noticeCircular.information')"
  130. @on-cancel="handleClose"
  131. >
  132. <ws-upload
  133. ref="upload"
  134. :comp-id="compId"
  135. :appendix-ids="appendixIdss"
  136. :editable="false"
  137. accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
  138. />
  139. </WinseaContentModal>
  140. <el-dialog :title="dialogtitle" :visible.sync="addvisible">
  141. <el-form label-width="140px" label-position='right'>
  142. <el-form-item label="费用名称" >
  143. <el-input v-model="expenseName" autocomplete="off"></el-input>
  144. </el-form-item>
  145. <el-form-item label="金额" >
  146. <el-input v-model="amount" autocomplete="off"></el-input>
  147. </el-form-item>
  148. <el-form-item label="付款截图" >
  149. <ws-upload
  150. ref="upload"
  151. :comp-id="compId"
  152. :appendix-ids="applUrl"
  153. :size-limit="size"
  154. :limit='limit'
  155. @onChange="onChange"
  156. accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
  157. />
  158. </el-form-item>
  159. </el-form>
  160. <div slot="footer" class="dialog-footer">
  161. <el-button @click="addvisible = false">取 消</el-button>
  162. <el-button type="primary" @click="addInventory">确 定</el-button>
  163. </div>
  164. </el-dialog>
  165. </div>
  166. </template>
  167. <script>
  168. import {
  169. getinventory,
  170. addinventory,
  171. editinventory,
  172. getwarehousebase,
  173. editcost,
  174. export1,
  175. editstatus,
  176. billoperatehis,
  177. clearancee,
  178. } from '@/model/warehouse/index'
  179. import { downloadFile } from '@/utils/batchDown'
  180. import Pagination from '@/components/Pagination'
  181. import WsUpload from '@/components/WsUpload'
  182. import { EventBus } from 'base-core-lib'
  183. export default {
  184. name: 'viewSpareMoney',
  185. components: {
  186. WsUpload,
  187. Pagination,
  188. },
  189. watch: {
  190. vesselId(val) {
  191. this.getList()
  192. },
  193. isShow(val) {
  194. this.showType = val
  195. },
  196. },
  197. data() {
  198. return {
  199. currectPage:1,
  200. pageSize:10,
  201. //弹出框
  202. dialogViewSpareMoney: false,
  203. dialogApproveFormVisible: false,
  204. // 船舶类型
  205. monetaryKey: null,
  206. // 表格显示数据
  207. tableDate: [],
  208. expenseName:'',
  209. yearList:[],
  210. dialogtitle:'',
  211. appendixIdss:[],
  212. amount:'',
  213. applUrl:'',
  214. price:'',
  215. costDate:'',
  216. // 是否显示
  217. showType: true,
  218. // 年
  219. year: '',
  220. searchType: 1,
  221. searchTypeText: '未完成',
  222. searchKeyWord: '',
  223. contractType: 2,
  224. currentPage:1,
  225. warehouseType: '1',
  226. // 提交类型
  227. submitType: true,
  228. size: 10,
  229. limit:1,
  230. spanArr: [],
  231. id:0,
  232. warehouseName: '',
  233. warehouseId:'',
  234. start:2021,
  235. forbidden:false,
  236. forbidden1:false,
  237. addvisible:false,
  238. compId: sessionStorage.getItem('ws-pf_compId'),
  239. deptCircularPage: {},
  240. warehouseList: [],
  241. warehouseList1: [],
  242. deptBudgetList: {},
  243. historyList: [],
  244. count:0,
  245. deptBudgetTotal: 0,
  246. pickerBeginDateBefore: {
  247. disabledDate: (time) => {
  248. return time.getTime() > Date.now()
  249. },
  250. },
  251. accessoryTFs: false,
  252. }
  253. },
  254. activated() {
  255. this.cangid=this.$route.query.cangId
  256. this.year=new Date().getFullYear()
  257. for(var i=this.start;i<=this.year;i++){
  258. this.yearList.push({value:i})
  259. }
  260. if(this.year>=new Date().getFullYear()){
  261. this.forbidden1=true
  262. }
  263. if(this.year<=this.start){
  264. this.forbidden=true
  265. }
  266. this.selectWarehouse()
  267. // this.getList()
  268. this.showType = this.isShow
  269. },
  270. methods: {
  271. returnsales(){
  272. this.$router.go(-1)
  273. },
  274. fujian(row) {
  275. if (row.applUrl === null || row.applUrl === '') {
  276. EventBus.$emit(
  277. 'warning',
  278. this.$t('system.noticeCircular.NoInformation')
  279. )
  280. }
  281. this.appendixIdss = row.applUrl
  282. this.accessoryTFs = true
  283. },
  284. uploadSuccessHandle(e){
  285. this.applUrl=e.url
  286. },
  287. counttotal(){
  288. this.count=0
  289. for (let i = 0; i < this.warehouseList.records.length; i++) {
  290. this.count+=this.warehouseList.records[i].amount
  291. }
  292. },
  293. onChange() {
  294. this.$refs.upload
  295. .handleSaveBill()
  296. .then(async response => {
  297. this.applUrl = response
  298. })
  299. .catch(res => {
  300. EventBus.$emit('error', (JSON.parse(res) || {}).message)
  301. this.$refs.upload.clearFiles()
  302. })
  303. },
  304. minus(){
  305. if(this.year<=this.start){
  306. this.forbidden=true
  307. }else{
  308. this.year--
  309. }
  310. },
  311. add(){
  312. if(this.year>=new Date().getFullYear()){
  313. this.forbidden1=true
  314. }else{
  315. this.year++
  316. }
  317. },
  318. addInventory(){
  319. if(this.dialogtitle=='编辑费用'){
  320. this.editInventory()
  321. return
  322. }
  323. if(!this.expenseName){
  324. this.$message({
  325. message: '费用名称不能为空!',
  326. type: 'warning'
  327. })
  328. return
  329. }
  330. if(this.expenseName.length<1||this.expenseName.length>10){
  331. this.$message({
  332. message: '费用名称1-10个字!',
  333. type: 'warning'
  334. })
  335. return
  336. }
  337. if(!this.amount){
  338. this.$message({
  339. message: '金额不能为空!',
  340. type: 'warning'
  341. })
  342. return
  343. }
  344. if(this.amount<0||this.amount>100000000||(String(this.amount).indexOf('.') != -1 &&
  345. String(this.amount).length -
  346. (String(this.amount).indexOf('.') +1) >
  347. 2)){
  348. this.$message({
  349. message: '金额输入错误!',
  350. type: 'warning'
  351. })
  352. return
  353. }
  354. addinventory({applUrl:this.applUrl,expenseName:this.expenseName,amount:this.amount,warehouseId:this.cangid,warehouseName:this.warehouseName}).toPromise()
  355. .then((response) => {
  356. this.$notify.success({
  357. title: '成功',
  358. message: '添加成功',
  359. })
  360. this.addvisible=false
  361. this.expenseName=''
  362. this.amount=''
  363. this.applUrl=''
  364. this.getList()
  365. })
  366. },
  367. editInventory(){
  368. if(!this.expenseName){
  369. this.$message({
  370. message: '费用名称不能为空!',
  371. type: 'warning'
  372. })
  373. return
  374. }
  375. if(this.expenseName.length<1||this.expenseName.length>10){
  376. this.$message({
  377. message: '费用名称1-10个字!',
  378. type: 'warning'
  379. })
  380. return
  381. }
  382. if(!this.amount){
  383. this.$message({
  384. message: '金额不能为空!',
  385. type: 'warning'
  386. })
  387. return
  388. }
  389. if(this.amount<0||this.amount>100000000){
  390. this.$message({
  391. message: '金额输入错误!',
  392. type: 'warning'
  393. })
  394. return
  395. }
  396. editinventory({id:this.id,applUrl:this.applUrl,expenseName:this.expenseName,amount:this.amount,warehouseId:this.cangid,warehouseName:this.warehouseName}).toPromise()
  397. .then((response) => {
  398. this.$notify.success({
  399. title: '成功',
  400. message: '编辑成功',
  401. })
  402. this.addvisible=false
  403. this.expenseName=''
  404. this.amount=''
  405. this.applUrl=''
  406. this.getList()
  407. })
  408. },
  409. yearChange(){
  410. },
  411. addlist(){
  412. this.addvisible=true
  413. this.dialogtitle='添加费用'
  414. },
  415. editlist(item){
  416. this.addvisible=true
  417. this.dialogtitle='编辑费用'
  418. this.id=item.id
  419. this.applUrl=item.applUrl
  420. this.expenseName=item.expenseName
  421. this.amount=item.amount
  422. },
  423. warehouselocation(){
  424. this.$router.push({ path: 'warehouselocation' })
  425. },
  426. warehouseNameChange(e) {
  427. for(let i = 0 ; i < this.warehouseList1.length; i++){
  428. if(this.warehouseList1[i].value == e){
  429. this.warehouseName = this.warehouseList1[i].value
  430. this.warehouseCount = this.warehouseList1[i].count
  431. this.warehouseNo = this.warehouseList1[i].No
  432. this.cangid = this.warehouseList1[i].id
  433. this.WAREHOUSE[1].payname = this.warehouseList1[i].value
  434. this.purchasePriceList = this.warehouseList1[i].purchasePriceList
  435. }
  436. }
  437. this.getList()
  438. },
  439. edit(item){
  440. this.price=item.cost
  441. this.editvisible=true
  442. this.id=item.id
  443. },
  444. editprice(){
  445. this.$confirm(`加权成本价格修改后不可恢复,确认提交`, {
  446. confirmButtonText: '确定',
  447. cancelButtonText: '取消',
  448. type: 'warning',
  449. })
  450. .then(() => {
  451. editcost({id:this.id,cost:this.price}).toPromise()
  452. .then((response) => {
  453. this.$notify.success({
  454. title: '成功',
  455. message: '价格修改成功',
  456. })
  457. this.editvisible=false
  458. this.getList()
  459. })
  460. })
  461. },
  462. handleClose() {
  463. this.accessoryTFs = false
  464. },
  465. handleSizeChange(val) {
  466. console.log(`每页 ${val} 条`)
  467. this.pageSize = val
  468. this.getList()
  469. },
  470. handleCurrentChange(val) {
  471. this.currentPage = val
  472. console.log(`当前页: ${val}`)
  473. this.getList()
  474. },
  475. selectWarehouse(){
  476. getwarehousebase({
  477. compId: sessionStorage.getItem('ws-pf_compId'),
  478. warehouseType:''
  479. })
  480. .toPromise()
  481. .then((response) => {
  482. this.warehouseList1 = []
  483. for (let i = 0; i < response.length; i++) {
  484. this.warehouseList1.push({
  485. value: response[i].warehouseName,
  486. id: response[i].id,
  487. count: response[i].count,
  488. purchasePriceList: response[i].purchasePriceList,
  489. No:response[i].commonWarehouseNo
  490. })
  491. if (this.cangid&&this.cangid == response[i].id) {
  492. this.warehouseName = response[i].warehouseName
  493. this.warehouseCount = response[i].count
  494. this.warehouseNo = response[i].commonWarehouseNo
  495. this.purchasePriceList = response[i].purchasePriceList
  496. }
  497. }
  498. if(this.warehouseList1.length > 0 && !this.cangid){
  499. this.warehouseName = this.warehouseList1[0].value
  500. this.warehouseCount = this.warehouseList1[0].count
  501. this.warehouseNo = this.warehouseList1[0].No
  502. this.cangid = this.warehouseList1[0].id
  503. this.purchasePriceList = this.warehouseList1[0].purchasePriceList
  504. this.WAREHOUSE[1].payname = this.warehouseList1[0].value
  505. }
  506. this.getList()
  507. })
  508. getwarehousebase({
  509. compId: sessionStorage.getItem('ws-pf_compId'),
  510. warehouseType:2
  511. })
  512. .toPromise()
  513. .then((response) => {
  514. for (let i = 0; i < response.length; i++) {
  515. this.warehouseList1.push({
  516. value: response[i].warehouseName,
  517. id: response[i].id,
  518. count: response[i].count,
  519. purchasePriceList: response[i].purchasePriceList,
  520. No:response[i].commonWarehouseNo
  521. })
  522. if (this.cangid&&this.cangid == response[i].id) {
  523. this.warehouseName = response[i].warehouseName
  524. this.warehouseCount = response[i].count
  525. this.warehouseNo = response[i].commonWarehouseNo
  526. this.purchasePriceList = response[i].purchasePriceList
  527. }
  528. }
  529. })
  530. },
  531. getList() {
  532. getinventory({
  533. compId: sessionStorage.getItem('ws-pf_compId'),
  534. warehouseId: this.cangid,
  535. year: this.year,
  536. currectPage:this.currectPage,
  537. pageSize:this.pageSize
  538. })
  539. .toPromise()
  540. .then((response) => {
  541. this.warehouseList = response
  542. this.deptBudgetTotal=response.total
  543. this.counttotal()
  544. })
  545. },
  546. editClick(row) {
  547. var status = ''
  548. if (row.status == '待执行' || row.status == '已完成') {
  549. status = '执行中'
  550. } else if (row.status == '执行中') {
  551. status = '已完成'
  552. }
  553. //cancelButtonClass: "btn-custom-cancel"
  554. this.$confirm(`是否将状态改为${status}`, {
  555. confirmButtonText: '确定',
  556. cancelButtonText: '取消',
  557. type: 'warning',
  558. })
  559. .then(() => {
  560. editstatus({ id: row.id })
  561. .toPromise()
  562. .then((response) => {
  563. this.$notify.success({
  564. title: '成功',
  565. message: '状态修改成功',
  566. })
  567. this.getList()
  568. })
  569. .catch((response) => {
  570. // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  571. })
  572. })
  573. .catch(() => {
  574. return false
  575. })
  576. },
  577. selecttaskType(e) {
  578. for (var i = 0; i < this.taskTypeList.length; i++) {
  579. if (this.taskTypeList[i].value == e) {
  580. this.searchType = this.taskTypeList[i].type
  581. }
  582. }
  583. },
  584. handleExamine(row) {
  585. this.$router.push({
  586. name: 'salesContractExamine',
  587. query: { id: row.id },
  588. })
  589. },
  590. // 关闭 dialog时 处理文件url 初始化upload组件
  591. handleCloe() {
  592. this.dialogViewSpareMoney = false
  593. },
  594. history(row) {
  595. billoperatehis({ id: row.id })
  596. .toPromise()
  597. .then((response) => {
  598. this.historyList = response
  599. })
  600. },
  601. find() {
  602. this.currentPage = 1
  603. this.getList()
  604. },
  605. async exportlist() {
  606. const { data } = await export1(
  607. {
  608. compId: sessionStorage.getItem('ws-pf_compId'),
  609. contractType: this.contractType,
  610. currentPage: this.currentPage,
  611. pageSize: this.pageSize,
  612. searchType: this.searchType,
  613. searchKeyWord: this.searchKeyWord,
  614. startDate: this.startDate,
  615. endDate: this.endDate,
  616. },
  617. {},
  618. { responseType: 'blob' }
  619. ).toPromise()
  620. downloadFile({
  621. res: data,
  622. fileName: `${
  623. this.date.year + (this.date.month ? `-${this.date.month}` : '')
  624. }_采购合同`,
  625. type: 'xls',
  626. })
  627. },
  628. },
  629. }
  630. </script>
  631. <style lang="scss" scoped>
  632. .connert {
  633. width: 90%;
  634. margin: 0 auto;
  635. }
  636. .bg-left {
  637. padding-left: 30px;
  638. }
  639. .bg-right {
  640. text-align: right;
  641. padding: 16px 20px;
  642. }
  643. .el-icon-arrow-left,.el-icon-arrow-right{
  644. font-size:24px;
  645. }
  646. .vertical-text-left {
  647. width: 62px;
  648. text-align: right;
  649. }
  650. .el-button--primary {
  651. background-color: #5878e8;
  652. border-color: #5878e8;
  653. }
  654. .el-button--default {
  655. color: #8890b1;
  656. border-color: #e8eaf1;
  657. }
  658. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  659. width: 30px;
  660. margin-left: 0;
  661. border-top-left-radius: 0px;
  662. border-bottom-left-radius: 0px;
  663. }
  664. /deep/.findValue .el-input__inner {
  665. border-top-right-radius: 0px;
  666. border-bottom-right-radius: 0px;
  667. }
  668. .completed.el-button--default {
  669. border-color: #5878e8;
  670. background-color: #f6f7fc;
  671. color: #5878e8;
  672. }
  673. .putstorage.el-button--default,
  674. .deliverystorage.el-button--default {
  675. border-color: #8890b1;
  676. background-color: #fff;
  677. color: #8890b1;
  678. }
  679. /deep/.el-table td,
  680. /deep/.el-table th.is-leaf {
  681. border-right: 1px solid #e9ecf7;
  682. text-align: center;
  683. }
  684. /deep/.el-table tr td:first-child,
  685. /deep/.el-table tr th.is-leaf:first-child {
  686. border-left: 1px solid #e9ecf7;
  687. }
  688. /deep/.el-table .el-table__header .cell,
  689. /deep/.el-table .el-table__body .cell {
  690. -webkit-line-clamp: 10;
  691. max-height: 400px;
  692. }
  693. .record,
  694. .adjustment {
  695. display: inline-block;
  696. color: #5878e8;
  697. padding: 0 4px !important;
  698. position: relative;
  699. }
  700. .record:after {
  701. position: absolute;
  702. content: '';
  703. display: block;
  704. top: 5px;
  705. right: -2px;
  706. width: 1px;
  707. height: 12px;
  708. background: #e9ecf7;
  709. }
  710. /deep/.el-radio-button:first-child .el-radio-button__inner {
  711. margin-left: 10px;
  712. }
  713. //分页
  714. .el-pagination {
  715. text-align: center;
  716. white-space: nowrap;
  717. padding: 2px 5px;
  718. color: #303133;
  719. font-weight: 700;
  720. margin-bottom: 20px;
  721. }
  722. .forbidden{
  723. cursor: not-allowed;
  724. }
  725. .avatar-uploader .el-upload {
  726. border: 1px dashed #d9d9d9;
  727. border-radius: 6px;
  728. cursor: pointer;
  729. position: relative;
  730. overflow: hidden;
  731. }
  732. .avatar-uploader .el-upload:hover {
  733. border-color: #409EFF;
  734. }
  735. .avatar-uploader-icon {
  736. font-size: 28px;
  737. color: #8c939d;
  738. width: 178px;
  739. height: 178px;
  740. line-height: 178px;
  741. text-align: center;
  742. }
  743. .avatar {
  744. width: 178px;
  745. height: 178px;
  746. display: block;
  747. }
  748. </style>