warehouseManagementEdit.vue 27 KB

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