领用-撤回功能
This commit is contained in:
		
							parent
							
								
									e87def46f9
								
							
						
					
					
						commit
						c3765dac48
					
				| 
						 | 
				
			
			@ -226,3 +226,12 @@ export function getCodePDF(id) {
 | 
			
		|||
        method: 'get'
 | 
			
		||||
    })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 撤回
 | 
			
		||||
export function revokeApi(data) {
 | 
			
		||||
    return request({
 | 
			
		||||
        url: '/material/leaseTask/revoke',
 | 
			
		||||
        method: 'get',
 | 
			
		||||
        params: data
 | 
			
		||||
    })
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -70,14 +70,14 @@
 | 
			
		|||
        align="center"
 | 
			
		||||
      >
 | 
			
		||||
        <!-- 插槽 -->
 | 
			
		||||
        <template v-slot="{row}" v-if="column.prop == 'taskStatus'">
 | 
			
		||||
        <template v-slot="{ row }" v-if="column.prop == 'taskStatus'">
 | 
			
		||||
          <!-- <dict-tag :options="dict.type.lease_apply_task_status" :value="scope.row.taskStatus" /> -->
 | 
			
		||||
            <el-tag v-if="row.taskStatus == 0">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
            <el-tag v-else-if="row.taskStatus == 3" type="success">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
            <el-tag v-else-if="row.taskStatus == 5" type="info">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
            <el-tag v-else-if="row.taskStatus == 6" type="warning">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
            <el-tag v-else-if="row.taskStatus == 2" type="danger">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
            <el-tag v-else-if="row.taskStatus == 1" type="success">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-if="row.taskStatus == 0">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-else-if="row.taskStatus == 3" type="success">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-else-if="row.taskStatus == 5" type="info">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-else-if="row.taskStatus == 6" type="warning">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-else-if="row.taskStatus == 2" type="danger">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
          <el-tag v-else-if="row.taskStatus == 1" type="success">{{ row.taskStatusName }}</el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <!-- 操作 -->
 | 
			
		||||
| 
						 | 
				
			
			@ -114,6 +114,16 @@
 | 
			
		|||
          >
 | 
			
		||||
            删除
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button
 | 
			
		||||
            v-show="scope.row.taskStatus != 5 && scope.row.publishNum == 0"
 | 
			
		||||
            type="text"
 | 
			
		||||
            size="mini"
 | 
			
		||||
            icon="el-icon-refresh"
 | 
			
		||||
            style="color: #f56c6c"
 | 
			
		||||
            @click="handleRefresh(scope.row)"
 | 
			
		||||
          >
 | 
			
		||||
            撤回
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table>
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +180,7 @@
 | 
			
		|||
              </span>
 | 
			
		||||
              进行架线施工需要,现需领用以下工具器,详见附件一:
 | 
			
		||||
              <!-- dialogForm.maTypeNames -->
 | 
			
		||||
               <div>{{ dialogForm.maTypeNames }}</div>
 | 
			
		||||
              <div>{{ dialogForm.maTypeNames }}</div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <!-- 说明 -->
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +283,7 @@
 | 
			
		|||
 | 
			
		||||
<script>
 | 
			
		||||
import printJS from 'print-js'
 | 
			
		||||
import { getLeaseTaskList, deleteLeaseTask, getLeaseTask, getCodePDF } from '@/api/business/index'
 | 
			
		||||
import { getLeaseTaskList, deleteLeaseTask, getLeaseTask, getCodePDF, revokeApi } from '@/api/business/index'
 | 
			
		||||
import html2canvas from 'html2canvas'
 | 
			
		||||
import jsPDF from 'jspdf'
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
| 
						 | 
				
			
			@ -302,14 +312,14 @@ export default {
 | 
			
		|||
      total: 0, // 总条数
 | 
			
		||||
      // 表头
 | 
			
		||||
      tableColumns: [
 | 
			
		||||
        { label: '申请时间', prop: 'createTime', width: '100', },
 | 
			
		||||
        { label: '申请人', prop: 'createBy', width: '80'  },
 | 
			
		||||
        { label: '申请时间', prop: 'createTime', width: '100' },
 | 
			
		||||
        { label: '申请人', prop: 'createBy', width: '80' },
 | 
			
		||||
        { label: '领用单位', prop: 'leaseUnit', width: '180' },
 | 
			
		||||
        { label: '领用工程', prop: 'leaseProject', width: '180' },
 | 
			
		||||
        { label: '领料物资类型', prop: 'maTypeNames', showTooltip: true },
 | 
			
		||||
        { label: '协议号', prop: 'agreementCode', },
 | 
			
		||||
        { label: '业务单号', prop: 'code', },
 | 
			
		||||
        { label: '领料人', prop: 'leasePerson', width: '80', },
 | 
			
		||||
        { label: '协议号', prop: 'agreementCode' },
 | 
			
		||||
        { label: '业务单号', prop: 'code' },
 | 
			
		||||
        { label: '领料人', prop: 'leasePerson', width: '80' },
 | 
			
		||||
        { label: '领料人电话', prop: 'phone' },
 | 
			
		||||
        { label: '状态', prop: 'taskStatus', width: '80' }
 | 
			
		||||
      ],
 | 
			
		||||
| 
						 | 
				
			
			@ -401,6 +411,31 @@ export default {
 | 
			
		|||
        })
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // 撤回
 | 
			
		||||
    handleRefresh(row) {
 | 
			
		||||
      console.log('🚀 ~ 撤回 ~ row:', row)
 | 
			
		||||
      // 二次确认
 | 
			
		||||
      this.$confirm('是否确定撤回?', '提示', {
 | 
			
		||||
        confirmButtonText: '确定',
 | 
			
		||||
        cancelButtonText: '取消',
 | 
			
		||||
        type: 'warning'
 | 
			
		||||
      }).then(async () => {
 | 
			
		||||
        try {
 | 
			
		||||
          this.loading = true
 | 
			
		||||
          const res = await revokeApi({ taskId: row.taskId })
 | 
			
		||||
          console.log('🚀 ~ 撤回 ~ res:', res)
 | 
			
		||||
          this.$message({
 | 
			
		||||
            type: 'success',
 | 
			
		||||
            message: '撤回成功!'
 | 
			
		||||
          })
 | 
			
		||||
          this.getList()
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
          console.log('🚀 ~ handleRefresh ~ error:', error)
 | 
			
		||||
        } finally {
 | 
			
		||||
          this.loading = false
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // 导出数据
 | 
			
		||||
    /*handleExport() {
 | 
			
		||||
      try {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@
 | 
			
		|||
      <el-form-item label="项目部" prop="departName">
 | 
			
		||||
        <el-input
 | 
			
		||||
          v-model="queryParams.departName"
 | 
			
		||||
          placeholder="请输入分公司"
 | 
			
		||||
          placeholder="请输入项目部"
 | 
			
		||||
          clearable
 | 
			
		||||
          :maxlength="50"
 | 
			
		||||
          style="width: 240px"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -288,7 +288,7 @@ export default {
 | 
			
		|||
        standardConfig: undefined,
 | 
			
		||||
        bmFileInfos: [],
 | 
			
		||||
        proId: undefined,
 | 
			
		||||
        relPhone: '',
 | 
			
		||||
        relPhone: ''
 | 
			
		||||
      },
 | 
			
		||||
      standardConfigList: [],
 | 
			
		||||
      // 表单参数
 | 
			
		||||
| 
						 | 
				
			
			@ -379,15 +379,19 @@ export default {
 | 
			
		|||
    }
 | 
			
		||||
  },
 | 
			
		||||
  watch: {
 | 
			
		||||
    maForm: {
 | 
			
		||||
      handler(newVal, oldVal) {
 | 
			
		||||
        if (newVal.teamId && newVal.proId) {
 | 
			
		||||
          this.getAgreementId()
 | 
			
		||||
        } else {
 | 
			
		||||
          this.equipmentTypeList = []
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      deep: true
 | 
			
		||||
    'maForm.teamId'(newVal) {
 | 
			
		||||
      if (newVal && this.maForm.proId) {
 | 
			
		||||
        this.getAgreementId()
 | 
			
		||||
      } else {
 | 
			
		||||
        this.equipmentTypeList = []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    'maForm.proId'(newVal) {
 | 
			
		||||
      if (newVal && this.maForm.teamId) {
 | 
			
		||||
        this.getAgreementId()
 | 
			
		||||
      } else {
 | 
			
		||||
        this.equipmentTypeList = []
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
| 
						 | 
				
			
			@ -424,6 +428,7 @@ export default {
 | 
			
		|||
      try {
 | 
			
		||||
        const idCard = sessionStorage.getItem('idCard')
 | 
			
		||||
        const res = await getBmTeamApi({ isAll: 0, idCard, projectId: this.maForm.projectId })
 | 
			
		||||
        // console.log('🚀 ~ getBmTeam ~ res:', res)
 | 
			
		||||
        if (!res.data || res.data.length === 0) return
 | 
			
		||||
        this.uniteList = res.data
 | 
			
		||||
        const userName = sessionStorage.getItem('userName')
 | 
			
		||||
| 
						 | 
				
			
			@ -450,7 +455,7 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    changePro(e) {
 | 
			
		||||
      console.log('🚀 ~ changePro ~ e:', e)
 | 
			
		||||
      this.maForm.proId = e  
 | 
			
		||||
      this.maForm.proId = e
 | 
			
		||||
      this.maForm.projectId = this.projectList.find(item => item.proId === e)?.projectId
 | 
			
		||||
      this.getBmTeam()
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -486,21 +491,23 @@ export default {
 | 
			
		|||
        proId: this.maForm.proId,
 | 
			
		||||
        // teamId: this.maForm.teamId,
 | 
			
		||||
        teamName: this.maForm.teamName
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.equipmentTypeList = response.data
 | 
			
		||||
        // 处理并扁平化所有类型数据
 | 
			
		||||
        this.flattenTypeOptions = this.processTypeData(response.data)
 | 
			
		||||
        debugger
 | 
			
		||||
        // 初始显示所有选项
 | 
			
		||||
        this.filteredOptions = [...this.flattenTypeOptions]
 | 
			
		||||
 | 
			
		||||
        // 反显选中数据
 | 
			
		||||
        if (this.equipmentList.length > 0) {
 | 
			
		||||
          this.deviceType = this.equipmentList.map(item => item.typeId)
 | 
			
		||||
        }
 | 
			
		||||
      }).finally(() => {
 | 
			
		||||
        loading.close()
 | 
			
		||||
      })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
          this.equipmentTypeList = response.data
 | 
			
		||||
          // 处理并扁平化所有类型数据
 | 
			
		||||
          this.flattenTypeOptions = this.processTypeData(response.data)
 | 
			
		||||
          debugger
 | 
			
		||||
          // 初始显示所有选项
 | 
			
		||||
          this.filteredOptions = [...this.flattenTypeOptions]
 | 
			
		||||
 | 
			
		||||
          // 反显选中数据
 | 
			
		||||
          if (this.equipmentList.length > 0) {
 | 
			
		||||
            this.deviceType = this.equipmentList.map(item => item.typeId)
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .finally(() => {
 | 
			
		||||
          loading.close()
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    // 处理类型数据
 | 
			
		||||
    processTypeData(data) {
 | 
			
		||||
| 
						 | 
				
			
			@ -540,8 +547,9 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    // 搜索处理函数
 | 
			
		||||
    handleSearchImpl(query) {
 | 
			
		||||
      console.log('🚀 ~ handleSearchImpl ~ query:', query)
 | 
			
		||||
      if (!query) {
 | 
			
		||||
        // this.filteredOptions = [...this.flattenTypeOptions]
 | 
			
		||||
        this.filteredOptions = [...this.flattenTypeOptions]
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -602,6 +610,7 @@ export default {
 | 
			
		|||
        this.maForm.projectId = response.data.leaseApplyInfo.proId
 | 
			
		||||
        this.maForm.proId = response.data.leaseApplyInfo.proId
 | 
			
		||||
        this.maForm.relPhone = response.data.leaseApplyInfo.phone || response.data.leaseApplyInfo.relPhone || ''
 | 
			
		||||
        // this.getBmTeam()
 | 
			
		||||
        this.equipmentList = response.data.leaseApplyDetailsList || []
 | 
			
		||||
        if (this.equipmentList.length > 0) {
 | 
			
		||||
          this.equipmentList.forEach(item => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue