editGrp.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. <template>
  2. <div class="editGrap-wrap">
  3. <!-- <a-spin :spinning="spinning" tip="Loading..."> -->
  4. <div class="ant-spin-nested-loading">
  5. <a-page-header :ghost="false" :backIcon="false" class="editGrap-back" >
  6. <!-- 自定义的二级文字标题 -->
  7. <template slot="subTitle">
  8. <a id="editGrap-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
  9. </template>
  10. <!-- 操作区,位于 title 行的行尾 -->
  11. <template slot="extra">
  12. <print :params="{allocateReturnSn: $route.params.sn}" :disabled="localDataSource.length==0" @loading="spinning=true" @unloading="spinning=false"></print>
  13. </template>
  14. </a-page-header>
  15. <a-card size="small" :bordered="false" v-if="basicInfoData" class="editGrap-cont">
  16. <a-collapse :activeKey="['0']">
  17. <a-collapse-panel key="0" header="基础信息">
  18. <a-descriptions :column="3">
  19. <a-descriptions-item label="调拨退货单号">{{ (basicInfoData&&basicInfoData.allocateReturnNo) || '--' }}</a-descriptions-item>
  20. <a-descriptions-item label="调拨退货对象">{{ (basicInfoData&&basicInfoData.targetTypeDictValue) || '--' }}</a-descriptions-item>
  21. <a-descriptions-item label="调拨退货对象名称">{{ (basicInfoData&&basicInfoData.targetName) || '--' }}</a-descriptions-item>
  22. <a-descriptions-item label="调拨退货类型">
  23. <AllocateType id="allocateEdit-allocateReturnTypeSn" style="width: 200px;" @change="changeAllocateType" v-model="basicInfoData.allocateReturnTypeSn"></AllocateType>
  24. </a-descriptions-item>
  25. <a-descriptions-item label="是否抓单">{{ (basicInfoData&&basicInfoData.grabFlagDictValue) || '--' }}</a-descriptions-item>
  26. <a-descriptions-item label="业务状态">{{ (basicInfoData&&basicInfoData.stateDictValue) || '--' }}</a-descriptions-item>
  27. <a-descriptions-item label="备注">
  28. {{ (basicInfoData&&basicInfoData.remarks) }}
  29. <a-icon type="form" title="编辑备注" @click="editRemark = true" style="color: dodgerblue;font-size: 14px;" />
  30. </a-descriptions-item>
  31. </a-descriptions>
  32. </a-collapse-panel>
  33. </a-collapse>
  34. </a-card>
  35. <!-- 选择产品 -->
  36. <a-card size="small" :bordered="false" class="editGrap-cont">
  37. <a-collapse :activeKey="['1']">
  38. <a-collapse-panel key="1" :forceRender="true" header="选择产品">
  39. <!-- 筛选条件 -->
  40. <div class="table-page-search-wrapper">
  41. <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
  42. <a-row :gutter="15">
  43. <a-col :md="6" :sm="24">
  44. <a-form-item label="调拨单号" prop="allocateNo">
  45. <a-input id="editGrap-allocateNo" v-model.trim="queryParam.allocateNo" placeholder="请输入调拨单号" allowClear />
  46. </a-form-item>
  47. </a-col>
  48. <a-col :md="6" :sm="24">
  49. <a-form-item label="产品编码" prop="productCode">
  50. <a-input id="editGrap-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
  51. </a-form-item>
  52. </a-col>
  53. <a-col :md="6" :sm="24">
  54. <a-form-item label="产品名称" prop="productName">
  55. <a-input id="editGrap-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
  56. </a-form-item>
  57. </a-col>
  58. <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
  59. <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="storeTransferOutList-refresh">查询</a-button>
  60. <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="storeTransferOutList-reset">重置</a-button>
  61. </a-col>
  62. </a-row>
  63. </a-form>
  64. </div>
  65. <!-- 列表 -->
  66. <s-table
  67. class="sTable"
  68. ref="table"
  69. size="small"
  70. index="0"
  71. tableId="table1"
  72. :rowKey="(record) => record.allocateNo +'-'+ record.productSn"
  73. :columns="columns"
  74. :customRow="handleClickRow"
  75. :data="loadData"
  76. :scroll="{ y: 300 }"
  77. :defaultLoadData="false"
  78. bordered>
  79. <!-- 退货单价 -->
  80. <template slot="returnPrice" slot-scope="text, record">
  81. <div @dblclick.stop>
  82. <a-input-number
  83. size="small"
  84. v-model="record.returnPrice"
  85. :precision="2"
  86. :min="0"
  87. :max="999999"
  88. placeholder="请输入"
  89. style="width: 100%;" />
  90. </div>
  91. </template>
  92. <!-- 操作 -->
  93. <template slot="action" slot-scope="text, record">
  94. <a-button
  95. size="small"
  96. v-if="record.refundableQty"
  97. type="link"
  98. class="button-primary"
  99. @click="handleAdd(record)"
  100. id="editGrap-add-btn">添加</a-button>
  101. <span v-else>--</span>
  102. </template>
  103. </s-table>
  104. </a-collapse-panel>
  105. </a-collapse>
  106. </a-card>
  107. <!-- 已选产品 -->
  108. <a-card size="small" :bordered="false" class="editGrap-cont">
  109. <a-collapse :activeKey="['2']">
  110. <a-collapse-panel key="2" :forceRender="true" header="已选产品">
  111. <!-- 总计 -->
  112. <a-alert type="info" style="margin-bottom:10px">
  113. <div slot="message">
  114. 退货总数量:<strong>{{ (basicInfoData&&(basicInfoData.totalQty || basicInfoData.totalQty==0)) ? basicInfoData.totalQty : '--' }}</strong> ,
  115. <span>退货总金额(¥):<strong>{{ (basicInfoData&&(basicInfoData.totalPrice || basicInfoData.totalPrice==0)) ? basicInfoData.totalPrice : '--' }}</strong></span>
  116. </div>
  117. </a-alert>
  118. <!-- 筛选条件 -->
  119. <a-row :gutter="15">
  120. <a-col :span="17">
  121. <div class="table-page-search-wrapper">
  122. <a-form layout="inline" @keyup.enter.native="$refs.chooseTable.refresh(true)">
  123. <a-row :gutter="15">
  124. <a-col :md="9" :sm="24">
  125. <a-form-item label="产品编码" prop="productCode">
  126. <a-input id="editGrap-productCode" v-model.trim="chooseQueryParam.productCode" placeholder="请输入产品编码" allowClear />
  127. </a-form-item>
  128. </a-col>
  129. <a-col :md="9" :sm="24">
  130. <a-form-item label="产品名称" prop="productName">
  131. <a-input id="editGrap-productName" v-model.trim="chooseQueryParam.productName" placeholder="请输入产品名称" allowClear />
  132. </a-form-item>
  133. </a-col>
  134. <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
  135. <a-button type="primary" @click="$refs.chooseTable.refresh(true)" :disabled="chooseDisabled" id="storeTransferOutList-refresh">查询</a-button>
  136. <a-button style="margin-left: 8px" @click="chooseResetSearchForm" :disabled="chooseDisabled" id="storeTransferOutList-reset">重置</a-button>
  137. </a-col>
  138. </a-row>
  139. </a-form>
  140. </div>
  141. </a-col>
  142. <a-col :span="7" style="text-align: right;">
  143. <!-- <a-button size="small" id="editGrap-import-btn" @click="openGuideModal=true">导入产品</a-button> -->
  144. <!-- <a-button size="small" type="danger" style="margin-left: 5px" @click.stop="handleDel('', 'all')" id="chainTransferOutEdit-del-all-btn">整单删除</a-button> -->
  145. </a-col>
  146. </a-row>
  147. <!-- 列表 -->
  148. <s-table
  149. class="sTable"
  150. ref="chooseTable"
  151. size="small"
  152. index="1"
  153. tableId="table2"
  154. :rowKey="(record) => record.id"
  155. :columns="chooseColumns"
  156. :data="chooseLoadData"
  157. :scroll="{ y: 300 }"
  158. :defaultLoadData="false"
  159. bordered>
  160. <!-- 退货单价 -->
  161. <template slot="returnPrice" slot-scope="text, record">
  162. <a-input-number
  163. size="small"
  164. v-model="record.price"
  165. @blur="e => priceChange(e.target.value, record)"
  166. :precision="2"
  167. :min="0"
  168. :max="999999"
  169. placeholder="请输入"
  170. style="width: 100%;" />
  171. </template>
  172. <!-- 操作 -->
  173. <template slot="action" slot-scope="text, record">
  174. <a-button size="small" type="link" class="button-error" @click="handleDel(record)" id="editGrap-del-btn">删除</a-button>
  175. </template>
  176. </s-table>
  177. </a-collapse-panel>
  178. </a-collapse>
  179. </a-card>
  180. <!-- </a-spin> -->
  181. </div>
  182. <div class="affix-cont">
  183. <a-button
  184. type="primary"
  185. id="editGrap-submit"
  186. size="large"
  187. :disabled="spinning"
  188. class="button-primary"
  189. @click="handleSubmit"
  190. style="padding: 0 60px;">提交</a-button>
  191. </div>
  192. <!-- 导入产品 -->
  193. <!-- <importGuideModal :openModal="openGuideModal" :params="{allocateReturnSn: $route.params.sn}" @close="openGuideModal=false" @ok="handleGuideOk" /> -->
  194. <!-- 修改基础信息 -->
  195. <a-modal
  196. centered
  197. wrapClassName="allocateBill-editRemark-modal"
  198. v-if="basicInfoData"
  199. :footer="null"
  200. :maskClosable="false"
  201. title="修改备注"
  202. v-model="editRemark"
  203. @cancle="editRemark = false"
  204. :width="600">
  205. <a-textarea
  206. v-model="basicInfoData.remarks"
  207. placeholder="请输入备注(最多120个字符)"
  208. :maxLength="120"
  209. :auto-size="{ minRows: 3, maxRows: 5 }"
  210. />
  211. <div class="btn-cont">
  212. <a-button type="primary" id="allocateBill-basicInfo-modal-save" @click="handleEditRemark">保存</a-button>
  213. <a-button id="allocateBill-basicInfo-modal-back" @click="editRemark = false" style="margin-left: 15px;">取消</a-button>
  214. </div>
  215. </a-modal>
  216. </div>
  217. </template>
  218. <script>
  219. import { commonMixin } from '@/utils/mixin'
  220. import { STable, VSelect } from '@/components'
  221. // import ImportGuideModal from './importGuideModal.vue'
  222. import print from './print.vue'
  223. import { allocDetailQueryPageForReturn } from '@/api/allocateBill'
  224. import AllocateType from '@/views/common/allocateType.js'
  225. import {
  226. allocateReturnSave,
  227. allocReturnDetailQueryPage,
  228. allocateReturnQueryBySn,
  229. allocReturnDetailInsert,
  230. allocReturnDetailUpdate,
  231. allocateReturnSubmit,
  232. allocReturnDetailDelete
  233. // allocateBillBatchInsert
  234. } from '@/api/allocateReturn'
  235. export default {
  236. name: 'TransferReturnGrpEdit',
  237. mixins: [commonMixin],
  238. components: { STable, VSelect, AllocateType, print },
  239. data () {
  240. return {
  241. spinning: false,
  242. queryParam: {
  243. productCode: '',
  244. productName: '',
  245. allocateNo: ''
  246. },
  247. chooseQueryParam: {
  248. productCode: '',
  249. productName: ''
  250. },
  251. editRemark: false,
  252. disabled: false, // 查询、重置按钮是否可操作
  253. loading: false,
  254. chooseDisabled: false, // 查询、重置按钮是否可操作
  255. advanced: false, // 高级搜索 展开/关闭
  256. productBrandList: [], // 产品品牌 下拉数据
  257. productTypeList: [], // 产品分类 下拉数据
  258. productType: [],
  259. warehouseList: [], // 仓库 下拉数据
  260. // 加载数据方法 必须为 Promise 对象
  261. loadData: parameter => {
  262. this.disabled = true
  263. const otherParams = { allocateBill: { targetType: this.$route.params.targetType, targetSn: this.basicInfoData.targetSn, allocateNo: this.queryParam.allocateNo } }
  264. return allocDetailQueryPageForReturn(Object.assign(parameter, this.queryParam, otherParams)).then(res => {
  265. const data = res.data
  266. const no = (data.pageNo - 1) * data.pageSize
  267. for (var i = 0; i < data.list.length; i++) {
  268. data.list[i].no = no + i + 1
  269. data.list[i].returnPrice = data.list[i].price
  270. data.list[i].oldPrice = data.list[i].price
  271. }
  272. this.loadDataSource = data.list || []
  273. this.disabled = false
  274. return data
  275. })
  276. },
  277. loadDataSource: [],
  278. localDataSource: [],
  279. // 加载数据方法 必须为 Promise 对象
  280. chooseLoadData: parameter => {
  281. this.chooseDisabled = true
  282. const params = Object.assign(parameter, { product: { name: this.chooseQueryParam.productName, code: this.chooseQueryParam.productCode }, allocateReturnSn: this.$route.params.sn })
  283. return allocReturnDetailQueryPage(params).then(res => {
  284. const data = res.data
  285. const no = (data.pageNo - 1) * data.pageSize
  286. for (var i = 0; i < data.list.length; i++) {
  287. data.list[i].no = no + i + 1
  288. data.list[i].oldPrice = data.list[i].price
  289. }
  290. this.localDataSource = data.list || []
  291. this.chooseDisabled = false
  292. return data
  293. })
  294. },
  295. basicInfoData: null, // 基本信息
  296. openGuideModal: false // 导入产品引导
  297. }
  298. },
  299. computed: {
  300. columns () {
  301. const arr = [
  302. { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
  303. { title: '调拨单号', dataIndex: 'allocateNo', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
  304. { title: '产品编码', dataIndex: 'productCode', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
  305. { title: '产品名称', dataIndex: 'productName', align: 'center', width: '29%', customRender: function (text) { return text || '--' }, ellipsis: true },
  306. { title: '单位', dataIndex: 'productUnit', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
  307. { title: '调拨单价', dataIndex: 'price', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  308. { title: '调拨数量', dataIndex: 'qty', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  309. { title: '剩余可退数量', dataIndex: 'refundableQty', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  310. { title: '退货单价', scopedSlots: { customRender: 'returnPrice' }, width: '10%', align: 'center' },
  311. { title: '退货数量', dataIndex: 'returnQty', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  312. { title: '操作', scopedSlots: { customRender: 'action' }, width: '10%', align: 'center' }
  313. ]
  314. return arr
  315. },
  316. chooseColumns () {
  317. const arr = [
  318. { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
  319. { title: '调拨单号', dataIndex: 'allocateNo', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
  320. { title: '产品编码', dataIndex: 'product.code', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
  321. { title: '产品名称', dataIndex: 'product.name', align: 'center', width: '29%', customRender: function (text) { return text || '--' }, ellipsis: true },
  322. { title: '单位', dataIndex: 'product.unit', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
  323. { title: '退货单价', scopedSlots: { customRender: 'returnPrice' }, width: '10%', align: 'center' },
  324. { title: '退货数量', dataIndex: 'returnQty', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  325. { title: '退货金额', dataIndex: 'totalReturnPrice', width: '10%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
  326. { title: '操作', scopedSlots: { customRender: 'action' }, width: '10%', align: 'center' }
  327. ]
  328. return arr
  329. }
  330. },
  331. methods: {
  332. // 修改备注
  333. handleEditRemark () {
  334. const _this = this
  335. const params = _this.basicInfoData
  336. allocateReturnSave(params).then(res => {
  337. if (res.status == 200) {
  338. _this.$message.success(res.message)
  339. _this.getDetail(true)
  340. } else {
  341. _this.spinning = false
  342. }
  343. })
  344. _this.editRemark = false
  345. },
  346. // 修改调拨类型
  347. changeAllocateType (val) {
  348. const _this = this
  349. this.$confirm({
  350. title: '提示',
  351. content: '确定要更改调拨退货类型吗?',
  352. centered: true,
  353. onOk () {
  354. _this.handleEditRemark()
  355. },
  356. onCancel () {
  357. _this.getDetail(true)
  358. }
  359. })
  360. },
  361. // 重置
  362. resetSearchForm () {
  363. this.queryParam.productCode = ''
  364. this.queryParam.productName = ''
  365. this.queryParam.allocateNo = ''
  366. this.$refs.table.refresh(true)
  367. },
  368. // 双击快速添加
  369. handleClickRow (record) {
  370. return {
  371. on: {
  372. dblclick: (event) => {
  373. if (record.refundableQty) {
  374. this.handleAdd(record)
  375. }
  376. }
  377. }
  378. }
  379. },
  380. // // 导入产品
  381. // handleGuideOk (obj) {
  382. // allocateBillBatchInsert(obj).then(res => {
  383. // if (res.status == 200) {
  384. // this.$refs.chooseTable.refresh(true)
  385. // }
  386. // })
  387. // },
  388. // 已选产品 重置
  389. chooseResetSearchForm () {
  390. this.chooseQueryParam.productCode = ''
  391. this.chooseQueryParam.productName = ''
  392. this.$refs.chooseTable.refresh(true)
  393. },
  394. // 添加/编辑
  395. handleAdd (row, isEdit, isRefresh) {
  396. const params = {
  397. allocateReturnSn: this.$route.params.sn,
  398. productSn: row.productSn,
  399. price: isEdit ? row.price : row.returnPrice,
  400. allocateNo: row.allocateNo,
  401. allocateSn: row.allocateSn
  402. }
  403. const fun = isEdit ? allocReturnDetailUpdate : allocReturnDetailInsert
  404. if (isEdit) { // 编辑
  405. if (!row.price) {
  406. row.price = row.oldPrice
  407. return
  408. }
  409. params.oldPrice = row.oldPrice
  410. } else {
  411. params.oldPrice = row.oldPrice
  412. }
  413. this.spinning = true
  414. fun(params).then(res => {
  415. if (res.status == 200) {
  416. this.getDetail(true)
  417. this.$message.success(res.message)
  418. if (isRefresh != 'noRefresh') {
  419. this.$refs.table.refresh()
  420. }
  421. this.$refs.chooseTable.refresh()
  422. this.spinning = false
  423. } else {
  424. this.spinning = false
  425. row.price = row.oldPrice
  426. }
  427. })
  428. },
  429. // 删除
  430. handleDel (row, isAll) {
  431. const _this = this
  432. const content = isAll ? '删除后不可恢复,确定要进行整单删除吗?' : '删除后不可恢复,确定要进行删除吗?'
  433. this.$confirm({
  434. title: '提示',
  435. content: content,
  436. centered: true,
  437. onOk () {
  438. if (isAll) { // 整单删除
  439. // allocReturnDetailDeleteAll({ sn: _this.$route.params.sn }).then(res => {
  440. // if (res.status == 200) {
  441. // _this.$message.success(res.message)
  442. // _this.refashPage()
  443. // }
  444. // })
  445. } else { // 单个删除
  446. allocReturnDetailDelete({
  447. allocateReturnSn: _this.$route.params.sn,
  448. allocateDetailSn: row.allocateDetailSn,
  449. price: row.price,
  450. productSn: row.productSn }).then(res => {
  451. if (res.status == 200) {
  452. _this.$message.success(res.message)
  453. _this.refashPage()
  454. }
  455. })
  456. }
  457. }
  458. })
  459. },
  460. // 提交
  461. handleSubmit () {
  462. const _this = this
  463. if (this.localDataSource.length == 0) {
  464. _this.$message.error('请先选择产品!')
  465. return
  466. }
  467. _this.spinning = true
  468. allocateReturnSubmit({ allocateReturnSn: this.$route.params.sn }).then(res => {
  469. if (res.status == 200) {
  470. this.$message.success(res.message)
  471. setTimeout(() => {
  472. _this.handleBack()
  473. _this.spinning = false
  474. }, 1000)
  475. } else {
  476. _this.spinning = false
  477. }
  478. })
  479. },
  480. // 基本信息
  481. getDetail (flag) {
  482. this.spinning = true
  483. allocateReturnQueryBySn({ allocateReturnSn: this.$route.params.sn }).then(res => {
  484. if (res.status == 200) {
  485. this.basicInfoData = res.data
  486. if (!flag) {
  487. this.resetSearchForm()
  488. }
  489. } else {
  490. this.basicInfoData = null
  491. }
  492. this.spinning = false
  493. })
  494. },
  495. // 返回列表
  496. handleBack () {
  497. this.$router.push({ name: 'transferReturnList', query: { closeLastOldTab: true } })
  498. },
  499. // 已选产品 退货单价 change
  500. priceChange (val, record) {
  501. // 光标移出,值发生改变再调用编辑接口
  502. if (Number(val) != Number(record.oldPrice)) {
  503. this.handleAdd(record, true, 'noRefresh')
  504. }
  505. },
  506. // 刷新当前页面
  507. refashPage () {
  508. this.getDetail(true)
  509. this.$refs.table.refresh()
  510. this.$refs.chooseTable.refresh()
  511. },
  512. pageInit () {
  513. this.getDetail()
  514. this.chooseResetSearchForm()
  515. }
  516. },
  517. mounted () {
  518. if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
  519. this.pageInit()
  520. }
  521. },
  522. activated () {
  523. // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
  524. if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
  525. this.pageInit()
  526. }
  527. },
  528. beforeRouteEnter (to, from, next) {
  529. next(vm => {})
  530. }
  531. }
  532. </script>
  533. <style lang="less">
  534. .editGrap-wrap{
  535. position: relative;
  536. height: 100%;
  537. box-sizing: border-box;
  538. >.ant-spin-nested-loading{
  539. overflow-y: scroll;
  540. height: 100%;
  541. padding-bottom: 51px;
  542. }
  543. .editGrap-back{
  544. margin-bottom: 10px;
  545. }
  546. .editGrap-cont{
  547. margin-bottom: 10px;
  548. .sub-title{
  549. font-size: 12px;
  550. color: #808695;
  551. margin-left: 10px;
  552. }
  553. .tag-txt{
  554. font-size: 12px;
  555. color: #ed1c24;
  556. }
  557. .edit-circle-btn{
  558. margin-left: 15px;
  559. i{
  560. vertical-align: text-bottom;
  561. }
  562. }
  563. .import-btn{
  564. margin-left: 15px;
  565. }
  566. }
  567. }
  568. .allocateBill-editRemark-modal{
  569. .btn-cont{
  570. text-align: center;
  571. padding-top: 20px;
  572. }
  573. }
  574. </style>