warehouseManagementEdit.vue 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  1. //编辑仓库
  2. <template>
  3. <div class="container">
  4. <el-row>
  5. <el-col :span="20">
  6. <h2 class="bg-left title">修改仓库信息</h2>
  7. </el-col>
  8. <el-col :span="4" class="bg-right">
  9. <el-button
  10. class="bg-bottom"
  11. type="primary"
  12. size="small"
  13. @click="returnWarehouse()"
  14. >返回</el-button
  15. >
  16. </el-col>
  17. </el-row>
  18. <div>
  19. <ws-form ref="deptBudgetList" :model="deptBudgetList">
  20. <el-radio-group v-model="warehouseType" @change="warehouseTypechange">
  21. <el-radio label="1">常用仓库</el-radio>
  22. <el-radio label="2">临时仓库</el-radio>
  23. </el-radio-group>
  24. <div class="small-title">基本信息</div>
  25. <!--基本信息-->
  26. <ws-info-table>
  27. <!--仓库名称-->
  28. <ws-form-item
  29. label="仓库名称"
  30. span="1"
  31. prop="warehouseName"
  32. class="readonly"
  33. >
  34. <ws-select
  35. v-model="deptBudgetList.warehouseName"
  36. placeholder=""
  37. class="typeselect"
  38. @change="selectpackingMethod"
  39. >
  40. <ws-option
  41. v-for="item in packtypeList"
  42. :key="item.constKey"
  43. :label="item.warehouseName"
  44. :value="item.warehouseName"
  45. />
  46. </ws-select>
  47. </ws-form-item>
  48. <!--负责人-->
  49. <ws-form-item label="负责人" span="1" prop="personCharge">
  50. <el-select
  51. v-model="deptBudgetList.personCharge"
  52. placeholder="请选择负责人"
  53. filterable
  54. :filter-method="dataFilter"
  55. @change="selectstaff"
  56. >
  57. <el-option
  58. v-for="item in options"
  59. :key="item.value"
  60. :label="item.staffName"
  61. :value="item.staffName"
  62. />
  63. </el-select>
  64. </ws-form-item>
  65. <!--负责人电话-->
  66. <ws-form-item
  67. label="负责人电话"
  68. span="1"
  69. prop="personPhone"
  70. class="readonly"
  71. >
  72. <ws-input
  73. :readonly="true"
  74. v-model="deptBudgetList.personPhone"
  75. placeholder="请输入负责人电话"
  76. maxlength="100"
  77. size="small"
  78. />
  79. </ws-form-item>
  80. <!--其他负责人-->
  81. <ws-form-item label="其他负责人" v-if="warehouseType == 1" span="1" prop="otherPersonCharge">
  82. <el-select
  83. v-model="deptBudgetList.otherPersonCharge"
  84. placeholder="请选择其他负责人"
  85. multiple
  86. >
  87. <el-option
  88. v-for="item in options"
  89. :key="item.value"
  90. :label="item.staffName"
  91. :value="item.staffName"
  92. />
  93. </el-select>
  94. </ws-form-item>
  95. <!--仓库所在地-->
  96. <ws-form-item label="仓库所在地" span="1" prop="warehouseCity">
  97. <el-cascader
  98. :options="options_"
  99. v-model="selectedOptions"
  100. clearable
  101. size="large"
  102. placeholder="请输入仓库所在地"
  103. style="width: 200%"
  104. @change="handleChange"
  105. />
  106. </ws-form-item>
  107. <!--详细地址-->
  108. <ws-form-item
  109. label="详细地址"
  110. span="1"
  111. prop="detailedAddress"
  112. class="readonly"
  113. >
  114. <ws-input
  115. v-model="deptBudgetList.detailedAddress"
  116. placeholder="请输入详细地址"
  117. maxlength="100"
  118. size="small"
  119. />
  120. </ws-form-item>
  121. <!--总储量(吨)-->
  122. <ws-form-item
  123. v-if="warehouseType == 1"
  124. label="总储量(吨)"
  125. span="1"
  126. prop="totalStorage"
  127. >
  128. {{ totalStorage }}
  129. </ws-form-item>
  130. </ws-info-table>
  131. <div v-for="(item, index) in deptBudgetList.warehousePositionInfoList">
  132. <ws-info-table>
  133. <!--仓位编号-->
  134. <ws-form-item label="仓位编号" span="1" prop="binNumber">
  135. <ws-input
  136. v-model.number="item.binNumber"
  137. placeholder="请输入仓位编号"
  138. maxlength="100"
  139. size="small"
  140. />
  141. </ws-form-item>
  142. <!--仓位储量(吨)-->
  143. <ws-form-item label="仓位储量(吨)" span="1" prop="maxStorage">
  144. <ws-input
  145. v-model="item.maxStorage"
  146. placeholder="请输入仓位储量(吨)"
  147. maxlength="20"
  148. size="small"
  149. />
  150. </ws-form-item>
  151. <!--备注(选填)-->
  152. <ws-form-item label="备注(选填)" span="1" prop=" remark">
  153. <ws-input
  154. v-model="item.remark"
  155. placeholder="请输入备注"
  156. maxlength="100"
  157. size="small"
  158. />
  159. </ws-form-item>
  160. <img
  161. width="22"
  162. height="22"
  163. class="add"
  164. @click="add"
  165. src="../../../public/img/add.png"
  166. alt=""
  167. />
  168. <img
  169. width="22"
  170. height="22"
  171. class="del"
  172. @click="del(index, item)"
  173. src="../../../public/img/del.png"
  174. alt=""
  175. />
  176. </ws-info-table>
  177. </div>
  178. </ws-form>
  179. <ws-form ref="deptBudgetList" :model="deptBudgetList">
  180. <div v-if="warehouseType == 1" class="small-title">上传仓库照片</div>
  181. <el-upload
  182. action="https://www.zthymaoyi.com/upload/admin"
  183. :show-file-list="false"
  184. :on-success="
  185. (res, file) => {
  186. uploadSuccessHandle(res)
  187. }
  188. "
  189. :on-remove="
  190. (value) => {
  191. handleRemove(value)
  192. }
  193. "
  194. class="avatar-uploader"
  195. accept=".jpg, .jpeg, .png, .gif"
  196. >
  197. <el-button v-if="warehouseType == 1">上传附件</el-button>
  198. </el-upload>
  199. <div class="addressUrls" v-if="addressUrls != null">
  200. <div class='addressUrls-item'>
  201. <div v-for="(item , index) in addressUrls" class="addressUrl" :key="index">
  202. <div @click='close(index)' class="iconfont icon-guanbi"></div>
  203. <img
  204. v-if="addressUrls != null"
  205. width="100"
  206. height="100"
  207. :src="item"
  208. alt=""
  209. />
  210. </div>
  211. </div>
  212. </div>
  213. <div class="small-title">仓库定位</div>
  214. <map-drag
  215. @marker="marker"
  216. @selectedAddress="selectedAddress"
  217. ></map-drag>
  218. </ws-form>
  219. <!-- <ws-button @click="exportlist()"></ws-button> -->
  220. </div>
  221. <div style="text-align: right; padding: 10px">
  222. <el-button
  223. class="bg-bottom-up"
  224. type="primary"
  225. size="small"
  226. @click="submit()"
  227. >修改</el-button
  228. >
  229. </div>
  230. </div>
  231. </template>
  232. <script>
  233. import { getFileList, saveFiles } from '@/model/upload'
  234. import {
  235. xiala,
  236. billoperatehis,
  237. getLook,
  238. edit,
  239. delPosition,
  240. getstaff,
  241. } from '@/model/warehouse/index'
  242. import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
  243. import { downloadFile } from '@/utils/batchDown'
  244. import Pagination from '@/components/Pagination'
  245. import WsUpload from '@/components/WsUpload'
  246. import mapDrag from '@/components/mapdrag/mapdrag'
  247. import { dayjs, fmoney, EventBus } from 'base-core-lib'
  248. export default {
  249. name: 'viewSpareMoney',
  250. components: {
  251. WsUpload,
  252. Pagination,
  253. mapDrag,
  254. },
  255. watch: {
  256. vesselId(val) {
  257. this.getList()
  258. },
  259. isShow(val) {
  260. this.showType = val
  261. },
  262. },
  263. data() {
  264. return {
  265. fileList: [],
  266. //弹出框
  267. dialogViewSpareMoney: false,
  268. dialogApproveFormVisible: false,
  269. // 船舶类型
  270. monetaryKey: null,
  271. // 表格显示数据
  272. tableDate: [],
  273. // 是否显示
  274. showType: true,
  275. // 年
  276. year: '',
  277. deptBudgetTotal: 0,
  278. currentPage: 1,
  279. pageSize: 10,
  280. searchType: 1,
  281. searchKeyWord: '',
  282. contractType: 2,
  283. startDate: null,
  284. endDate: null,
  285. warehouseType: '1',
  286. unitList: [],
  287. baseId: '',
  288. // 提交类型
  289. submitType: true,
  290. size: 10,
  291. options_: regionData,
  292. selectedOptions: [],
  293. compId: sessionStorage.getItem('ws-pf_compId'),
  294. deptCircularPage: {},
  295. packtypeList: [],
  296. date: {
  297. year: dayjs().format('YYYY'),
  298. month: dayjs().format('MM'),
  299. },
  300. staffList: [],
  301. contractList: [],
  302. deptBudgetList: {},
  303. historyList: [],
  304. appendixIdsAdd: '',
  305. pickerBeginDateBefore: {
  306. disabledDate: (time) => {
  307. return time.getTime() > Date.now()
  308. },
  309. },
  310. options: [],
  311. value: '',
  312. accessoryTFs: false,
  313. addressUrls: [],
  314. }
  315. },
  316. activated() {
  317. this.loaddata()
  318. getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
  319. .toPromise()
  320. .then((response) => {
  321. this.options = response
  322. this.staffList = response
  323. })
  324. this.showType = this.isShow
  325. },
  326. computed: {
  327. totalStorage: function () {
  328. var sum = 0
  329. if (this.deptBudgetList.warehousePositionInfoList) {
  330. for (
  331. var i = 0;
  332. i < this.deptBudgetList.warehousePositionInfoList.length;
  333. i++
  334. ) {
  335. sum += Number(
  336. this.deptBudgetList.warehousePositionInfoList[i].maxStorage
  337. )
  338. }
  339. }
  340. return sum
  341. },
  342. },
  343. methods: {
  344. close(index){
  345. this.addressUrls.splice(index,1)
  346. },
  347. dataFilter(val) {
  348. this.deptBudgetList.personCharge = val
  349. if (val) {
  350. //val存在
  351. this.options = this.staffList.filter((item) => {
  352. if (
  353. !!~item.staffName.indexOf(val) ||
  354. !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
  355. ) {
  356. return true
  357. }
  358. })
  359. } else {
  360. //val为空时,还原数组
  361. this.options = this.staffList
  362. }
  363. },
  364. selectstaff(e) {
  365. for (var i = 0; i < this.staffList.length; i++) {
  366. if (this.staffList[i].staffName == e) {
  367. this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
  368. this.deptBudgetList.personChargeKey = this.staffList[i].staffId
  369. }
  370. }
  371. },
  372. //返回按钮
  373. returnWarehouse() {
  374. this.addressUrls = []
  375. this.deptBudgetList = {}
  376. this.selectedOptions = []
  377. this.$router.push({ path: 'warehouseManagementList' })
  378. },
  379. handleChange(value) {
  380. this.selectedOptions = value
  381. },
  382. warehouseTypechange() {
  383. this.addressUrls = []
  384. this.deptBudgetList = {}
  385. this.selectedOptions = []
  386. this.loaddata()
  387. },
  388. marker: function (item) {
  389. this.deptBudgetList.warehousePositioning =
  390. item.lnglat.lat + ',' + item.lnglat.lng
  391. },
  392. selectedAddress(e) {
  393. this.deptBudgetList.warehousePositioning =
  394. e.center.lat + ',' + e.center.lng
  395. },
  396. uploadSuccess(data, files, url) {
  397. this.fileList = files
  398. console.log('uploadSuccess ', data, files, url)
  399. },
  400. onChange(files) {
  401. this.fileNum = files
  402. this.$refs.upload.handleSaveBill().then((res) => {
  403. console.log(files)
  404. })
  405. },
  406. handleClose() {
  407. this.accessoryTFs = false
  408. },
  409. handleSizeChange(val) {
  410. console.log(`每页 ${val} 条`)
  411. this.pageSize = val
  412. this.getList()
  413. },
  414. handleCurrentChange(val) {
  415. this.currentPage = val
  416. console.log(`当前页: ${val}`)
  417. this.getList()
  418. },
  419. selectpackingMethod(e) {
  420. for (var i = 0; i < this.packtypeList.length; i++) {
  421. if (this.packtypeList[i].warehouseName == e) {
  422. this.baseId = this.packtypeList[i].id
  423. this.getLook(this.packtypeList[i].id)
  424. }
  425. }
  426. },
  427. add() {
  428. this.deptBudgetList.warehousePositionInfoList.push({
  429. binNumber: '',
  430. maxStorage: '',
  431. remark: '',
  432. })
  433. },
  434. del(index, item) {
  435. if (item.nowStorage > 0) {
  436. this.$message.warning('尚有剩余库存,不可删除')
  437. } else {
  438. this.$confirm(`此操作将永久删除该仓位的全部信息,是否确定删除`, {
  439. confirmButtonText: '确定',
  440. cancelButtonText: '取消',
  441. type: 'warning',
  442. })
  443. .then(() => {
  444. if (item.id) {
  445. delPosition({ id: item.id })
  446. .toPromise()
  447. .then((response) => {
  448. this.$message.success('删除成功')
  449. })
  450. .catch((response) => {
  451. EventBus.$emit(
  452. 'error',
  453. this.$t('showMessage.asteriskRequired')
  454. )
  455. })
  456. }
  457. if (this.deptBudgetList.warehousePositionInfoList.length > 1) {
  458. this.deptBudgetList.warehousePositionInfoList.splice(index, 1)
  459. }
  460. })
  461. .catch(() => {
  462. return false
  463. })
  464. }
  465. },
  466. loaddata() {
  467. // 仓库名称
  468. xiala({
  469. compId: sessionStorage.getItem('ws-pf_compId'),
  470. warehouseType: this.warehouseType,
  471. })
  472. .toPromise()
  473. .then((response) => {
  474. this.packtypeList = response
  475. })
  476. },
  477. getUnitList() {
  478. xiala({
  479. compId: sessionStorage.getItem('ws-pf_compId'),
  480. constCode: 'TYPEYAN',
  481. })
  482. .toPromise()
  483. .then((response) => {
  484. this.unitList = response
  485. let currItem
  486. this.unitList.forEach((item, index, arr) => {
  487. item.flag = 'delete'
  488. if (this.vModel == item.constKey) {
  489. currItem = item
  490. this.getLook(currItem.compId)
  491. }
  492. })
  493. //
  494. if (currItem) {
  495. this.getLook(currItem.compId)
  496. }
  497. })
  498. },
  499. getLook(compId1) {
  500. getLook({
  501. id: compId1,
  502. })
  503. .toPromise()
  504. .then((response) => {
  505. var tmp = []
  506. tmp[0] = TextToCode[response.warehousePrivate].code
  507. tmp[1] =
  508. TextToCode[response.warehousePrivate][response.warehouseCity].code
  509. tmp[2] =
  510. TextToCode[response.warehousePrivate][response.warehouseCity][
  511. response.warehouseArea
  512. ].code
  513. this.selectedOptions = tmp
  514. this.deptBudgetList = response
  515. // if(this.deptBudgetList.addressUrl){
  516. // this.fileList = this._getFileList(this.deptBudgetList.addressUrl)
  517. // }
  518. this.addressUrls = this.deptBudgetList.addressUrl.split(',')
  519. this.deptBudgetList.otherPersonCharge=this.deptBudgetList.otherPersonCharge.split(',')
  520. this.addressUrls.pop()
  521. })
  522. },
  523. // 传入appendixIds 从服务器获取文件列表信息
  524. _getFileList(appendixIds) {
  525. return new Promise(async (next) => {
  526. try {
  527. next((await getFileList({ appendixIds }).toPromise()) || [])
  528. } catch (error) {
  529. next()
  530. }
  531. })
  532. },
  533. uploadSuccessHandle(e) {
  534. this.deptBudgetList.addressUrl += e.url + ','
  535. this.addressUrls.push(e.url)
  536. },
  537. //提交
  538. submit() {
  539. if (!this.deptBudgetList.warehouseName) {
  540. this.$message({
  541. message: '仓库名称不能为空!',
  542. type: 'warning',
  543. })
  544. return
  545. }
  546. if (
  547. this.deptBudgetList.warehouseName.length < 2 ||
  548. this.deptBudgetList.warehouseName.length > 20
  549. ) {
  550. this.$message({
  551. message: '仓库名长度不符合要求!',
  552. type: 'warning',
  553. })
  554. return
  555. }
  556. if (!this.deptBudgetList.personCharge) {
  557. this.$message({
  558. message: '负责人不能为空!',
  559. type: 'warning',
  560. })
  561. return
  562. }
  563. if (
  564. this.deptBudgetList.personCharge.length < 2 ||
  565. this.deptBudgetList.personCharge.length > 10
  566. ) {
  567. this.$message({
  568. message: '负责人长度不符合要求,请控制在2-10字符之内',
  569. type: 'warning',
  570. })
  571. return
  572. }
  573. if (!this.deptBudgetList.personPhone) {
  574. this.$message({
  575. message: '负责人电话不能为空!',
  576. type: 'warning',
  577. })
  578. return
  579. }
  580. if (this.deptBudgetList.personPhone.length != 11) {
  581. this.$message({
  582. message: '手机号输入有误!',
  583. type: 'warning',
  584. })
  585. return
  586. }
  587. if (!this.deptBudgetList.detailedAddress) {
  588. this.$message({
  589. message: '详细地址不能为空!',
  590. type: 'warning',
  591. })
  592. return
  593. }
  594. if (this.warehouseType == 1) {
  595. if (this.totalStorage <= 0) {
  596. this.$message({
  597. message: '仓位储量不能为空!',
  598. type: 'warning',
  599. })
  600. return
  601. }
  602. }
  603. if (
  604. this.deptBudgetList.detailedAddress.length < 2 ||
  605. this.deptBudgetList.detailedAddress.length > 20
  606. ) {
  607. this.$message({
  608. message: '详细地址长度不符合要求,请控制在2-20字符之内',
  609. type: 'warning',
  610. })
  611. return
  612. }
  613. for (
  614. var i = 0;
  615. i < this.deptBudgetList.warehousePositionInfoList.length;
  616. i++
  617. ) {
  618. for (
  619. var j = i + 1;
  620. j < this.deptBudgetList.warehousePositionInfoList.length;
  621. j++
  622. ) {
  623. console.log(
  624. this.deptBudgetList.warehousePositionInfoList[i].binNumber,
  625. this.deptBudgetList.warehousePositionInfoList[j].binNumber
  626. )
  627. if (
  628. this.deptBudgetList.warehousePositionInfoList[i].binNumber ==
  629. this.deptBudgetList.warehousePositionInfoList[j].binNumber
  630. ) {
  631. this.$message({
  632. message: '仓位编号重复',
  633. type: 'warning',
  634. })
  635. return
  636. }
  637. }
  638. }
  639. this.$refs.deptBudgetList.validate((valid) => {
  640. if (valid) {
  641. this.deptBudgetList.warehousePrivate =
  642. CodeToText[this.selectedOptions[0]]
  643. this.deptBudgetList.warehouseCity =
  644. CodeToText[this.selectedOptions[1]]
  645. this.deptBudgetList.warehouseArea =
  646. CodeToText[this.selectedOptions[2]]
  647. this.deptBudgetList.warehouseType = this.warehouseType
  648. this.deptBudgetList.baseId = this.baseId
  649. this.deptBudgetList.compId = this.compId
  650. this.deptBudgetList.contractType = 1
  651. this.deptBudgetList.otherPersonCharge=this.deptBudgetList.otherPersonCharge.toString()
  652. edit(this.deptBudgetList)
  653. .toPromise()
  654. .then((response) => {
  655. this.$message.success('编辑成功')
  656. this.deptBudgetList = {}
  657. this.warehouseType = '1'
  658. this.$router.push({ path: 'warehouseManagementList' })
  659. })
  660. } else {
  661. //EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  662. return false
  663. }
  664. })
  665. new Promise((resolve, reject) => {
  666. const newAppendixs = this.fileList
  667. const params = { newAppendixs }
  668. saveFiles(params)
  669. .toPromise()
  670. .then((res) => {
  671. resolve(res.join())
  672. })
  673. .catch((err) => {
  674. EventBus.$emit('error', this.$t('showMessage.saveFilesError'))
  675. reject()
  676. })
  677. })
  678. },
  679. // 关闭 dialog时 处理文件url 初始化upload组件
  680. handleCloe() {
  681. this.dialogViewSpareMoney = false
  682. },
  683. history(row) {
  684. console.log(row)
  685. billoperatehis({ id: row.id })
  686. .toPromise()
  687. .then((response) => {
  688. this.historyList = response
  689. })
  690. },
  691. //删除
  692. approve() {},
  693. listQuery() {},
  694. total() {},
  695. clearfiltQuery() {},
  696. selectCrtDuty() {},
  697. },
  698. }
  699. </script>
  700. <style lang="scss" scoped>
  701. /deep/.totalStorage .el-input__inner {
  702. color: #afb5cb;
  703. background: #f5f7fa;
  704. }
  705. .small-title {
  706. position: relative;
  707. padding: 10px;
  708. font-weight: 600;
  709. }
  710. .small-title::before {
  711. position: absolute;
  712. content: '';
  713. display: block;
  714. background: #5473e8;
  715. width: 4px;
  716. height: 14px;
  717. left: 0px;
  718. top: 13px;
  719. }
  720. .position {
  721. position: relative;
  722. }
  723. .add,
  724. .del {
  725. position: absolute;
  726. right: -38px;
  727. top: 9px;
  728. cursor: pointer;
  729. }
  730. .del {
  731. right: -70px;
  732. }
  733. .amap-page-container {
  734. width: 300px;
  735. height: 300px;
  736. }
  737. .el-form {
  738. padding: 0 15%;
  739. }
  740. /deep/.ws-info-table .el-form-item {
  741. border-right: 1px solid transparent;
  742. border-bottom: 1px solid transparent;
  743. }
  744. .readonly {
  745. position: relative;
  746. }
  747. .readonly:after {
  748. content: '*';
  749. color: #ff2727;
  750. position: absolute;
  751. right: 8px;
  752. z-index: 10;
  753. top: 21%;
  754. font-size: 20px;
  755. }
  756. .title {
  757. position: relative;
  758. }
  759. .title::before {
  760. content: '';
  761. display: inline-block;
  762. width: 5px;
  763. height: 30px;
  764. background: #5473e8;
  765. position: absolute;
  766. left: 0;
  767. }
  768. .ws-info-table {
  769. border-left: 1px solid transparent;
  770. border-top: 1px solid transparent;
  771. }
  772. .el-button--primary {
  773. background-color: #5878e8;
  774. border-color: #5878e8;
  775. }
  776. .el-col {
  777. background: #f6f7fc;
  778. }
  779. /deep/.ws-info-table .el-form-item .el-form-item__content {
  780. padding: 0 25px;
  781. border-left: 1px solid transparent;
  782. background: #fff;
  783. }
  784. /deep/.ws-info-table .el-form-item .el-form-item__label {
  785. width: 100px;
  786. text-align: center;
  787. background: #fff;
  788. // border: 1px solid #cdd2dc;
  789. }
  790. .button-container {
  791. display: flex;
  792. flex-wrap: nowrap;
  793. justify-content: space-between;
  794. align-items: center;
  795. background-color: #fff;
  796. width: 100%;
  797. height: 50px;
  798. padding: 0 10px;
  799. & > div {
  800. margin-left: 10px;
  801. display: flex;
  802. flex-wrap: nowrap;
  803. flex-direction: row;
  804. & > span {
  805. line-height: 50px;
  806. }
  807. }
  808. /deep/.auditFlow-box {
  809. position: unset;
  810. margin-left: 10px;
  811. &/deep/.auditFlow-icon {
  812. width: auto;
  813. padding-right: 30px;
  814. }
  815. &/deep/.auditFlow-main {
  816. position: absolute;
  817. }
  818. }
  819. }
  820. .box-app {
  821. display: inline-block;
  822. float: left;
  823. margin-left: 30px;
  824. line-height: 50px;
  825. }
  826. /deep/.el-dialog {
  827. .el-form-item {
  828. margin-bottom: 0 !important;
  829. .el-input--medium {
  830. textarea {
  831. min-height: 100px !important;
  832. }
  833. }
  834. }
  835. }
  836. .collapse-bottom {
  837. margin-bottom: 20px;
  838. }
  839. .input-main .textarea .el-textarea__inner {
  840. width: 100%;
  841. z-index: 1;
  842. }
  843. .bg-left {
  844. padding-left: 30px;
  845. }
  846. .bg-right {
  847. padding-right: 10px;
  848. text-align: right;
  849. }
  850. .bg-bottom {
  851. margin: 15px 0px;
  852. }
  853. .wenzi {
  854. width: 900px;
  855. margin: 0 auto;
  856. }
  857. .wenzi h3 {
  858. display: inline-block;
  859. left: 10px;
  860. }
  861. .wenzi p {
  862. display: inline-block;
  863. }
  864. .center {
  865. width: 900px;
  866. margin: 0 auto;
  867. }
  868. .el-form-item {
  869. width: 50%;
  870. }
  871. .el-form-item__label {
  872. text-align: center;
  873. }
  874. .ce {
  875. width: 900px;
  876. margin: 0 auto;
  877. }
  878. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  879. /* height: 82px;*/
  880. /*}*/
  881. // 控制select为只读的时候显示样式
  882. .hide-sel {
  883. .el-input__inner {
  884. border: 0px;
  885. }
  886. .el-icon-arrow-up {
  887. display: none;
  888. }
  889. .el-textarea__inner {
  890. background-color: #fff !important;
  891. border: 0;
  892. }
  893. .el-date-editor {
  894. i {
  895. display: none;
  896. }
  897. }
  898. .is-disabled {
  899. .el-input__inner:hover {
  900. background-color: #fff !important;
  901. border: 0;
  902. }
  903. color: #606266;
  904. .el-input__inner {
  905. background-color: #fff !important;
  906. border: 0;
  907. color: #606266;
  908. }
  909. .el-textarea__inner {
  910. background-color: #fff !important;
  911. border: 0;
  912. color: #606266;
  913. }
  914. }
  915. }
  916. // 控制select为只读的时候显示样式
  917. /deep/.ws-class-table-col {
  918. height: auto;
  919. padding: 0px 2px;
  920. /deep/.el-input__inner {
  921. padding: 0px 2px;
  922. }
  923. }
  924. /deep/.is-disabled {
  925. .el-input__prefix,
  926. .el-input__suffix {
  927. display: none;
  928. }
  929. .el-input__inner {
  930. background-color: #fff;
  931. border-color: #fff !important;
  932. color: #000 !important;
  933. font-size: 14px;
  934. cursor: text;
  935. padding: 0 !important;
  936. }
  937. }
  938. .winseaview-view {
  939. padding: 0 0 20px;
  940. }
  941. .container {
  942. overflow: scroll;
  943. height: 93vh;
  944. }
  945. .ws-info-table .el-form-item {
  946. width: 33.3333%;
  947. }
  948. .readonly:after {
  949. display: none;
  950. }
  951. .el-textarea__inner {
  952. display: none;
  953. }
  954. .el-form {
  955. margin-top: 50px;
  956. }
  957. .readonly {
  958. width: 16%;
  959. }
  960. .ws-info-table .el-form-item {
  961. width: 33.33%;
  962. }
  963. //去边框
  964. /deep/.el-form-item {
  965. border-right: 0px;
  966. border-bottom: 0px;
  967. }
  968. /deep/.ws-info-table {
  969. border-left: 0px;
  970. border-top: 0px;
  971. }
  972. .ws-info-table .el-form-item .el-form-item__content {
  973. border-right: 0px;
  974. border-bottom: 0px;
  975. border-left: 0px;
  976. border-top: 0px;
  977. }
  978. /deep/.ws-info-table .el-form-item {
  979. border-right: 0px;
  980. border-bottom: 0px;
  981. border-left: 0px;
  982. border-top: 0px;
  983. }
  984. /deep/.ws-info-table .el-form-item .el-form-item__content {
  985. background: #f5f7fa;
  986. border-radius: 4px;
  987. border: 1px solid #d8dce6;
  988. font-family: PingFangSC-Regular, PingFang SC;
  989. margin-bottom: 5px;
  990. background-color: #fff;
  991. font-size: 14px;
  992. font-weight: 400;
  993. color: #8890b1;
  994. line-height: 16px;
  995. }
  996. /deep/.ws-info-table .el-form-item .el-form-item__label {
  997. background-color: #fff;
  998. font-size: 14px;
  999. font-family: PingFangSC-Regular, PingFang SC;
  1000. font-weight: 400;
  1001. color: #8890b1;
  1002. line-height: 16px;
  1003. }
  1004. /deep/.ws-info-table .el-form-item .el-form-item__content {
  1005. border: 0px;
  1006. }
  1007. .addressUrls {
  1008. width: 100%;
  1009. display: flex;
  1010. margin-top: 10px;
  1011. }
  1012. .addressUrl {
  1013. margin: 0 10px;
  1014. border-radius: 3px;
  1015. }
  1016. .addressUrls-item{
  1017. position:relative;
  1018. }
  1019. .icon-guanbi{
  1020. position:absolute;
  1021. right:0;
  1022. }
  1023. </style>