123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- <template>
- <hc-body split :project-nmae="projectInfo?.projectName">
- <template #tree>
- <TestTree
- :auto-expand-keys="treeAutoExpandKeys" :project-id="projectId" :tenant-id="userInfo?.tenant_id"
- :wbs-temp-id="projectInfo?.referenceWbsTemplateIdTrial" :wbs-type="2" @node-tap="wbsElTreeClick"
- />
- </template>
- <hc-new-card w-to="1919">
- <template #headerToSearch>
- <div class="w-50">
- <el-select v-model="searchForm.contractId" placeholder="选择合同段" filterable clearable block>
- <el-option label="测试1" value="1" />
- <el-option label="测试2" value="2" />
- </el-select>
- </div>
- <div class="ml-2 w-40">
- <el-select v-model="searchForm.contractId" placeholder="委托单状态" filterable clearable block>
- <el-option label="测试1" value="1" />
- <el-option label="测试2" value="2" />
- </el-select>
- </div>
- <div class="ml-2 w-250px">
- <hc-search-input v-model="searchForm.queryValue" @search="searchClick" />
- </div>
- </template>
- <template #extraToHeader>
- <el-button hc-btn type="primary" @click="addFormData">
- <hc-icon name="add-circle" />
- <span>新增</span>
- </el-button>
- <el-button v-del-com:[delModalClick] :disabled="tableCheckedKeys.length <= 0" hc-btn type="danger">
- <hc-icon name="delete-bin-2" />
- <span>删除</span>
- </el-button>
- <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn color="#567722">
- <hc-icon name="printer" />
- <span>批量打印</span>
- </el-button>
- <el-button :disabled="tableCheckedKeys.length <= 0" class="text-white" hc-btn color="#FF976A">
- <HcIcon name="send-plane-2" />
- <span>上报</span>
- </el-button>
- <el-button hc-btn color="#567722">
- <hc-icon name="printer" />
- <span>打印空表</span>
- </el-button>
- </template>
- <hc-table
- :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
- :index-style="{ width: 60 }" :check-style="{ width: 29 }" @selection-change="tableSelection"
- >
- <template #key5="{ row }">
- <el-tag v-if="row.key5 === 1" type="info" effect="dark">未上报</el-tag>
- <el-tag v-if="row.key5 === 2" type="warning" effect="dark">已上报-待审批</el-tag>
- <el-tag v-if="row.key5 === 3" type="primary" effect="dark">待试验</el-tag>
- <el-tag v-if="row.key5 === 4" type="success" effect="dark">委托完成</el-tag>
- </template>
- <template #action="{ row }">
- <el-link v-if="row.key5 === 1" type="primary" @click="rowEdit(row)">修改</el-link>
- <el-link v-else type="success" @click="rowView(row)">查看</el-link>
- <el-link type="danger" :disabled="row.key5 !== 1" @click="rowReports(row)">创建报告</el-link>
- </template>
- </hc-table>
- <template #action>
- <hc-pages :pages="searchForm" @change="pageChange" />
- </template>
- </hc-new-card>
- <!-- 新增委托 -->
- <hc-new-dialog v-model="delegateModal" is-footer-center is-table title="新增委托" widths="60rem" @close="delegateModalClose">
- html表单
- <template #footer>
- <el-button @click="delegateModalClose">取消</el-button>
- <el-button hc-btn type="warning" @click="linkSamplingShow">关联取样材料</el-button>
- <el-button hc-btn type="primary" @click="creatingDelegate">创建</el-button>
- </template>
- </hc-new-dialog>
- <!-- 关联取样材料 -->
- <hc-new-dialog v-model="linkSamplingModal" is-footer-center is-table title="关联取样材料" widths="80%" @close="linkSamplingClose">
- <SamplingPage />
- <template #footer>
- <el-button @click="linkSamplingClose">取消</el-button>
- <el-button hc-btn type="primary" @click="linkSamplingClick">确定</el-button>
- </template>
- </hc-new-dialog>
- </hc-body>
- </template>
- <script setup>
- import { onMounted, ref } from 'vue'
- import { useAppStore } from '~src/store'
- import { getStoreValue, setStoreValue } from '~src/utils/storage'
- import TestTree from '~src/views/tentative/material/components/TestTree.vue'
- import SamplingPage from './commission/sampling.vue'
- //变量
- const useAppState = useAppStore()
- const userInfo = ref(useAppState.getUserInfo)
- const projectId = ref(useAppState.getProjectId)
- const contractId = ref(useAppState.getContractId)
- const projectInfo = ref(useAppState.getProjectInfo)
- //渲染完成
- onMounted(() => {
- })
- //搜索表单
- const searchForm = ref({ current: 1, size: 20, total: 0 })
- //自动展开缓存
- const treeAutoExpandKeys = ref(getStoreValue('testTreeExpandKeys') || [])
- //树被点击
- const nodeDataInfo = ref({})
- const wbsElTreeClick = ({ data, keys }) => {
- nodeDataInfo.value = data
- //缓存自动展开
- treeAutoExpandKeys.value = keys
- setStoreValue('testTreeExpandKeys', keys)
- }
- //搜索
- const searchClick = () => {
- searchForm.value.current = 1
- getTableData()
- }
- //分页被点击
- const pageChange = ({ current, size }) => {
- searchForm.value.current = current
- searchForm.value.size = size
- getTableData()
- }
- //表格数据
- const tableData = ref([
- { key5:1 }, { key5:2 }, { key5:3 }, { key5:4 },
- ])
- const tableColumn = ref([
- { key: 'key1', name: '委托单位' },
- { key: 'key2', name: '委托单编号' },
- { key: 'key3', name: '委托单名称' },
- { key: 'key4', name: '关联材料名称' },
- { key: 'key5', name: '委托单状态', width: 120, align: 'center' },
- { key: 'action', name: '操作', width: 120, align: 'center' },
- ])
- //获取数据
- const tableLoading = ref(false)
- const getTableData = async () => {
- }
- //多选
- const tableCheckedKeys = ref([])
- const tableSelection = (rows) => {
- tableCheckedKeys.value = rows
- }
- //删除
- const delModalClick = async (_, resolve) => {
- resolve()
- }
- //新增
- const delegateModal = ref(false)
- const addFormData = () => {
- delegateModal.value = true
- }
- //修改
- const rowEdit = (row) => {
- delegateModal.value = true
- }
- //创建委托
- const creatingDelegate = async () => {
- delegateModalClose()
- }
- //关闭委托
- const delegateModalClose = () => {
- delegateModal.value = false
- }
- //关联取样材料
- const linkSamplingModal = ref(false)
- const linkSamplingShow = () => {
- linkSamplingModal.value = true
- }
- //确认关联取样材料
- const linkSamplingClick = () => {
- linkSamplingClose()
- }
- //取消关联取样材料
- const linkSamplingClose = () => {
- linkSamplingModal.value = false
- }
- //查看
- const rowView = (row) => {
- }
- //创建报告
- const rowReports = (row) => {
- }
- </script>
- <style scoped lang="scss">
- </style>
|