commission.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <template>
  2. <hc-body split :project-nmae="projectInfo?.projectName">
  3. <template #tree>
  4. <TestTree
  5. :auto-expand-keys="treeAutoExpandKeys" :project-id="projectId" :tenant-id="userInfo?.tenant_id"
  6. :wbs-temp-id="projectInfo?.referenceWbsTemplateIdTrial" :wbs-type="2" :entrust="1"
  7. @node-tap="wbsElTreeClick"
  8. />
  9. </template>
  10. <hc-new-card w-to="1919">
  11. <template #headerToSearch>
  12. <div class="w-50">
  13. <el-select v-model="searchForm.contractId" placeholder="选择合同段" filterable block>
  14. <el-option v-for="item in contractData" :key="item.id" :label="item.contractName" :value="item.id" />
  15. </el-select>
  16. </div>
  17. <div class="ml-2 w-40">
  18. <el-select v-model="searchForm.status" placeholder="委托单状态" filterable clearable block>
  19. <el-option v-for="item in entrustStatus" :key="item.value" :label="item.label" :value="item.value" />
  20. </el-select>
  21. </div>
  22. <div class="ml-2 w-250px">
  23. <hc-search-input v-model="searchForm.entrustName" @search="searchClick" />
  24. </div>
  25. </template>
  26. <template #extraToHeader>
  27. <hc-tooltip keys="tentative_detect_commission_add">
  28. <el-button hc-btn type="primary" @click="addFormData">
  29. <hc-icon name="add-circle" />
  30. <span>新增</span>
  31. </el-button>
  32. </hc-tooltip>
  33. <hc-tooltip keys="tentative_detect_commission_del">
  34. <el-button v-del-com:[delModalClick] :disabled="tableCheckedKeys.length <= 0" hc-btn type="danger">
  35. <hc-icon name="delete-bin-2" />
  36. <span>删除</span>
  37. </el-button>
  38. </hc-tooltip>
  39. <hc-tooltip keys="tentative_material_commission_prin">
  40. <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn color="#567722" @click="batchPrinting">
  41. <hc-icon name="printer" />
  42. <span>批量打印</span>
  43. </el-button>
  44. </hc-tooltip>
  45. <hc-tooltip keys="tentative_detect_commission_report">
  46. <el-button :disabled="tableCheckedKeys.length <= 0" class="text-white" hc-btn color="#FF976A" @click="reportClick">
  47. <HcIcon name="send-plane-2" />
  48. <span>上报</span>
  49. </el-button>
  50. </hc-tooltip>
  51. <hc-tooltip keys="tentative_material_commission_null">
  52. <el-button hc-btn color="#567722" @click="printerNull">
  53. <hc-icon name="printer" />
  54. <span>打印空表</span>
  55. </el-button>
  56. </hc-tooltip>
  57. </template>
  58. <hc-table
  59. :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
  60. :index-style="{ width: 60 }" :check-style="{ width: 29 }" @selection-change="tableSelection"
  61. >
  62. <template #status="{ row }">
  63. <el-tag v-if="row.status === 1" type="info" effect="dark">未上报</el-tag>
  64. <el-tag v-if="row.status === 2" type="warning" effect="dark">已上报-待审批</el-tag>
  65. <el-tag v-if="row.status === 3" type="primary" effect="dark">待试验</el-tag>
  66. <el-tag v-if="row.status === 4" type="success" effect="dark">委托完成</el-tag>
  67. </template>
  68. <template #action="{ row }">
  69. <hc-tooltip keys="tentative_material_commission_edit">
  70. <el-link v-if="row.status === 1" v-loading="rowLoad" type="primary" @click="rowEdit(row)">修改</el-link>
  71. <el-link v-else type="success" @click="rowView(row)">查看</el-link>
  72. </hc-tooltip>
  73. <hc-tooltip keys="tentative_material_commission_fill">
  74. <el-link v-if="row.status === 4" type="info" disabled>创建成功</el-link>
  75. <el-link v-else-if="!isNullES(row.testId)" type="danger" :disabled="row.status !== 3" @click="rowFillReports(row)">填写报告</el-link>
  76. <el-link v-else type="danger" :disabled="row.status !== 3" @click="rowReports(row)">创建报告</el-link>
  77. </hc-tooltip>
  78. </template>
  79. </hc-table>
  80. <template #action>
  81. <hc-pages :pages="searchForm" @change="pageChange" />
  82. </template>
  83. </hc-new-card>
  84. <!-- 新增委托 -->
  85. <hc-new-dialog v-model="delegateModal" ui="hc-delegate-html-modal" is-footer-center is-table :title="`${editHtmlId ? '修改' : '新增'}委托`" widths="60rem" @close="delegateModalClose">
  86. <div class="hc-delegate-contract hc-flex h-40px">
  87. <el-select v-model="delegateContractId" placeholder="请先选择合同段" filterable class="w-400px" @change="delegateContractChange">
  88. <el-option v-for="item in contractData" :key="item.id" :label="item.contractName" :value="item.id" />
  89. </el-select>
  90. </div>
  91. <div class="hc-delegate-html" :class="delegateContractId ? 'is-show' : ''">
  92. <hc-table-form ref="htmlRef" :pkey="nodeErTreeId" :form="delegateHtmlForm" :html="delegateHtml" :loading="delegateHtmlLoading" @render="delegateHtmlRender" />
  93. </div>
  94. <template #footer>
  95. <el-button @click="delegateModalClose">取消</el-button>
  96. <el-button hc-btn type="warning" @click="linkSamplingModal = true">关联取样材料</el-button>
  97. <el-button v-if="editHtmlId" hc-btn type="primary" @click="creatingDelegate">保存</el-button>
  98. <el-button v-else hc-btn type="primary" @click="creatingDelegate">创建</el-button>
  99. </template>
  100. </hc-new-dialog>
  101. <!-- 关联取样材料 -->
  102. <SamplingPage v-model="linkSamplingModal" v-model:id="delegateHtmlForm.sampleId" :cid="searchForm.contractId" @change="linkSamplingChange" />
  103. <!-- 创建报告 -->
  104. <hc-new-dialog v-model="rowActionModal" is-footer-center title="创建报告" widths="40rem" @close="rowActionModalClose">
  105. <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" label-width="auto">
  106. <el-row :gutter="20">
  107. <el-col :span="12">
  108. <el-form-item label="委托单位:">
  109. <el-input v-model="formModel.entrustInfo" placeholder="委托单位" disabled />
  110. </el-form-item>
  111. </el-col>
  112. <el-col :span="12">
  113. <el-form-item label="委托单位名称:">
  114. <el-input v-model="formModel.entrustName" placeholder="委托单位名称" disabled />
  115. </el-form-item>
  116. </el-col>
  117. <el-col :span="12">
  118. <el-form-item label="取样名称:">
  119. <el-input v-model="formModel.materialName" placeholder="取样名称" disabled />
  120. </el-form-item>
  121. </el-col>
  122. <el-col :span="12">
  123. <el-form-item label="取样数量:">
  124. <el-input v-model="formModel.materialCount" placeholder="取样数量" disabled />
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="12">
  128. <el-form-item label="样品编号:">
  129. <el-input v-model="formModel.entrustNo" placeholder="样品编号" disabled />
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="12">
  133. <el-form-item label="试验数量:" prop="expCount">
  134. <el-input v-model="formModel.expCount" placeholder="试验数量" />
  135. </el-form-item>
  136. </el-col>
  137. <el-col :span="12">
  138. <el-form-item label="规格型号:">
  139. <el-input v-model="formModel.specificationModel" placeholder="规格型号" disabled />
  140. </el-form-item>
  141. </el-col>
  142. <el-col :span="12">
  143. <el-form-item label="计算单位:">
  144. <el-input v-model="formModel.calculationUnit" placeholder="计算单位" disabled />
  145. </el-form-item>
  146. </el-col>
  147. </el-row>
  148. </el-form>
  149. <template #footer>
  150. <el-button @click="rowActionModalClose">取消</el-button>
  151. <el-button hc-btn type="primary" :loading="rowActionLoading" @click="rowActionSave">创建</el-button>
  152. </template>
  153. </hc-new-dialog>
  154. <!-- 上报审批 -->
  155. <hc-report-modal
  156. :show="showReportModal"
  157. :classify-type="classifyType"
  158. :addition="reportAddition"
  159. :contract-id="contractId"
  160. :ids="reportIds"
  161. :project-id="projectId"
  162. :task-name="reportTaskName"
  163. :trial-self-inspection-record-id="2"
  164. title="上报审批" type="wbs"
  165. url="informationWriteQuery/batchTask"
  166. @finish="showReportFinish"
  167. @hide="hideReport"
  168. />
  169. </hc-body>
  170. </template>
  171. <script setup>
  172. import { onActivated, onMounted, ref } from 'vue'
  173. import { useAppStore } from '~src/store'
  174. import { useRouter } from 'vue-router'
  175. import { getStoreValue, setStoreValue } from '~src/utils/storage'
  176. import { arrToId, deepClone, formValidate, getArrValue, getObjValue, isNullES, isString } from 'js-fast-way'
  177. import { toPdfPage } from '~uti/btn-auth'
  178. import { getDictionaryData } from '~uti/tools'
  179. import { getErtractInfo } from '~api/other'
  180. import mainApi from '~api/tentative/detect/commission'
  181. import samplingApi from '~api/tentative/material/sampling'
  182. import TestTree from '~src/views/tentative/material/components/TestTree.vue'
  183. import SamplingPage from './commission/sampling.vue'
  184. //变量
  185. const router = useRouter()
  186. const useAppState = useAppStore()
  187. const userInfo = ref(useAppState.getUserInfo)
  188. const projectId = ref(useAppState.getProjectId)
  189. const contractId = ref(useAppState.getContractId)
  190. const projectInfo = ref(useAppState.getProjectInfo)
  191. const contractInfo = ref(useAppState.getContractInfo)
  192. //渲染完成
  193. onActivated(() => {
  194. getContractData()
  195. getEntrustStatusData()
  196. })
  197. //搜索表单
  198. const searchForm = ref({ entrustName: null, current: 1, size: 20, total: 0 })
  199. //自动展开缓存
  200. const treeAutoExpandKeys = ref(getStoreValue('testTreeExpandKeys') || [])
  201. //树被点击
  202. const nodeDataInfo = ref({})
  203. const nodeErTreeId = ref('')
  204. const wbsElTreeClick = ({ data, keys }) => {
  205. nodeDataInfo.value = data
  206. //nodeErTreeId.value = data['erTreeId'] || ''
  207. //缓存自动展开
  208. treeAutoExpandKeys.value = keys
  209. setStoreValue('testTreeExpandKeys', keys)
  210. searchForm.value.nodeId = data['primaryKeyId'] || ''
  211. //获取表格
  212. searchClick()
  213. }
  214. //获取合同段信息
  215. const contractData = ref([])
  216. const getContractData = async () => {
  217. const { data } = await getErtractInfo({
  218. projectId: projectId.value,
  219. contractId: contractId.value,
  220. })
  221. const res = getArrValue(data)
  222. contractData.value = res
  223. if (res.length <= 0) return
  224. let cid
  225. for (let i = 0; i < res.length; i++) {
  226. if (contractId.value == res[i].id) {
  227. cid = res[i].id
  228. }
  229. }
  230. searchForm.value.contractId = isNullES(cid) ? res[0].id : cid
  231. }
  232. //获取状态
  233. const entrustStatus = ref([])
  234. const getEntrustStatusData = async () => {
  235. entrustStatus.value = await getDictionaryData('entrust_status', true)
  236. }
  237. //搜索
  238. const searchClick = () => {
  239. searchForm.value.current = 1
  240. getTableData()
  241. }
  242. //分页被点击
  243. const pageChange = ({ current, size }) => {
  244. searchForm.value.current = current
  245. searchForm.value.size = size
  246. getTableData()
  247. }
  248. //表格数据
  249. const tableData = ref([])
  250. const tableColumn = ref([
  251. { key: 'entrustInfo', name: '委托单位' },
  252. { key: 'entrustNo', name: '委托单编号' },
  253. { key: 'entrustName', name: '委托单名称' },
  254. { key: 'materialName', name: '关联材料名称' },
  255. { key: 'status', name: '委托单状态', width: 120, align: 'center' },
  256. { key: 'action', name: '操作', width: 120, align: 'center', fixed: 'right' },
  257. ])
  258. //获取数据
  259. const tableLoading = ref(false)
  260. const getTableData = async () => {
  261. tableLoading.value = true
  262. const { error, code, data } = await mainApi.page(searchForm.value)
  263. //处理数据
  264. tableLoading.value = false
  265. if (!error && code === 200) {
  266. tableData.value = getArrValue(data['records'])
  267. searchForm.value.total = data.total || 0
  268. } else {
  269. tableData.value = []
  270. searchForm.value.total = 0
  271. }
  272. }
  273. //多选
  274. const tableCheckedKeys = ref([])
  275. const tableSelection = (rows) => {
  276. tableCheckedKeys.value = rows
  277. }
  278. //删除
  279. const delModalClick = async (_, resolve) => {
  280. const rows = tableCheckedKeys.value
  281. if (rows.length <= 0) {
  282. window.$message.warning('请先勾选需要删除的数据')
  283. return
  284. }
  285. const { error, code, msg } = await mainApi.remove(arrToId(rows))
  286. resolve()
  287. if (!error && code === 200) {
  288. window.$message.success('删除成功')
  289. getTableData().then()
  290. } else {
  291. window.$message.error(msg || '删除失败')
  292. }
  293. }
  294. //委托单变量
  295. const htmlRef = ref(null)
  296. const delegateHtml = ref('')
  297. const delegateHtmlForm = ref({})
  298. const delegateHtmlLoading = ref(false)
  299. const delegateContractId = ref(null)
  300. //新增
  301. const delegateModal = ref(false)
  302. const addFormData = () => {
  303. delegateModal.value = true
  304. editHtmlId.value = ''
  305. const { contractId } = deepClone(searchForm.value)
  306. delegateContractId.value = contractId
  307. if (!isNullES(contractId)) {
  308. delegateContractChange()
  309. }
  310. }
  311. //合同段被选择
  312. const delegateContractChange = async () => {
  313. delegateHtmlLoading.value = true
  314. //await getDelegateDataInfo(editHtmlId.value)
  315. await getDelegateExcelHtml()
  316. delegateHtmlLoading.value = false
  317. }
  318. //获取委托html
  319. const getDelegateExcelHtml = async () => {
  320. const { error, code, msg, data } = await samplingApi.getExcelHtml({
  321. nodeId: searchForm.value.nodeId,
  322. contractId: contractId.value,
  323. })
  324. if (!error && code === 200) {
  325. delegateHtml.value = isString(data) ? data : ''
  326. nodeErTreeId.value = msg === '未知错误' ? null : msg
  327. } else {
  328. delegateHtml.value = ''
  329. window.$message.error(msg || '获取委托信息失败')
  330. }
  331. }
  332. //关联材料选择
  333. const linkSamplingChange = async ({ id, entrustId }) => {
  334. await getDelegateExcelHtml()
  335. await getDelegateDataInfo(id, entrustId, delegateHtmlForm.value)
  336. }
  337. //获取委托数据
  338. const getDelegateDataInfo = async (id, entrustId, formData) => {
  339. const { primaryKeyId } = nodeDataInfo.value
  340. const { error, code, msg, data } = await samplingApi.getBussDataInfoTrialEntrust({
  341. id: entrustId,
  342. sampleId: id,
  343. pkeyId: nodeErTreeId.value,
  344. projectId: projectId.value,
  345. contractId: delegateContractId.value,
  346. nodeId: primaryKeyId,
  347. formData: JSON.stringify(formData),
  348. })
  349. if (!error && code === 200) {
  350. delegateHtmlForm.value = getObjValue(data[0])
  351. } else {
  352. delegateHtmlForm.value = {}
  353. window.$message.error(msg || '获取委托信息失败')
  354. }
  355. }
  356. //委托单html渲染完成
  357. const delegateHtmlRender = (form) => {
  358. delegateHtmlForm.value = form
  359. }
  360. //修改
  361. const editHtmlId = ref('')
  362. const rowLoad = ref(false)
  363. const rowEdit = async (row) => {
  364. editHtmlId.value = row.id
  365. const { contractId } = deepClone(searchForm.value)
  366. delegateContractId.value = contractId
  367. if (!isNullES(contractId)) {
  368. // delegateContractChange()
  369. rowLoad.value = true
  370. delegateHtmlLoading.value = true
  371. await getDelegateExcelHtml()
  372. await getDelegateDataInfo('', row.id)
  373. rowLoad.value = false
  374. delegateHtmlLoading.value = false
  375. delegateModal.value = true
  376. }
  377. }
  378. //关联取样材料
  379. const linkSamplingModal = ref(false)
  380. //创建委托
  381. const creatingDelegate = async () => {
  382. if (isNullES(delegateHtml.value)) {
  383. window.$message.error('暂无委托单信息')
  384. return
  385. }
  386. const form = delegateHtmlForm.value
  387. if (isNullES(delegateContractId.value)) {
  388. window.$message.warning('请先选择合同段')
  389. return
  390. }
  391. if (isNullES(form.sampleId)) {
  392. window.$message.warning('请先关联取样材料')
  393. return
  394. }
  395. //修改时的id
  396. if (!isNullES(editHtmlId.value)) {
  397. form.id = editHtmlId.value
  398. }
  399. //处理数据
  400. const { primaryKeyId } = nodeDataInfo.value
  401. form.contractId = delegateContractId.value
  402. form.nodeErTreeId = nodeErTreeId.value
  403. form.nodeId = primaryKeyId
  404. console.log(form)
  405. //发起请求
  406. const { error, code, msg } = await mainApi.htmlSave(form)
  407. if (!error && code === 200) {
  408. window.$message.success('创建成功')
  409. delegateModalClose()
  410. getTableData().then()
  411. } else {
  412. window.$message.error(msg || '创建失败')
  413. }
  414. }
  415. //关闭委托
  416. const delegateModalClose = () => {
  417. delegateModal.value = false
  418. delegateHtmlForm.value = {}
  419. delegateHtml.value = ''
  420. delegateContractId.value = null
  421. delegateHtmlLoading.value = false
  422. }
  423. //查看
  424. const rowView = ({ entrustEPdf, entrustPdf }) => {
  425. if (isNullES(entrustPdf) && isNullES(entrustEPdf)) {
  426. window.$message.warning('暂无PDF数据')
  427. return
  428. }
  429. if (!isNullES(entrustEPdf)) {
  430. toPdfPage(entrustEPdf)
  431. } else if (!isNullES(entrustPdf)) {
  432. toPdfPage(entrustPdf)
  433. }
  434. }
  435. //表单数据
  436. const formRef = ref(null)
  437. const formModel = ref({})
  438. const formRules = {
  439. expCount: {
  440. required: true,
  441. trigger: 'blur',
  442. message: '请填写试验数量',
  443. },
  444. }
  445. //创建报告
  446. const rowActionModal = ref(false)
  447. const rowReports = async (row) => {
  448. rowActionModal.value = true
  449. const { data } = await mainApi.detail(row.id)
  450. formModel.value = getObjValue(data)
  451. }
  452. //提交保存
  453. const rowActionLoading = ref(false)
  454. const rowActionSave = async () => {
  455. const isForm = await formValidate(formRef.value)
  456. if (!isForm) return
  457. rowActionLoading.value = true
  458. const { contractType } = contractInfo.value
  459. const { id, expCount } = formModel.value
  460. const { primaryKeyId } = nodeDataInfo.value
  461. setStoreValue('testTreeItem', nodeDataInfo.value)
  462. setStoreValue('prenodeDataInfo', nodeDataInfo.value)
  463. const { error, code, msg } = await mainApi.update({ id, expCount })
  464. if (!error && code === 200) {
  465. window.$message.success('创建成功')
  466. rowActionLoading.value = false
  467. rowActionModalClose()
  468. router.push({
  469. path: '/tentative/detect/test-form',
  470. query: {
  471. nodeId: primaryKeyId || '',
  472. dataType: contractType > 0 ? contractType + '' : '1',
  473. commissionId: id,
  474. cid: searchForm.value?.contractId,
  475. isaddType: true,
  476. },
  477. }).then()
  478. } else {
  479. rowActionLoading.value = false
  480. window.$message.error(msg || '创建失败')
  481. }
  482. }
  483. //关闭弹窗
  484. const rowActionModalClose = () => {
  485. rowActionModal.value = false
  486. formModel.value = {}
  487. }
  488. //填写报告
  489. const rowFillReports = async ({ id, testId }) => {
  490. const { error, code, data, msg } = await mainApi.selfDetail(testId)
  491. if (!error && code === 200) {
  492. const res = getObjValue(data)
  493. setStoreValue('test-form', res)
  494. setStoreValue('testTreeItem', nodeDataInfo.value)
  495. setStoreValue('prenodeDataInfo', nodeDataInfo.value)
  496. router.push({
  497. path: '/tentative/detect/test-form',
  498. query: {
  499. id: testId,
  500. nodeId: res.nodeId,
  501. dataType: res.type,
  502. commissionId: id,
  503. tabTypeKey: 1,
  504. cid: searchForm.value?.contractId,
  505. },
  506. }).then()
  507. } else {
  508. window.$message.error(msg || '操作失败')
  509. }
  510. }
  511. //批量打印
  512. const batchPrinting = () => {
  513. }
  514. //上报
  515. const classifyType = ref('')
  516. const reportIds = ref('')
  517. const reportTaskName = ref('')
  518. const showReportModal = ref(false)
  519. const reportAddition = ref({})
  520. const reportClick = () => {
  521. const rows = tableCheckedKeys.value
  522. if (rows.length <= 0) {
  523. window.$message.warning('请先勾选一条需要上报的数据')
  524. return
  525. } else if (rows.length > 1) {
  526. window.$message.warning('只能选择其中一条数据进行上报')
  527. return
  528. }
  529. //判断状态
  530. const { status, entrustName } = { ...rows[0] }
  531. if (status !== 1) {
  532. window.$message.warning('只能选择未上报的数据进行上报')
  533. return
  534. }
  535. // 委托单上报设置为1
  536. classifyType.value = '1'
  537. //其它数据
  538. reportIds.value = rows[0].id //数据ID
  539. reportTaskName.value = entrustName //任务名称
  540. //附加数据
  541. const { contractIdRelation } = nodeDataInfo.value
  542. reportAddition.value = {
  543. taskType: '1', //用来区分委托单
  544. classify: classifyType.value,
  545. contractIdRelation: contractIdRelation,
  546. }
  547. //显示任务上报
  548. showReportModal.value = true
  549. }
  550. //上报完成
  551. const showReportFinish = () => {
  552. hideReport()
  553. getTableData()
  554. }
  555. //关闭上报弹窗
  556. const hideReport = () => {
  557. showReportModal.value = false
  558. classifyType.value = ''
  559. reportAddition.value = {}
  560. reportIds.value = ''
  561. reportTaskName.value = ''
  562. }
  563. //打印空表
  564. const printerNull = () => {
  565. }
  566. </script>
  567. <style lang="scss">
  568. .el-overlay-dialog .el-dialog.hc-new-dialog.hc-delegate-html-modal {
  569. .hc-new-dialog-body {
  570. padding: 0;
  571. }
  572. .hc-table-form-data-item {
  573. padding: 0;
  574. .el-scrollbar__bar.is-vertical {
  575. right: 0;
  576. }
  577. }
  578. }
  579. .hc-delegate-html-modal {
  580. .hc-delegate-html {
  581. position: relative;
  582. height: calc(100% - 40px);
  583. .hc-table-form-data-item {
  584. background-color: #efefef;
  585. }
  586. &::after {
  587. content: "";
  588. position: absolute;
  589. inset: 0;
  590. background: rgb(161 161 161 / 40%);
  591. z-index: 22;
  592. }
  593. &.is-show {
  594. &::after {
  595. display: none;
  596. z-index: -1;
  597. }
  598. }
  599. }
  600. }
  601. </style>