CarTouristGuideGrounContent.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <template>
  2. <div class="car_add opcar_add">
  3. <div>
  4. <div class="communal-title">
  5. <div>OP费用填写明细</div>
  6. </div>
  7. </div>
  8. <el-popover class="oprompts" placement="right" trigger="hover">
  9. <el-table height="600" :data="budgeting" border>
  10. <el-table-column width="100" property="date" label="日期"></el-table-column>
  11. <el-table-column width="100" label="车费用">
  12. <template slot-scope="scope">
  13. {{ townum(scope.row.carFee) + ' ' + bizhong }}
  14. </template>
  15. </el-table-column>
  16. <el-table-column width="100" label="导游费用">
  17. <template slot-scope="scope">
  18. {{ townum(scope.row.guideFee) + ' ' + bizhong }}
  19. </template>
  20. </el-table-column>
  21. <el-table-column width="100" label="餐食费">
  22. <template slot-scope="scope">
  23. {{ townum(scope.row.mealFee) + ' ' + bizhong }}
  24. </template>
  25. </el-table-column>
  26. <el-table-column width="100" label="门票费">
  27. <template slot-scope="scope">
  28. {{ townum(scope.row.ticketFee) + ' ' + bizhong }}
  29. </template>
  30. </el-table-column>
  31. <el-table-column width="100" label="小费">
  32. <template slot-scope="scope">
  33. {{ townum(scope.row.tipFee) + ' ' + bizhong }}
  34. </template>
  35. </el-table-column>
  36. <el-table-column width="110" label="饮料零食水果">
  37. <template slot-scope="scope">
  38. {{ townum(scope.row.drinksSnacksFruitFee) + ' ' + bizhong }}
  39. </template>
  40. </el-table-column>
  41. <el-table-column width="100" label="出行物资">
  42. <template slot-scope="scope">
  43. {{ townum(scope.row.travelSupplies) + ' ' + bizhong }}
  44. </template>
  45. </el-table-column>
  46. <el-table-column property="carType" width="100" label="车型"></el-table-column>
  47. <el-table-column width="100" label="领队费">
  48. <template slot-scope="scope">
  49. {{ townum(scope.row.leadersFee) + ' ' + bizhong }}
  50. </template>
  51. </el-table-column>
  52. <el-table-column width="100" label="零用金">
  53. <template slot-scope="scope">
  54. {{ townum(scope.row.spentCash) + ' ' + bizhong }}
  55. </template>
  56. </el-table-column>
  57. </el-table>
  58. <el-button type="primary" class="oprompt" slot="reference">移上提示成本</el-button>
  59. </el-popover>
  60. <el-skeleton :rows="28" animated :loading="loading">
  61. <div style="display: flex;justify-content: space-between;">
  62. <div style="width: 80%;display: flex;">
  63. <div style="width: 25%;margin-right: 10px;">
  64. <el-select v-model="diId" placeholder="团组选择" clearable filterable style="width: 100%;"
  65. :disabled="true">
  66. <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
  67. :value="item.id">
  68. </el-option>
  69. </el-select>
  70. </div>
  71. <div style="width: 25%;">
  72. <el-select v-model="currency" placeholder="币种选择" clearable filterable style="width: 80%;">
  73. <el-option v-for="item in currencyList" :key="item.currencyId"
  74. :label="item.currencyName + '(' + item.currencyCode + ')'" :value="item.currencyId">
  75. </el-option>
  76. </el-select>
  77. </div>
  78. </div>
  79. </div>
  80. <div style="display: flex;justify-content: space-between;margin: 10px 0;" class="checkbox-style">
  81. <el-checkbox-group v-model="checkList" @change="checkBoxChange">
  82. <el-checkbox v-for="(item, index) in checkItems" :key="index" :label=item></el-checkbox>
  83. </el-checkbox-group>
  84. </div>
  85. <div style="margin:10px 0;color:#606266;font-size:15px;">
  86. <span style="font-weight: bold;">团队名称:</span>
  87. <span style="color:#606266;">{{ delegationInfo.teamName }}&nbsp;&nbsp;&nbsp;</span>
  88. <span style="font-weight: bold;">客户:</span>
  89. <span style="color:#606266;">{{ delegationInfo.clientName }}&nbsp;&nbsp;&nbsp; </span>
  90. <span style="font-weight: bold;">出访国家:</span>
  91. <span style="color:#606266;">{{ delegationInfo.visitCountry }}&nbsp;&nbsp;&nbsp;</span>
  92. <span style="font-weight: bold;">起止日期:</span>
  93. <span style="color:#606266;">{{ delegationInfo.visitDate }}&nbsp;&nbsp;&nbsp;</span>
  94. <span style="font-weight: bold;">天数/人数:</span>
  95. <span style="color:#606266;">{{ delegationInfo.visitDays }}天/{{
  96. delegationInfo.visitPNumber }}人</span>
  97. </div>
  98. <hr style='background-color:#5555; height:1px; border:none;' />
  99. <div>
  100. <template>
  101. <el-table :data="ContentList" :border=true style="width: 100%" :span-method="objectSpanMethod">
  102. <el-table-column prop="num" label="序 号" width="55">
  103. <template slot-scope="scope">
  104. {{ scope.$index + 1 }}
  105. </template>
  106. </el-table-column>
  107. <el-table-column :align="'center'" prop="SIdName" label="费用项目" width="120">
  108. <template slot-scope="scope">
  109. <span style="display: none;">{{ scope.row.sId }}</span>{{ scope.row.sidName }}
  110. </template>
  111. </el-table-column>
  112. <el-table-column prop="datePrice" label="日期" width="170">
  113. <template slot-scope="scope">
  114. <el-date-picker size="small" style="width: 100%;" v-model="scope.row.datePrice"
  115. type="date" :picker-options="startPickerOptions" value-format="yyyy-MM-dd HH:mm:ss"
  116. placeholder="选择日期">
  117. </el-date-picker>
  118. </template>
  119. </el-table-column>
  120. <el-table-column label="金额/币种" width="400">
  121. <template slot-scope="scope">
  122. <div class="el-input-number-style pice-ys">
  123. <el-input-number size="small" placeholder="请输入金额" v-model="scope.row.price"
  124. :controls="false" @change="PriceChange"></el-input-number>
  125. <!-- <el-input placeholder="请输入金额" v-model="scope.row.price" clearable style="width:180px;"
  126. @change="PriceChange" /> -->
  127. <el-select size="small" v-model="currency" placeholder="币种选择" clearable filterable
  128. style="width:120px" :disabled="true">
  129. <el-option v-for="item in currencyList" :key="item.currencyId"
  130. :label="item.currencyCode" :value="item.currencyId">
  131. </el-option>
  132. </el-select>
  133. </div>
  134. </template>
  135. </el-table-column>
  136. <el-table-column label="数量" width="100">
  137. <template slot-scope="scope">
  138. <!-- <el-input size="small" style="width: 100%;" placeholder="数量" v-model="scope.row.count"
  139. @change="PriceChange">
  140. </el-input> -->
  141. <div class="el-input-number-style">
  142. <el-input-number size="small" placeholder="数量" v-model="scope.row.count"
  143. style="width: 100%;" :controls="false" @change="PriceChange"></el-input-number>
  144. </div>
  145. </template>
  146. </el-table-column>
  147. <el-table-column label="单位" width="200">
  148. <template slot-scope="scope">
  149. <!-- <el-input size="small" style="width: 100%;" placeholder="选择单位" v-model="scope.row.units"
  150. @change="PriceChange"></el-input> -->
  151. <el-select size="small" v-model="scope.row.units" filterable placeholder="选择单位">
  152. <el-option v-for="item in unitsArr" :key="item.id" :label="item.name"
  153. :value="item.id">
  154. </el-option>
  155. </el-select>
  156. </template>
  157. </el-table-column>
  158. <el-table-column label="费用明细">
  159. <template slot-scope="scope">
  160. <el-input type="textarea" :rows="1" placeholder="费用明细"
  161. v-model="scope.row.priceContent"></el-input>
  162. </template>
  163. </el-table-column>
  164. <!-- <el-table-column label="备注">
  165. <template slot-scope="scope">
  166. <el-input type="textarea" :rows="1" placeholder="备注" v-model="scope.row.remark"></el-input>
  167. </template>
  168. </el-table-column> -->
  169. </el-table>
  170. <hr style='background-color:#5555; height:1px; border:none;' />
  171. <el-form :model="OPContenData" ref="OPContenData" :rules="OPContenDataRules" label-width="100px"
  172. class="demo-ruleForm">
  173. <div style="display: flex;">
  174. <div style="width: 25%;">
  175. <el-form-item label="此次付款百分比:" prop="payPercentage" label-width="160px">
  176. <el-input placeholder="此次付款百分比" v-model="OPContenData.payPercentage">
  177. <template slot="append">%</template>
  178. </el-input>
  179. </el-form-item>
  180. </div>
  181. <div style="width: 25%;">
  182. <el-form-item label="收款方:" prop="payee" label-width="160px">
  183. <el-input placeholder="收款方" v-model="OPContenData.payee">
  184. </el-input>
  185. </el-form-item>
  186. </div>
  187. <div style="width: 25%;">
  188. <el-form-item label="费用标识:" prop="orbitalPrivateTransfer" label-width="160px">
  189. <el-select v-model="OPContenData.orbitalPrivateTransfer" clearable filterable
  190. placeholder="费用标识" style="width: 100%;">
  191. <el-option :key=0 :value="0" label="公转"></el-option>
  192. <el-option :key=1 :value="1" label="私转"></el-option>
  193. </el-select>
  194. </el-form-item>
  195. </div>
  196. <div style="width: 25%;">
  197. <el-form-item label="支付方式:" prop="payDId" label-width="160px">
  198. <el-select v-model="OPContenData.payDId" placeholder="支付方式" clearable filterable
  199. style="width:100%">
  200. <el-option v-for="item in payment" :key="item.id" :label="item.name"
  201. :value="item.id">
  202. </el-option>
  203. </el-select>
  204. </el-form-item>
  205. </div>
  206. </div>
  207. <div style="display: flex;">
  208. <div style="width: 25%;">
  209. <el-form-item label="总金额:" label-width="160px">
  210. <el-input placeholder="金额" v-model="countCost" :disabled="true"
  211. style="width: 120px;"></el-input>
  212. <el-select v-model="currency" placeholder="币种选择" clearable filterable
  213. style="width:100px" :disabled="true">
  214. <el-option v-for="item in currencyList" :key="item.currencyId"
  215. :label="item.currencyCode" :value="item.currencyId">
  216. </el-option>
  217. </el-select>
  218. </el-form-item>
  219. </div>
  220. <div style="width: 75%;text-align: right;">
  221. <el-form-item>
  222. <el-button type="primary" @click="addBtn">保存</el-button>
  223. <el-button @click="EscAdd">取消</el-button>
  224. </el-form-item>
  225. </div>
  226. </div>
  227. </el-form>
  228. </template>
  229. </div>
  230. </el-skeleton>
  231. </div>
  232. </template>
  233. <script>
  234. export default {
  235. data() {
  236. return {
  237. bizhong: '',
  238. startPickerOptions: {
  239. },
  240. pageId: '',
  241. token: '',
  242. cTable: '',
  243. userId: 0,
  244. id: '',
  245. diId: '',
  246. loading: true,
  247. currency: 0,
  248. countCost: 0,
  249. delegationInfo: {},
  250. delegationInfoList: [],//团组下拉框
  251. currencyList: [],
  252. payment: [],
  253. IsAuditGM: 0,
  254. ContentList: [],
  255. OPContenData: {
  256. diId: '',
  257. cTGGRId: '',
  258. orbitalPrivateTransfer: 0,
  259. payPercentage: '80',
  260. payee: '',
  261. payDId: '',
  262. currency: '',
  263. OPContentList: [],
  264. CreateUserId: 0
  265. },
  266. OPContenDataRules: {
  267. payPercentage: [
  268. { required: true, message: '请输入付款百分比', trigger: ['blur', 'change'] },
  269. ],
  270. orbitalPrivateTransfer: [
  271. { required: true, message: '请选择费用标识', trigger: ['blur', 'change'] },
  272. ],
  273. payee: [
  274. { required: true, message: '请输入收款方', trigger: ['blur', 'change'] },
  275. ],
  276. payDId: [
  277. { required: true, message: '请选择付款方式', trigger: ['blur', 'change'] },
  278. ]
  279. },
  280. unitsArr: [{ id: 0, name: '请选择', remark: '' }],
  281. checkItems: ["车费", "导游费", "客户午餐费用", "导游景点费", "导游小费", "接送机费", "其他费用", "司机工资", "司机小费", "司机餐补", "车超时费", "导游餐补", "导游房补", "导游交通", "客户早餐费用", "客户晚餐费用", "景点门票费", "饮料/零食/水果", "住补费用", "翻译费", '导游超时费用'],
  282. checkList: [],
  283. sourceList: [],
  284. ListCount: 1,
  285. budgeting: []
  286. }
  287. },
  288. methods: {
  289. //保留两位小数
  290. townum(val) {
  291. return val.toFixed(2)
  292. },
  293. //获取成本提示
  294. getcostbudgeting() {
  295. this.budgeting = [];
  296. this.bizhong = '';
  297. var url = "/api/Groups/PostGroupCostModulePrompt"
  298. var that = this
  299. this.$axios({
  300. method: 'post',
  301. url: url,
  302. headers: {
  303. Authorization: 'Bearer ' + this.token
  304. },
  305. data: {
  306. userId: that.userId,
  307. diId: that.diId,
  308. cTable: that.cTable,
  309. }
  310. }).then(function (res) {
  311. if (res.data.code == 200) {
  312. that.budgeting = res.data.data.modulePromptInfos[0].data;
  313. that.bizhong = res.data.data.modulePromptInfos[0].currencyCode;
  314. console.log(that.budgeting)
  315. } else {
  316. // that.$message.error(res.data.msg);
  317. }
  318. })
  319. },
  320. //初始化下拉框
  321. initializeSelect() {
  322. //团组下拉框绑定
  323. var url = "/api/Groups/CarTouristGuideGroundContentInitialize"
  324. var that = this
  325. this.$axios({
  326. method: 'post',
  327. url: url,
  328. headers: {
  329. Authorization: 'Bearer ' + this.token
  330. },
  331. data: {
  332. userId: that.userId,
  333. id: that.id,
  334. }
  335. }).then(function (res) {
  336. if (res.data.code == 200) {
  337. console.log(res)
  338. that.delegationInfoList = res.data.data.delegations;
  339. for (let index = 0; index < that.delegationInfoList.length; index++) {
  340. if (that.delegationInfoList[index].id == that.diId) {
  341. that.delegationInfo = that.delegationInfoList[index];
  342. break;
  343. }
  344. }
  345. //that.ContentList = res.data.data.carTouristGuides;
  346. that.sourceList = res.data.data.carTouristGuides;
  347. that.payment = res.data.data.payment;
  348. var CreditCardPayment = res.data.data.creditCardPayment;
  349. if (CreditCardPayment != null) {
  350. that.OPContenData.payDId = CreditCardPayment.payDId
  351. that.OPContenData.payee = CreditCardPayment.payee
  352. that.currency = CreditCardPayment.paymentCurrency
  353. that.OPContenData.payPercentage = CreditCardPayment.payPercentage
  354. that.countCost = CreditCardPayment.payMoney
  355. that.OPContenData.orbitalPrivateTransfer = CreditCardPayment.orbitalPrivateTransfer
  356. that.IsAuditGM = CreditCardPayment.isAuditGM;
  357. }
  358. that.unitsArr = that.unitsArr.concat(res.data.data.ssdv);
  359. var start = new Date(res.data.data.start).getTime();
  360. var end = new Date(res.data.data.end).getTime();
  361. that.checkItems = res.data.data.existItem;
  362. that.startPickerOptions.disabledDate = (time) => {
  363. return time.getTime() < start || time.getTime() > end;
  364. }
  365. that.checkList = res.data.data.checkedItem;
  366. that.checkBoxChange();
  367. that.loading = false;
  368. //that.OpCarTouristGuideGroundContenById()
  369. } else {
  370. this.$message.error('初始化失败' + res.data.msg);
  371. }
  372. })
  373. },
  374. //获取ctable
  375. PostPageLinkCTable() {
  376. var url = "/api/Business/PostPageLinkCTable"
  377. var that = this
  378. this.$axios({
  379. method: 'post',
  380. url: url,
  381. headers: {
  382. Authorization: 'Bearer ' + this.token
  383. },
  384. data: {
  385. pageId: that.pageId,
  386. }
  387. }).then(function (res) {
  388. if (res.data.code == 200) {
  389. that.cTable = res.data.data.cTable
  390. that.PostGroupTeamRateByDiIdAndCTableId();
  391. that.getcostbudgeting();
  392. }
  393. })
  394. },
  395. //获取团组币种
  396. PostGroupTeamRateByDiIdAndCTableId() {
  397. var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
  398. var that = this
  399. this.$axios({
  400. method: 'post',
  401. url: url,
  402. headers: {
  403. Authorization: 'Bearer ' + this.token
  404. },
  405. data: {
  406. portType: 1,
  407. diId: that.diId,
  408. cTable: that.cTable,
  409. }
  410. }).then(function (res) {
  411. console.log(res)
  412. if (res.data.code == 200) {
  413. that.currencyList = res.data.data.teamRates;
  414. if (that.currency == 0) {
  415. that.currency = that.currencyList[0].currencyId;
  416. }
  417. }
  418. })
  419. },
  420. // OpCarTouristGuideGroundContenById() {
  421. // var url = "/api/Groups/OpCarTouristGuideGroundContentById"
  422. // var that = this
  423. // this.$axios({
  424. // method: 'post',
  425. // url: url,
  426. // headers: {
  427. // Authorization: 'Bearer ' + this.token
  428. // },
  429. // data: {
  430. // id: that.id
  431. // }
  432. // }).then(function (res) {
  433. // if (res.data.code == 200) {
  434. // var CarTouristsContent = res.data.data.carTouristsContent;
  435. // if (CarTouristsContent.length != 0) {
  436. // CarTouristsContent.forEach(function (item) {
  437. // that.ContentList.forEach(function (item1) {
  438. // if (item.sId == item1.sId) {
  439. // item1.id = item.id
  440. // item1.price = item.price
  441. // item1.priceContent = item.priceContent
  442. // //item1.remark = item.remark
  443. // }
  444. // })
  445. // })
  446. // }
  447. // that.loading = false
  448. // }
  449. // })
  450. // },
  451. addBtn() {
  452. if (this.IsAuditGM == 1) {
  453. this.$message.error('已通过审核,不可修改!');
  454. } else {
  455. if (this.diId == null && this.diId == undefined && this.diId == "") {
  456. this.$message.error("请选择团组名称");
  457. return;
  458. } else {
  459. var that = this
  460. that.$refs.OPContenData.validate((valid) => {
  461. if (valid) {
  462. that.OPContenData.diId = that.diId;
  463. that.OPContenData.cTGGRId = that.id;
  464. that.OPContenData.currency = that.currency;
  465. that.OPContenData.CreateUserId = that.userId;
  466. that.OPContenData.selectCheck = that.checkList;
  467. that.OPContenData.OPContentList = [];
  468. that.ContentList.forEach(function (item) {
  469. that.OPContenData.OPContentList.push({
  470. id: item.id,
  471. sId: item.sId,
  472. price: item.price,
  473. priceContent: item.priceContent,
  474. datePrice: item.datePrice,
  475. count: item.count,
  476. units: item.units,
  477. //remark: item.remark,
  478. })
  479. })
  480. var url = "/api/Groups/OpCarTouristGuideGroundContent"
  481. that.$axios({
  482. method: 'post',
  483. url: url,
  484. headers: {
  485. Authorization: 'Bearer ' + that.token
  486. },
  487. data: that.OPContenData
  488. }).then(function (res) {
  489. if (res.data.code == 200) {
  490. that.$message({
  491. message: res.data.msg,
  492. type: 'success'
  493. });
  494. that.EscAdd();
  495. } else {
  496. that.$message.error(res.data.msg);
  497. }
  498. })
  499. } else {
  500. this.$message.error('请完善信息在保存!');
  501. return false;
  502. }
  503. })
  504. }
  505. }
  506. },
  507. EscAdd() {
  508. this.$router.push({
  509. path: "/home/CarTouristGuideGroundId",
  510. query: {
  511. diId: this.diId
  512. }
  513. })
  514. },
  515. PriceChange() {
  516. var countCost = 0;
  517. this.ContentList.forEach(function (item) {
  518. if (item.price) {
  519. countCost += Number(item.price) * Number(item.count)
  520. }
  521. })
  522. this.countCost = countCost.toFixed(2);
  523. },
  524. checkBoxChange() {
  525. this.ContentList = [];
  526. for (var soure = 0; soure < this.sourceList.length; soure++) {
  527. for (var item = 0; item < this.checkList.length; item++) {
  528. if (this.sourceList[soure].sidName == this.checkList[item]) {
  529. this.ContentList.push(this.sourceList[soure]);
  530. }
  531. }
  532. }
  533. this.PriceChange();
  534. var count = 1;
  535. if (this.ContentList.length > 0) {
  536. var sid = this.ContentList[0].sId;
  537. count = this.ContentList.filter(x => x.sId == sid).length;
  538. }
  539. this.ListCount = count;
  540. },
  541. objectSpanMethod({ row, column, rowIndex, columnIndex }) {
  542. if (columnIndex === 1) {
  543. if (row.sId == 1070 || row.sId == 1071) {
  544. return {
  545. rowspan: 1,
  546. colspan: 1
  547. };
  548. }
  549. if (rowIndex % this.ListCount === 0) {
  550. return {
  551. rowspan: this.ListCount,
  552. colspan: 1
  553. };
  554. } else {
  555. return {
  556. rowspan: 0,
  557. colspan: 0
  558. };
  559. }
  560. }
  561. }
  562. },
  563. mounted() {
  564. this.pageId = localStorage.getItem('indexs').split('-')[1];
  565. console.log(this.pageId)
  566. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  567. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
  568. this.id = this.$route.query.id
  569. this.diId = parseInt(this.$route.query.diId)
  570. this.PostPageLinkCTable();
  571. this.initializeSelect();
  572. //this.OpCarTouristGuideGroundContenById();
  573. }
  574. }
  575. </script>
  576. <style>
  577. .car_add {
  578. background-color: #fff;
  579. padding: 10px;
  580. box-shadow: 0 0 5px #0005;
  581. border-radius: 10px;
  582. min-height: 800px;
  583. }
  584. .car_add .communal-title {
  585. display: flex;
  586. font-size: 17px;
  587. font-weight: 600;
  588. color: #555;
  589. margin-bottom: 20px;
  590. justify-content: space-between;
  591. align-items: center;
  592. }
  593. .appraise-box {
  594. display: flex;
  595. flex-wrap: wrap;
  596. justify-content: space-between;
  597. margin: 50px 0;
  598. }
  599. .appraise-box>div {
  600. width: 30%;
  601. }
  602. .communal-box {
  603. display: flex;
  604. }
  605. .communal-box>button {
  606. margin-left: 10px;
  607. padding: 8px 20px;
  608. }
  609. .car_add {
  610. background-color: #fff;
  611. padding: 20px;
  612. box-shadow: 0 0 5px #0005;
  613. border-radius: 10px;
  614. }
  615. .el-input-number-style .el-input input {
  616. text-align: left;
  617. }
  618. .pice-ys .el-input-number {
  619. width: 250px;
  620. }
  621. @media screen and (max-width: 1700px) {
  622. .appraise-box>div {
  623. width: 48%;
  624. }
  625. .appraise-box>div el-form-item__content {
  626. width: 260px !important;
  627. }
  628. }
  629. .checkbox-style .el-checkbox {
  630. width: 120px;
  631. margin: 10px 10px;
  632. }
  633. .opcar_add {
  634. position: relative;
  635. }
  636. .oprompt {
  637. position: fixed;
  638. top: 150px;
  639. right: 57px;
  640. z-index: 2;
  641. }
  642. .oprompts .el-button--primary {
  643. color: #FFF;
  644. background-color: #007dff;
  645. border-color: #007dff;
  646. }
  647. </style>