detailsPage.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. <template>
  2. <div>
  3. <div class="borderless">
  4. <div class="customer-head">
  5. <div class="customer-back">
  6. <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
  7. @click="backToList">返回列表
  8. </el-button>
  9. </div>
  10. <div class="add-customer-btn">
  11. <!--<el-button type="info" icon="el-icon-printer" size="small" @click.stop="openReport()">报表打印-->
  12. <!--</el-button>-->
  13. <el-button v-if="form.dispatchingWorkers == 2" type="warning" size="small" :disabled="option.dispatchWorkers == 2" @click="editCustomer(2)">
  14. 撤销派工
  15. </el-button>
  16. <el-button v-if="form.dispatchingWorkers == 1" type="warning" size="small" :disabled="option.disabled" @click="editCustomer(1)">
  17. 派工
  18. </el-button>
  19. <el-button type="primary" size="small"
  20. class="el-button--small-yh" :disabled="!option.disabled" @click.stop="openEdit">编辑
  21. </el-button>
  22. <el-button type="primary" size="small" :disabled="option.disabled" @click="editCustomer(0)">
  23. 保存数据
  24. </el-button>
  25. </div>
  26. </div>
  27. <trade-card title="基础资料" style="margin-top: 60px" v-loading="loadingBtn">
  28. <avue-form ref="form" class="trading-form" v-model="form" :option="option">
  29. <!--<template slot="corpName">-->
  30. <!-- &lt;!&ndash;<crop-select v-model="form.corpId" corpType="KH" :disabled="option.disabled"&ndash;&gt;-->
  31. <!-- &lt;!&ndash; @getCorpData="getCorpData"></crop-select>&ndash;&gt;-->
  32. <!-- -->
  33. <!--</template>-->
  34. <template slot="deviceName">
  35. <el-select v-model="form.deviceName" clearable
  36. @change='deviceNameChange' :disabled="option.disabled" filterable placeholder="请选择设备">
  37. <el-option
  38. v-for="item in deviceList"
  39. :key="item.cname"
  40. :label="item.cname"
  41. :value="item.cname">
  42. </el-option>
  43. </el-select>
  44. </template>
  45. <template slot="maintenanceWorkerId">
  46. <el-select v-model="form.maintenanceWorkerId" clearable
  47. @change='maintenanceWorkerIdChange' :disabled="option.disabled" filterable placeholder="请选择维修工">
  48. <el-option
  49. v-for="item in maintenanceWorkersList"
  50. :key="item.id"
  51. :label="item.realName"
  52. :value="item.id">
  53. </el-option>
  54. </el-select>
  55. </template>
  56. <template slot="maintenanceAmount">
  57. <el-input v-model="form.maintenanceAmount" type="number" disabled
  58. placeholder="请输入" size="small" :controls="false" style="width:100%;"></el-input>
  59. </template>
  60. </avue-form>
  61. </trade-card>
  62. <trade-card title="维修项目" v-loading="loadingBtn">
  63. <avue-crud ref="crud" :option="optionList" :data="data" :table-loading="loading" @saveColumn="saveColumn"
  64. @resetColumn="resetColumn" :cell-style="cellStyle">
  65. <template slot="headerSerial">
  66. <el-button type="primary" icon="el-icon-plus" size="mini" @click.stop="addRow"
  67. :disabled="option.disabled" circle></el-button>
  68. </template>
  69. <template slot="costName" slot-scope="{ row, index }">
  70. <el-input v-if="row.$cellEdit" v-model="row.costName"
  71. placeholder="请输入" size="small" :controls="false" style="width:100%;"></el-input>
  72. <span v-else>{{ row.costName }}</span>
  73. </template>
  74. <template slot="amount" slot-scope="{ row, index }">
  75. <el-input v-if="row.$cellEdit" v-model="row.amount"
  76. placeholder="请输入" size="small" :controls="false" style="width:100%;"
  77. @blur="amountblur">
  78. </el-input>
  79. <span v-else>{{ row.amount }}</span>
  80. </template>
  81. <template slot="remarks" slot-scope="{ row, index }">
  82. <el-input v-if="row.$cellEdit" v-model="row.remarks"
  83. placeholder="请输入" size="small" :controls="false" style="width:100%;"></el-input>
  84. <span v-else>{{ row.remarks }}</span>
  85. </template>
  86. <template slot="menu" slot-scope="{ row, index }">
  87. <el-button size="small" type="text" :disabled="option.disabled" @click="rowCell(row, index)">{{
  88. row.$cellEdit ? "保存" : "修改"
  89. }}</el-button>
  90. <el-button size="small" type="text" :disabled="option.disabled" @click="rowDel(row, index)">删除
  91. </el-button>
  92. </template>
  93. </avue-crud>
  94. </trade-card>
  95. <containerTitle title="上传附件 (图片文件像素推荐700X700)"></containerTitle>
  96. <c-upload v-loading="loadingBtn" typeUpload="CD"
  97. deleteUrl="/api/blade-sales-part/maintenanceFiles/remove" :data="maintenanceFiles" display
  98. :enumerationValue="35.1"></c-upload>
  99. <dictbiz-dialog ref="dictbiz" title="添加单位" code="unit" parentId="1585962784498225154" @closed="getAllWorkDicts">
  100. </dictbiz-dialog>
  101. </div>
  102. </div>
  103. </template>
  104. <script>
  105. import { optionList } from "./js/optionList";
  106. import reportDialog from "@/components/report-dialog/main";
  107. import { multiply, sum, subtract } from "@/util/calculate";
  108. import {getList as yhgetList, userList} from "@/api/system/user";
  109. import {
  110. maintenanceDetail,
  111. maintenanceDispatchingWorkers,
  112. maintenanceFeesRemove, maintenanceRevokeDispatchingWorkers,
  113. maintenanceSubmit
  114. } from "@/api/basicData/maintenanceQ";
  115. import {
  116. bladeUserList,
  117. corpequipmentarchivesitemList,
  118. corpequipmentarchivesList,
  119. } from "@/api/basicData/EquipmentArchives";
  120. import {date} from "mockjs/src/mock/random/date";
  121. export default {
  122. name: "index",
  123. data() {
  124. return {
  125. // 设备list
  126. deviceList: [],
  127. // 维修工list
  128. maintenanceWorkersList: [],
  129. loadingBtn: false,
  130. addressTitle: null,
  131. form: {},
  132. form2: {
  133. },
  134. form3: {
  135. },
  136. data: [],
  137. option: {
  138. menuBtn: false,
  139. labelWidth: 90,
  140. disabled: false,
  141. dispatchWorkers: false,
  142. column: [
  143. {
  144. label: "客户名称",
  145. prop: "corpName",
  146. type: "select",
  147. filterable:true,
  148. dicData:[],
  149. props: {
  150. label: 'corpName',
  151. value: 'corpName'
  152. },
  153. // rules: [
  154. // {
  155. // required: true,
  156. // message: "",
  157. // trigger: "blur"
  158. // }
  159. // ],
  160. change: (val) => {
  161. if(val.value == '') return
  162. for(let item of val.column.dicData) {
  163. if (val.value == item.corpName){
  164. // this.form.corpName = item.corpName
  165. this.form.archivesId = item.id
  166. this.form.corpId = item.corpId
  167. this.form.corpTel = item.contactsTel
  168. this.form.deviceAddress = item.address
  169. this.form.corpDescribe = item.corpName
  170. // 设备名称
  171. corpequipmentarchivesitemList({pid:item.id}).then(res=>{
  172. this.findObject(this.option.column, "deviceName").dicData = res.data.data.records
  173. this.deviceList = res.data.data.records
  174. })
  175. break;
  176. }
  177. }
  178. },
  179. span: 8,
  180. },
  181. {
  182. label: "客户电话",
  183. prop: "corpTel",
  184. span: 8,
  185. rules: [
  186. {
  187. required: true,
  188. message: "",
  189. trigger: "blur"
  190. }
  191. ],
  192. },
  193. {
  194. label: "单号",
  195. prop: "sysNo",
  196. disabled:true,
  197. span: 8,
  198. },
  199. {
  200. label: "地址",
  201. prop: "deviceAddress",
  202. span: 24,
  203. rules: [
  204. {
  205. required: true,
  206. message: "",
  207. trigger: "blur"
  208. }
  209. ],
  210. },
  211. {
  212. label: "设备名称",
  213. prop: "deviceName",
  214. dicData:[],
  215. dataType: "string",
  216. type: "select",
  217. props: {
  218. label: 'cname',
  219. value: 'cname'
  220. },
  221. span: 8,
  222. change: (val) => {
  223. val.column.dicData.map(item=>{
  224. if (val.value == item.cname){
  225. this.form.deviceId = item.id
  226. this.form.deviceDescribe = item.cname
  227. this.form.categoryitem = item.categoryitem
  228. this.form.categoryitemId = item.categoryitemId
  229. this.form.factoryId = item.factoryId
  230. this.form.factoryName = item.factoryName
  231. }
  232. })
  233. },
  234. },
  235. {
  236. label: "报修日期",
  237. prop: "repairReportDate",
  238. type: "date",
  239. format: "yyyy-MM-dd",
  240. valueFormat: "yyyy-MM-dd 00:00:00",
  241. span: 8,
  242. },
  243. {
  244. label: "完成日期",
  245. prop: "completeDate",
  246. disabled: true,
  247. type: "date",
  248. format: "yyyy-MM-dd",
  249. valueFormat: "yyyy-MM-dd 00:00:00",
  250. span: 8,
  251. },
  252. {
  253. label: "故障描述",
  254. prop: "faultDescribe",
  255. type: "textarea",
  256. minRows: 3,
  257. span: 24,
  258. },
  259. {
  260. label: "维修工名称",
  261. prop: "maintenanceWorkerId",
  262. dicData:[],
  263. dataType: "string",
  264. type: "select",
  265. props: {
  266. label: 'realName',
  267. value: 'id'
  268. },
  269. span: 8,
  270. change: (val) => {
  271. if(val.value == '') return
  272. for(let item of val.column.dicData) {
  273. if (val.value == item.id){
  274. this.form.maintenanceWorkerName = item.name
  275. this.form.maintenanceWorkerTel = item.phone
  276. }
  277. }
  278. },
  279. },
  280. {
  281. label: "维修工电话",
  282. prop: "maintenanceWorkerTel",
  283. span: 8,
  284. },
  285. {
  286. label: "维修金额",
  287. prop: "maintenanceAmount",
  288. disabled:true,
  289. span: 8,
  290. type: "number",
  291. },
  292. {
  293. label: "客户描述",
  294. prop: "corpDescribe",
  295. type: "textarea",
  296. minRows: 3,
  297. span: 8,
  298. change:(val)=>{
  299. if (!this.form.corpId){
  300. this.form.corpName = val.value
  301. }
  302. }
  303. },
  304. {
  305. label: "设备描述",
  306. prop: "deviceDescribe",
  307. type: "textarea",
  308. minRows: 3,
  309. span: 8,
  310. change:(val)=>{
  311. if (!this.form.deviceId) {
  312. this.form.deviceName = val.value
  313. }
  314. }
  315. },
  316. {
  317. label: "备注",
  318. prop: "remarks",
  319. type: "textarea",
  320. minRows: 3,
  321. span: 8,
  322. }
  323. ]
  324. },
  325. // 商品信息列表配置
  326. optionList: {},
  327. // 商品产品下拉数据
  328. goodsoptions: [],
  329. // 附件
  330. maintenanceFiles: [],
  331. loading:false,
  332. };
  333. },
  334. props: {
  335. detailData: {
  336. type: Object
  337. }
  338. },
  339. components: {
  340. reportDialog
  341. },
  342. async created() {
  343. this.optionList = optionList
  344. // 获取字典数据
  345. this.getAllWorkDicts()
  346. // 查看是否要id调用详情
  347. if (this.detailData.id) {
  348. this.option.disabled = true
  349. this.getDetail(this.detailData.id);
  350. } else {
  351. // 报修日期默认当天
  352. var time = new Date();
  353. var day = ("0" + time.getDate()).slice(-2);
  354. var month = ("0" + (time.getMonth() + 1)).slice(-2);
  355. var today = time.getFullYear() + "-" + month + "-" + day;
  356. this.form.repairReportDate = today;
  357. }
  358. if (this.detailData.status == 1) {
  359. this.option.disabled = true;
  360. this.option.dispatchWorkers = true;
  361. }
  362. },
  363. methods: {
  364. // 获取下拉字典
  365. getAllWorkDicts() {
  366. // 获取地址信息
  367. // this.findObject(this.option.column, "deviceAddress").dicData = JSON.parse(localStorage.getItem('areaTypeTree'))
  368. // 获取客户名称(档案列表)
  369. corpequipmentarchivesList().then(res=>{
  370. this.findObject(this.option.column, "corpName").dicData = res.data.data.records
  371. })
  372. bladeUserList({roleAlias:'维修工'}).then(res=>{
  373. console.log(res.data.data)
  374. this.findObject(this.option.column, "maintenanceWorkerId").dicData = res.data.data
  375. this.maintenanceWorkersList = res.data.data
  376. console.log(this.maintenanceWorkersList)
  377. })
  378. },
  379. cellStyle() {
  380. return "padding:0;height:40px;";
  381. },
  382. deviceNameChange(cname) {
  383. for (const item of this.deviceList) {
  384. if (item.cname == cname) {
  385. this.form.deviceId = item.srcId
  386. this.form.deviceDescribe = item.cname
  387. this.form.categoryitem = item.categoryitem
  388. this.form.categoryitemId = item.categoryitemId
  389. this.form.factoryId = item.factoryId
  390. this.form.factoryName = item.factoryName
  391. }
  392. }
  393. },
  394. maintenanceWorkerIdChange(id) {
  395. for (const item of this.maintenanceWorkersList) {
  396. if (item.id == id) {
  397. this.form.maintenanceWorkerName = item.name
  398. this.form.maintenanceWorkerTel = item.phone
  399. }
  400. }
  401. },
  402. // 维修项目的失焦事件
  403. amountblur(){
  404. let sum = 0
  405. this.data.map(item=>{
  406. sum += Number(item.amount)
  407. })
  408. this.form.maintenanceAmount = sum
  409. },
  410. amountChange() {
  411. let val = 0
  412. this.data.forEach(e => {
  413. val = sum(val, e.amount)
  414. this.form.purchaseAmount = val
  415. this.form.orderAmount = subtract(this.form.purchaseAmount, this.form.thisUsedProfit)
  416. })
  417. },
  418. // countChange(row) {
  419. // row.amount = multiply(row.price, row.storageInQuantity)
  420. // row.storageAmount = multiply(row.purchaseAmount, row.storageInQuantity)
  421. // let val = 0
  422. // this.data.forEach(e => {
  423. // val = sum(val, e.amount)
  424. // this.form.purchaseAmount = val
  425. // this.form.orderAmount = subtract(this.form.purchaseAmount, this.form.thisUsedProfit)
  426. // })
  427. // },
  428. // 获取详情数据
  429. getDetail(id) {
  430. this.loadingBtn = true
  431. maintenanceDetail({ id: id })
  432. .then(res => {
  433. this.form = res.data.data;
  434. this.data = res.data.data.maintenanceFees;
  435. this.maintenanceFiles = res.data.data.maintenanceFiles ? res.data.data.maintenanceFiles : [];
  436. })
  437. .finally(() => {
  438. this.loadingBtn = false;
  439. });
  440. },
  441. // 客户下拉框
  442. getCorpData(row) {
  443. if (row) {
  444. this.form.corpName = row.cname
  445. this.form.corpTel = row.tel
  446. } else {
  447. this.form.corpName = null
  448. this.form.corpTel = null
  449. }
  450. },
  451. addRow() {
  452. // this.data.push({ $cellEdit: true, storageId: this.form.storageId })
  453. this.$refs["form"].validate((valid, done) => {
  454. done();
  455. if (valid) {
  456. this.data.push({ $cellEdit: true, storageId: this.form.storageId })
  457. } else {
  458. return false;
  459. }
  460. });
  461. },
  462. rowCell(row, index) {
  463. if (!row.costName) {
  464. return this.$message.warning('维修项目不能为空');
  465. }
  466. if (!row.amount) {
  467. return this.$message.warning('金额不能我空');
  468. }
  469. if (row.$cellEdit == true) {
  470. this.$set(row, "$cellEdit", false);
  471. } else {
  472. this.$set(row, "$cellEdit", true);
  473. }
  474. },
  475. // 费用删除
  476. rowDel(row, index) {
  477. this.$confirm("确定删除数据?", {
  478. confirmButtonText: "确定",
  479. cancelButtonText: "取消",
  480. type: "warning"
  481. }).then(() => {
  482. if (row.id) {
  483. maintenanceFeesRemove({ids:row.id}).then(res => {
  484. this.$message({
  485. type: "success",
  486. message: "删除成功!"
  487. });
  488. this.data.splice(index, 1);
  489. });
  490. } else {
  491. this.$message({
  492. type: "success",
  493. message: "删除成功!"
  494. });
  495. this.data.splice(index, 1);
  496. }
  497. this.amountblur()
  498. });
  499. },
  500. //修改提交触发0 派工1 撤销派工2
  501. editCustomer(index) {
  502. this.$refs["form"].validate((valid, done) => {
  503. done();
  504. if (valid) {
  505. // if (!this.form.corpName) {
  506. // return this.$message.error('请维护客户描述');
  507. // }
  508. // if (!this.form.deviceDescribe) {
  509. // return this.$message.error('请维护设备描述');
  510. // }
  511. if(index == 1) {
  512. if (!this.form.maintenanceWorkerId) {
  513. return this.$message.error('请选择维修工');
  514. }
  515. if (!this.form.maintenanceWorkerTel) {
  516. return this.$message.error('请填写维修工电话');
  517. }
  518. }
  519. let arr = this.data.map(item=>{
  520. return {
  521. id:item.id?item.id:null,
  522. costId:item.costId?item.costId:null,
  523. costName:item.costName,
  524. amount:item.amount,
  525. number:1,
  526. price:item.amount,
  527. currency:'CNY',
  528. settlementAmount:item.settlementAmount?item.settlementAmount:0,
  529. remarks:item.remarks
  530. }
  531. })
  532. let list = this.maintenanceFiles.map(item=>{
  533. item.sort = 1
  534. return item
  535. })
  536. const obj = {
  537. id:this.form.id?this.form.id:null,
  538. sysNo:this.form.sysNo?this.form.sysNo:null,
  539. deviceId:this.form.deviceId,
  540. deviceName:this.form.deviceName,
  541. corpId:this.form.corpId,
  542. corpName:this.form.corpName,
  543. corpTel:this.form.corpTel,
  544. archivesId: this.form.archivesId,
  545. deviceAddress:this.form.deviceAddress,
  546. faultDescribe:this.form.faultDescribe,
  547. maintenanceWorkerId:this.form.maintenanceWorkerId,
  548. maintenanceWorkerName:this.form.maintenanceWorkerName,
  549. maintenanceWorkerTel:this.form.maintenanceWorkerTel,
  550. maintenanceAmount:this.form.maintenanceAmount,
  551. repairReportDate:this.form.repairReportDate,
  552. settlementAmount:this.form.settlementAmount?this.form.settlementAmount:0,
  553. remarks:this.form.remarks,
  554. status:this.form.status,
  555. categoryitem:this.form.categoryitem, // 功能分类
  556. factoryId:this.form.factoryId, // 工厂
  557. factoryName:this.form.factoryName, // 工厂
  558. deviceDescribe:this.form.deviceDescribe,
  559. corpDescribe:this.form.corpDescribe,
  560. categoryitemId:this.form.categoryitemId,
  561. maintenanceFees:arr,
  562. maintenanceFiles:list
  563. }
  564. this.loadingBtn = true;
  565. this.maintenanceSubmitfun(obj,index)
  566. } else {
  567. return false;
  568. }
  569. });
  570. },
  571. // 派工接口
  572. maintenanceDispatchingWorkersfun(obj){
  573. maintenanceDispatchingWorkers(obj).then(res=>{
  574. this.$message.success("派工成功");
  575. this.form = res.data.data;
  576. this.data = res.data.data.maintenanceFees;
  577. this.maintenanceFiles = res.data.data.maintenanceFiles ? res.data.data.maintenanceFiles : [];
  578. this.option.disabled = true;
  579. this.option.dispatchWorkers = true;
  580. })
  581. },
  582. // 撤销派工
  583. maintenanceRevokeDispatchingWorkersfun(obj){
  584. maintenanceRevokeDispatchingWorkers(obj).then(res=>{
  585. this.$message.success("撤销派工成功");
  586. this.form = res.data.data;
  587. this.data = res.data.data.maintenanceFees;
  588. this.maintenanceFiles = res.data.data.maintenanceFiles ? res.data.data.maintenanceFiles : [];
  589. this.option.disabled = true;
  590. this.option.dispatchWorkers = true;
  591. })
  592. },
  593. // 保存接口
  594. maintenanceSubmitfun(obj,index){
  595. maintenanceSubmit(obj).then(res => {
  596. this.form = res.data.data;
  597. // this.data = res.data.data.maintenanceFees;
  598. // this.maintenanceFiles = res.data.data.maintenanceFiles ? res.data.data.maintenanceFiles : [];
  599. this.detailData.status = 1
  600. this.option.disabled = true;
  601. this.option.dispatchWorkers = true;
  602. if (index == 0) {
  603. this.$message.success("保存成功");
  604. this.getDetail(this.form.id)
  605. }else if (index == 1) {
  606. this.maintenanceDispatchingWorkersfun(obj)
  607. }else if (index == 2) {
  608. this.maintenanceRevokeDispatchingWorkersfun(obj)
  609. }else {}
  610. this.$refs.crud.refreshTable();
  611. }).finally(() => {
  612. this.loadingBtn = false;
  613. });
  614. },
  615. async saveColumn() {
  616. const inSave = optionList
  617. if (inSave) {
  618. this.$nextTick(() => {
  619. this.$refs.crud.doLayout();
  620. });
  621. this.$message.success("保存成功");
  622. //关闭窗口
  623. this.$refs.crud.$refs.dialogColumn.columnBox = false;
  624. }
  625. },
  626. async resetColumn() {
  627. this.optionList = optionList;
  628. const inSave = optionList
  629. if (inSave) {
  630. this.$nextTick(() => {
  631. this.$refs.crud.doLayout();
  632. });
  633. this.getAllWorkDicts()
  634. this.$message.success("重置成功");
  635. this.$refs.crud.$refs.dialogColumn.columnBox = false;
  636. }
  637. },
  638. openEdit() {
  639. // this.detailData.status = 2
  640. if (this.form.dispatchingWorkers == 2) {
  641. this.option.dispatchWorkers = false
  642. } else {
  643. this.option.disabled = false
  644. }
  645. // this.option = this.$options.data().option;
  646. // this.$refs.crud.refreshTable();
  647. },
  648. //返回列表
  649. backToList() {
  650. this.$emit("goBack");
  651. },
  652. },
  653. watch: {
  654. // data: function (rows) {
  655. // let val = 0
  656. // rows.forEach(e => {
  657. // val = sum(val, e.amount)
  658. // this.form.purchaseAmount = val
  659. // this.form.orderAmount = subtract(this.form.purchaseAmount, this.form.thisUsedProfit)
  660. // })
  661. // }
  662. }
  663. };
  664. </script>
  665. <style lang="scss" scoped>
  666. .trading-form ::v-deep .el-form-item {
  667. margin-bottom: 8px !important;
  668. }
  669. ::v-deep .el-dialog__body {
  670. padding: 0px 20px 15px 20px;
  671. }
  672. ::v-deep .el-form-item__error {
  673. display: none !important;
  674. }
  675. .img-form ::v-deep .el-form-item {
  676. height: 150px;
  677. line-height: 150px;
  678. margin-bottom: 8px !important;
  679. }
  680. .img-form ::v-deep .avue-upload__icon {
  681. font-size: 20px;
  682. width: 150px;
  683. height: 150px;
  684. line-height: 150px;
  685. }
  686. ::v-deep .el-table .cell {
  687. padding: 0 2px !important;
  688. }
  689. ::v-deep .avue-crud .el-table .el-form-item__label {
  690. left: -1px;
  691. }
  692. .addressTabs {
  693. display: flex;
  694. justify-content: center;
  695. span {
  696. width: 100px;
  697. font-size: 18px;
  698. font-weight: 600;
  699. text-align: center;
  700. }
  701. }
  702. </style>