report-add.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <div class="report-add">
  3. <a-form :model="formState" labelAlign="center" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }">
  4. <a-form-item label="所属部门编号:" >
  5. <a-select v-model:value="formState.sysOrgCode" placeholder="请选择...">
  6. <a-select-option v-for="item in sysOrgCodeList" :key="item.value">{{ item.label }}</a-select-option>
  7. </a-select>
  8. </a-form-item>
  9. <a-form-item label="数据名称:">
  10. <a-input v-model:value="formState.name" placeholder="请输入..." />
  11. </a-form-item>
  12. <a-form-item label="集团报表单元格所在sheet页:">
  13. <a-input v-model:value="formState.groupSheet" placeholder="请输入..." />
  14. </a-form-item>
  15. <a-form-item label="集团报表单元格所在列:">
  16. <a-input v-model:value="formState.groupCol" placeholder="请输入..." />
  17. </a-form-item>
  18. <a-form-item label="集团报表单元格所在行:">
  19. <a-input v-model:value="formState.groupRow" placeholder="请输入..." />
  20. </a-form-item>
  21. <a-form-item label="矿报表单元格:">
  22. <a-input v-model:value="formState.sheet" placeholder="请输入sheet页,多个值中间用逗号隔开" style="width:330px;" />
  23. <a-input v-model:value="formState.col" placeholder="请输入col列,多个值中间用逗号隔开" style="width:330px;margin:0px 10px" />
  24. <a-input v-model:value="formState.row" placeholder="请输入row行,多个值中间用逗号隔开" style="width:330px" />
  25. </a-form-item>
  26. <a-form-item label="是否计算:">
  27. <a-radio-group v-model:value="formState.isCompute" name="radioGroup">
  28. <a-radio :value=true>是</a-radio>
  29. <a-radio :value=false>否</a-radio>
  30. </a-radio-group>
  31. </a-form-item>
  32. <a-form-item label="计算公式:">
  33. <JDictSelectTag v-model:value="formState.formula" placeholder="请选择计算公式..." dictCode="report_formula" />
  34. </a-form-item>
  35. </a-form>
  36. <div class="confirm-btn">
  37. <a-button type="primary" @click="getReportAdd">添加</a-button>
  38. </div>
  39. </div>
  40. </template>
  41. <script setup lang="ts">
  42. import { ref, reactive,onMounted } from 'vue'
  43. import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
  44. import { reportAdd,queryDepartTreeSync } from '../reportManager.api'
  45. let formState = reactive({
  46. sysOrgCode:'',
  47. formula: '',
  48. groupCol: '',
  49. groupRow: '',
  50. groupSheet: '',
  51. isCompute: true,
  52. mineCells: [],
  53. sheet:'',
  54. col:'',
  55. row:'',
  56. name: ''
  57. })
  58. //所属部门编号列表
  59. let sysOrgCodeList=reactive<any[]>([])
  60. async function getReportAdd(){
  61. formState.mineCells.length=0
  62. let paramRow=formState.row.split(',')
  63. let paramCol=formState.col.split(',')
  64. let paramSheet=formState.sheet.split(',')
  65. paramRow.forEach((el,index)=>{
  66. formState.mineCells.push({sheet:paramSheet[index],col:paramCol[index],row:paramRow[index]})
  67. })
  68. console.log(formState,'formState------------')
  69. let res=await reportAdd({sysOrgCode:formState.sysOrgCode,formula:formState.formula,groupCol:formState.groupCol,groupRow:formState.groupRow, groupSheet:formState.groupSheet,isCompute:formState.isCompute,mineCells:JSON.stringify(formState.mineCells),name:formState.name})
  70. console.log(res,'res9999------------------')
  71. }
  72. //获取所属部门编号列表数据
  73. async function queryDepartTreeSyncList(){
  74. let res=await queryDepartTreeSync()
  75. console.log(res,'部门编号列表--------')
  76. sysOrgCodeList.length=0
  77. if(res.length!=0){
  78. res.forEach(el=>{
  79. sysOrgCodeList.push({label:el.title,value:el.orgCode})
  80. })
  81. }
  82. }
  83. onMounted(()=>{
  84. queryDepartTreeSyncList()
  85. })
  86. </script>
  87. <style lang="less" scoped>
  88. .report-add {
  89. position: relative;
  90. width: 100%;
  91. height: 100%;
  92. padding: 30px 10px;
  93. margin: 0 auto;
  94. box-sizing: border-box
  95. }
  96. .zxm-form {
  97. width: 80%;
  98. margin-bottom: 20px;
  99. }
  100. .confirm-btn {
  101. position: absolute;
  102. bottom: 290px;
  103. left: 50%;
  104. transform: translate(-50%,0);
  105. height: 40px;
  106. }
  107. :deep(.zxm-form-item-label > label) {
  108. color: #fff;
  109. }
  110. :deep(.zxm-select-selector) {
  111. width: 100%;
  112. color: #fff ;
  113. border: 1px solid #3ad8ff77 !important;
  114. background-color: #ffffff00 !important;
  115. }
  116. :deep(.zxm-select-selection-item){
  117. color: #fff !important;
  118. }
  119. :deep(.zxm-select-selection-placeholder){
  120. color: #ccc !important;
  121. }
  122. :deep(.zxm-input){
  123. color: #fff;
  124. border: 1px solid #3ad8ff77 !important;
  125. background-color: #ffffff00 !important;
  126. }
  127. </style>