马宇豪
2024-11-12 77737f4e73f7267170b9b06fc73d1610c29c0661
src/views/newSpecialWorkSystem/workTicket/zysq/components/workSelect.vue
@@ -3,11 +3,11 @@
    <el-row style="margin-bottom: 20px">
      <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
        <span>作业编号:</span>
        <el-input v-model="searPara.workPermitNo" placeholder="作业编号"/>
        <el-input v-model="searPara.searchParams.workPermitNo" placeholder="作业编号"/>
      </div>
      <div class="basic-line">
        <span>作业类型:</span>
        <el-select v-model="searPara.workType">
        <el-select v-model="searPara.searchParams.workType">
          <el-option
              v-for="item in workType"
              :key="item.value"
@@ -22,7 +22,7 @@
      </div>
    </el-row>
    <el-table ref="TableRef" :data="otherWorks" style="width: 100%" border @selection-change="handleSelectionChange" :row-key="(row) => { return row.workApplyId }">
      <el-table-column type="selection" width="55" />
      <el-table-column type="selection" width="55" :reserve-selection="true"/>
<!--            <el-table-column type="index" label="序号" width="60" />-->
      <el-table-column prop="workTypeDesc" label="作业类型" show-overflow-tooltip></el-table-column>
      <el-table-column prop="workLevelDesc" label="作业等级" show-overflow-tooltip></el-table-column>
@@ -37,6 +37,7 @@
<!--              </template>-->
<!--            </el-table-column>-->
    </el-table>
    <el-pagination style="margin-top: 20px;display: flex;justify-content: right" v-model:currentPage="searPara.pageIndex" v-model:page-size="searPara.pageSize" :page-sizes="[10]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
      <template #footer>
          <span class="dialog-footer">
              <el-button @click="isShowDialog = !isShowDialog" size="default">取 消</el-button>
@@ -58,6 +59,7 @@
    title: string
    isShowDialog: boolean
    searPara: object
  totalSize: number
    otherWorks: []
  workType: Array<any>
  selected: Array<any>
@@ -73,9 +75,14 @@
            title: '',
            isShowDialog: false,
            searPara: {
              pageSize: 10,
              pageIndex: 1,
              searchParams: {
              workPermitNo: '',
              workType: null
              }
            },
          totalSize: 0,
            otherWorks: [],
            selected: [],
            workType: [
@@ -122,6 +129,7 @@
        };
        const refreshTableSelection = (works) => {
            state.selected = works
            if (TableRef.value) {
              for (let i = 0; i < state.otherWorks.length; i++) {
                if (works.includes(state.otherWorks[i].workApplyId)){
@@ -138,6 +146,7 @@
          let res = await workApplyApi().getOtherWork(state.searPara);
          if (res.data.code === '200') {
            state.otherWorks = JSON.parse(JSON.stringify(res.data.data))
            state.totalSize = res.data.total
          } else {
            ElMessage({
              type: 'warning',
@@ -149,8 +158,12 @@
      const clearSearch = ()=>{
        state.searPara = {
          pageSize: 10,
          pageIndex: 1,
          searchParams: {
          workPermitNo: '',
          workType: null
          }
        }
        getData()
      }
@@ -161,17 +174,31 @@
      }
      const onSubmit = ()=>{
        console.log(state.selected,'sel')
        context.emit('refreshWorks')
        state.selected = []
        clearSearch()
        state.isShowDialog = false
      }
      // 分页改变
      const handleSizeChange = (val: number) => {
        state.searPara.pageSize = val;
        getData()
      };
      // 分页改变
      const handleCurrentChange = (val: number) => {
        state.searPara.pageIndex = val;
        getData()
      };
        // 页面加载时
        onMounted(() => {});
        return {
            userRef,
          TableRef,
          handleSizeChange,
          handleCurrentChange,
            handleSelectionChange,
            openDialog,
            getData,