This commit is contained in:
bb_pan 2025-10-10 12:03:32 +08:00
parent ffa6dae4a3
commit c0f1d0b0a1
21 changed files with 684 additions and 171 deletions

View File

@ -3,6 +3,8 @@ const state = {
pageNum: 1,
pageSize: 10,
time: [], //申请时间
startTime: '',
endTime: '',
keyWord: '',
taskStatus: null, //申请时间
impUnitName:'',//分公司

View File

@ -3,6 +3,8 @@ const state = {
pageNum: 1,
pageSize: 10,
time: [], //申请时间
startTime: '',
endTime: '',
keyWord: '',
taskStatus: null, //申请时间
impUnitName:'',//分公司

View File

@ -71,16 +71,28 @@
<el-form-item label="领料时间">
<el-form-item label="领料时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<!-- <el-form-item prop="taskStatus">
@ -552,6 +564,8 @@ export default {
pageNum: 1,
pageSize: 10,
time: null, //
startTime: '',
endTime: '',
taskStatus: '',
isConfirm: 1,
keyWord: '',
@ -617,7 +631,9 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.getImpUnitOptions()
this.handleDepartChange()
this.getDeviceType()
@ -681,8 +697,8 @@ export default {
this.loading = true
const params = {
keyWord: this.queryParams.keyWord,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum,
isConfirm: this.queryParams.isConfirm,
@ -713,7 +729,9 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.queryParams.taskStatus = ''
this.queryParams.keyWord = ''
this.queryParams.code = ''

View File

@ -1,16 +1,28 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="申请时间">
<el-form-item label="申请时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="关键字" prop="keyWord">
<el-input
@ -494,7 +506,8 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
time: null,
startTime: null,
endTime: null,
keyWord: '',
taskStatus: ''
},
@ -731,8 +744,8 @@ export default {
const params = {
keyWord: this.queryParams.keyWord,
taskStatus: this.queryParams.taskStatus,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum
}

View File

@ -298,7 +298,7 @@ import {
} from '@/api/materialsStation'
import {getDeviceType} from "@/api/ma/device";
export default {
name: '',
name: 'EquipmentRecord',
dicts: [],
data() {
return {

View File

@ -202,7 +202,7 @@ import {
getRetainedEquipmentListNoPageApi
} from '@/api/materialsStation'
export default {
name: '',
name: 'ProDetails',
dicts: [],
data() {
return {

View File

@ -267,7 +267,7 @@ import {
import { getDeviceType } from '@/api/ma/device'
export default {
name: '',
name: 'SupplyDemandBalance',
dicts: [],
data() {
return {

View File

@ -105,17 +105,29 @@
<el-option label="已过期" value="3" />
</el-select>
</el-form-item>
<el-form-item label="检验时间">
<el-form-item label="检验时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
@ -154,6 +166,9 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出数据</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -170,7 +185,7 @@
</el-col>
</el-row>
<el-table :data="tableList" fit highlight-current-row style="width: 100%" :max-height="600">
<el-table :data="tableList" fit highlight-current-row style="width: 100%" :max-height="550">
<el-table-column
type="index"
width="55"
@ -183,13 +198,21 @@
<el-table-column label="工程名称" align="center" prop="proName" width="160" />
<el-table-column label="分包单位" align="center" prop="subUnitName" :show-overflow-tooltip="true" />
<el-table-column label="班组名称" align="center" prop="teamName" width="120" />
<el-table-column label="物资类型" align="center" prop="materialName" :show-overflow-tooltip="true" />
<el-table-column label="物资类型" align="center" prop="materialName" :show-overflow-tooltip="true" />
<el-table-column label="物资名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="typeModelName" :show-overflow-tooltip="true" />
<el-table-column label="设备编号" align="center" prop="maCode" :show-overflow-tooltip="true" />
<el-table-column label="设备编号" align="center" prop="maCode" />
<el-table-column label="本次检验时间" align="center" prop="thisCheckTime" :show-overflow-tooltip="true" />
<el-table-column label="下次检验时间" align="center" prop="nextCheckTime" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" :show-overflow-tooltip="true">
<el-table-column label="下次检验时间" align="center" prop="nextCheckTime" :show-overflow-tooltip="true" sortable width="125" />
<el-table-column label="二维码" align="center" prop="qrCode" :show-overflow-tooltip="true">
<template slot-scope="{ row }">
<span>
<el-button v-if="row.qrCode" type="text" size="mini" @click="handleSee(row)">查看</el-button>
<span v-else>未绑定</span>
</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span :class="getStatusClass(scope.row.status)">{{ getStatusText(scope.row.status) }}</span>
</template>
@ -217,6 +240,8 @@
@pagination="getList"
/>
<!-- 二维码 -->
<QRCodeView ref="qrCodeView" />
</div>
</template>
@ -224,9 +249,13 @@
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import {getSafetyListApi,getSafeNumListApi,getAgreementIdApi,getImpUnitListApi, getDepartListByImpUnitApi, getProListByDepartApi,getTeamList, getSubUnitList } from '@/api/materialsStation'
import {getDeviceType} from "@/api/ma/device";
import {getDeviceType} from "@/api/ma/device";
import QRCodeView from '@/components/QRCodeView'
import { formatTime } from '@/utils/bonus.js'
export default {
components: { TreeSelect },
name: 'SafetyWarn',
components: { TreeSelect, QRCodeView },
data() {
return {
showSearch: true,
@ -257,6 +286,7 @@ export default {
proOptions: [], //
subUnitOptions: [], //
materialNameList: [],
agreementIdList: []
}
},
created() {
@ -485,10 +515,11 @@ export default {
async getList() {
console.log('列表-查询', this.queryParams)
const loading = this.$loading({ text: '加载中...' })
this.queryParams.startTime = this.queryParams.time ? this.queryParams.time[0] : '';
this.queryParams.endTime = this.queryParams.time? this.queryParams.time[1] : '';
// this.queryParams.startTime = this.queryParams.time ? this.queryParams.time[0] : '';
// this.queryParams.endTime = this.queryParams.time? this.queryParams.time[1] : '';
try {
const resTemp = await getAgreementIdApi()
this.agreementIdList = resTemp.data
console.log("xxxxxhhhhhhhhhh",resTemp)
const params = { ...this.queryParams,agreementIdList:resTemp.data}
const res = await getSafetyListApi(params)
@ -533,6 +564,21 @@ export default {
//
window.open(pdfUrl, "_blank");
},
handleSee(row) {
this.$refs.qrCodeView.showQRCode(row.qrCode, row.maCode)
},
//
handleExport() {
try {
let fileName = `安全工器具预警_${formatTime(new Date())}.xLsx`
let url = '/material/material_maMachine/exportSafeDetailsList'
const params = { ...this.queryParams, agreementIdList: this.agreementIdList }
console.log('🚀 ~ 导出 ~ params:', params)
this.download(url, params, fileName)
} catch (error) {
console.log('导出数据失败', error)
}
}
}
}
</script>

View File

@ -82,6 +82,7 @@
import { getTeamInOrOutInfoApi, getListProject } from '@/api/materialsStation'
export default {
name: 'TeamEntrance',
data() {
return {
isLoading: false,

View File

@ -250,6 +250,7 @@ import QRCodeView from '@/components/QRCodeView'
import { getTeamNumListApi,getTeamNumSecondListApi, getTeamNumThirdApi,getImpUnitListApi, getDepartListByImpUnitApi, getProListByDepartApi, getTeamList, getSubUnitList } from '@/api/materialsStation'
export default {
name: 'TeamStorage',
components: { TreeSelect, QRCodeView },
data() {
return {

View File

@ -66,17 +66,27 @@
</el-form-item>
<!-- 日期范围 -->
<el-form-item label="领料时间" prop="timeRange">
<el-form-item label="领料时间" prop="startTime">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 240px"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
@ -118,6 +128,9 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出数据</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -156,9 +169,19 @@
icon="el-icon-document"
style="color: #67c23a"
@click="handleLld(row)"
v-if="row.isZz == 0"
>
领料单
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-document"
@click="handleDialog(row.directId)"
v-if="row.isZz == 1"
>
直转单
</el-button>
<el-button
v-if="!isLeaseTimeExpired(row.leaseTime)"
type="text"
@ -444,6 +467,9 @@
<el-button type="primary" @click="submitRemark">提交</el-button>
</div>
</el-dialog>
<!-- 直转单 -->
<StraightforwardBills ref="straightforwardBills" />
</div>
</template>
@ -457,8 +483,12 @@ import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import vueEasyPrint from 'vue-easy-print'
import printJS from 'print-js'
import StraightforwardBills from '@/views/materialsStation/straight/straightTransferReview/components/StraightforwardBills.vue'
import { formatTime } from '@/utils/bonus.js'
export default {
components: { Treeselect,vueEasyPrint },
name: 'TotalLeaseRecord',
components: { Treeselect,vueEasyPrint, StraightforwardBills },
data() {
return {
showSearch: true,
@ -544,6 +574,8 @@ export default {
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.queryParams.timeRange[0]
this.queryParams.endTime = this.queryParams.timeRange[1]
this.getImpUnitOptions()
this.handleDepartChange()
this.getDeviceType()
@ -628,14 +660,16 @@ export default {
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.queryParams.timeRange[0]
this.queryParams.endTime = this.queryParams.timeRange[1]
this.getList()
},
//
async getList() {
console.log('列表-查询', this.queryParams)
const loading = this.$loading({ text: '加载中...' })
this.queryParams.startTime = this.queryParams.timeRange ? this.queryParams.timeRange[0] : ''
this.queryParams.endTime = this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
// this.queryParams.startTime = this.queryParams.timeRange ? this.queryParams.timeRange[0] : ''
// this.queryParams.endTime = this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
try {
const params = { ...this.queryParams }
const res = await getTotalListApi(params)
@ -752,8 +786,9 @@ export default {
this.leaseLoading = false
}
},
handleDialog(id) {
this.$refs.straightforwardBills.openDialog(id, 2)
},
//
printView() {
this.$refs.remarksPrintRefView.print()
@ -781,18 +816,12 @@ export default {
},
//
handleExport() {
//
this.$message({
type: 'warning',
message: '导出功能开发中,敬请期待!'
})
try {
let fileName = `数据_${new Date().getTime()}.xLsx`
let url = ''
let fileName = `材料站领料记录_${formatTime(new Date())}.xLsx`
let url = '/material/material_lease_apply_info/exportTotalList'
const params = { ...this.queryParams }
console.log('🚀 ~ 导出 ~ params:', params)
// this.derive(url, params, fileName)
// this.download(url, params, fileName)
this.download(url, params, fileName)
} catch (error) {
console.log('导出数据失败', error)
}

View File

@ -66,17 +66,27 @@
</el-form-item>
<!-- 日期范围 -->
<el-form-item label="退料时间" prop="timeRange">
<el-form-item label="退料时间" prop="startTime">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 240px"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
@ -144,6 +154,7 @@
<template slot-scope="{ row }">
<el-button type="text" size="mini" icon="el-icon-zoom-in" @click="handleView(row)">查看</el-button>
<el-button
v-if="row.isZz == 0"
type="text"
size="mini"
icon="el-icon-document"
@ -152,6 +163,15 @@
>
退料单
</el-button>
<el-button
v-if="row.isZz != 0"
type="text"
size="mini"
icon="el-icon-document"
@click="handleDialog(row.directId)"
>
退料单
</el-button>
</template>
</el-table-column>
</el-table>
@ -200,6 +220,9 @@
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
<!-- 直转单 -->
<StraightforwardBills ref="straightforwardBills" />
</div>
</template>
@ -211,8 +234,11 @@ import dialogFormByClz from '@/views/materialsStation/equipment/totalReturnRecor
import {getDeviceType} from "@/api/ma/device";
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import StraightforwardBills from '@/views/materialsStation/straight/straightTransferReview/components/StraightforwardBills.vue'
export default {
components: { dialogFormByClz,Treeselect },
name: 'TotalReturnRecord',
components: { dialogFormByClz,Treeselect,StraightforwardBills, StraightforwardBills },
data() {
return {
showSearch: true,
@ -284,6 +310,8 @@ export default {
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.queryParams.timeRange[0]
this.queryParams.endTime = this.queryParams.timeRange[1]
this.getImpUnitOptions()
this.handleDepartChange()
this.getDeviceType()
@ -368,14 +396,16 @@ export default {
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.queryParams.timeRange[0]
this.queryParams.endTime = this.queryParams.timeRange[1]
this.getList()
},
//
async getList() {
console.log('列表-查询', this.queryParams)
const loading = this.$loading({ text: '加载中...' })
this.queryParams.startTime = this.queryParams.timeRange ? this.queryParams.timeRange[0] : ''
this.queryParams.endTime = this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
// this.queryParams.startTime = this.queryParams.timeRange ? this.queryParams.timeRange[0] : ''
// this.queryParams.endTime = this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
try {
const params = { ...this.queryParams }
const res = await getBackTotalListApi(params)
@ -418,6 +448,9 @@ export default {
this.isShowOneFlag = true
this.rowObj = row
},
handleDialog(id) {
this.$refs.straightforwardBills.openDialog(id, 2)
},
//
handleExport() {
//

View File

@ -92,8 +92,8 @@
<el-col :span="8" :offset="0">
<el-card shadow="always" :body-style="{ padding: '20px' }" style="min-width: 400px; overflow-y: auto">
<!-- card body -->
<el-form-item label="转入工程" prop="leaseProId">
<el-select
<el-form-item label="转入工程" prop="backProName">
<!-- <el-select
v-model="maForm.leaseProId"
placeholder="请选择"
clearable
@ -107,7 +107,8 @@
:label="item.proName"
:value="item.proId"
/>
</el-select>
</el-select> -->
<el-input v-model="maForm.backProName" readonly placeholder="转入工程"></el-input>
</el-form-item>
<el-form-item label="转入班组" prop="leaseTeamName">
<el-select
@ -446,6 +447,7 @@ export default {
maForm: {
backTeamId: undefined,
backProId: undefined,
backProName: '',
backMan: '', //
backPhone: '', //
backAgreementId: '', // id
@ -502,7 +504,7 @@ export default {
trigger: 'blur'
}
],
leaseProId: [
backProName: [
{
required: true,
message: '请选择转入工程',
@ -567,7 +569,9 @@ export default {
console.log('isEdit', this.isEdit)
this.getTaskInfo()
}
this.projectInfoList() //
setTimeout(() => {
this.projectInfoList() //
}, 300)
console.log(this.$store, 'this.$store.getters')
console.log(this.$route.query, 'this.$route.query')
},
@ -825,10 +829,14 @@ export default {
return
}
this.maForm.backProName = obj.proName
this.maForm.leaseProId = obj.proId
setTimeout(() => {
getTeamListApi({ isAll: 0, proId: obj.proId }).then(response => {
this.uniteList = response.data
})
getBmTeamApi({ isAll: 0, projectId: obj.projectId }).then(res => {
this.lessUniteList = res.data
})
}, 500)
},
leaseUniteChange(val) {
@ -890,6 +898,7 @@ export default {
this.maForm.backProId = Number(this.maForm.backProId)
this.maForm.backTeamId = Number(this.maForm.backTeamId)
this.maForm.leaseProId = Number(this.maForm.leaseProId)
console.log('🚀 ~ 详情 ~ this.maForm:', this.maForm)
// this.getList()
console.log('🚀 ~ getTaskInfo ~ this.equipmentList:', this.equipmentList)
loading.close()

View File

@ -0,0 +1,239 @@
<template>
<div>
<el-dialog :visible.sync="dialogVisible" width="60%">
<div v-if="dialogVisible" id="printId">
<vue-easy-print tableShow ref="remarksPrintRef">
<h2 style="text-align: center; font-size: 25px; font-weight: 800">直转单</h2>
<el-row :gutter="20" v-if="dialogType != 1">
<el-col :span="12" :offset="0">
<span>转出单位: {{ formData.backUnitName }}</span>
</el-col>
<el-col :span="12" :offset="0">
<span>转入单位: {{ formData.leaseUnitName }}</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<span>转出工程: {{ formData.backProName }}</span>
</el-col>
<el-col :span="12" :offset="0">
<span>转入工程: {{ formData.leaseProName }}</span>
</el-col>
</el-row>
<el-row :gutter="20" v-if="dialogType == 1">
<el-col :span="12" :offset="0">
<span>转出班组: {{ formData.backTeamName }}</span>
</el-col>
<el-col :span="12" :offset="0">
<span>转入班组: {{ formData.leaseTeamName }}</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<span>转出人: {{ formData.backMan }}</span>
</el-col>
<el-col :span="12" :offset="0">
<span>转入人: {{ formData.leaseMan }}</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<span>联系电话: {{ formData.backPhone }}</span>
</el-col>
<el-col :span="12" :offset="0">
<span>联系电话: {{ formData.leasePhone }}</span>
</el-col>
</el-row>
<table class="native-table" style="border: 1.5px solid #333">
<thead>
<tr>
<th style="width: 55px; border: 1.5px solid #333">序号</th>
<th v-for="column in tableColumns" :key="column.prop" style="border: 1.5px solid #333">
{{ column.label }}
</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in tableList" :key="index">
<td style="border: 1.5px solid #333">{{ index + 1 }}</td>
<td v-for="column in tableColumns" :key="column.prop" style="border: 1.5px solid #333">
{{ item[column.prop] || '-' }}
</td>
</tr>
</tbody>
</table>
<div v-if="auditingList.length > 0" style="margin-top: 20px">
<div>流程记录</div>
<div class="process-record">
<el-steps>
<el-step v-for="(step, index) in auditingList" :key="index" :title="step.nodeName">
<template slot="description">
<div class="custom-description">
审核结果:
<el-tag size="mini" type="primary" v-if="step.isAccept === 0">待审批</el-tag>
<el-tag size="mini" type="success" v-if="step.isAccept === 1">已通过</el-tag>
<el-tag size="mini" type="danger" v-if="step.isAccept === 2">已驳回</el-tag>
</div>
<div class="node-info" v-if="step.auditBy">
审核人:
{{ step.auditBy }}
</div>
<div class="node-info" v-if="step.createTime">
审核时间:
{{ step.createTime }}
</div>
<div class="node-info" v-if="step.remark">
审核意见:
{{ step.remark }}
</div>
</template>
</el-step>
</el-steps>
</div>
</div>
</vue-easy-print>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="print"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { receiveDetail } from '@/api/business/index.js'
import { getInfoApi } from '@/api/materialsStation/index'
import { getAuditingDetailsApi } from '@/api/receive-apply/index.js'
import vueEasyPrint from 'vue-easy-print'
import printJS from 'print-js'
export default {
components: { vueEasyPrint },
data() {
return {
dialogType: 1,
dialogVisible: false,
rowId: null,
formData: {},
tableColumns: [
{ label: '直转数量', prop: 'directNum' },
{ label: '类型名称', prop: 'typeName' },
{ label: '规格型号', prop: 'typeModelName' },
{ label: '机具编号', prop: 'maCode' },
{ label: '计量单位', prop: 'unitName' },
{ label: '领料人', prop: 'leasePerson' },
{ label: '领料日期', prop: 'startTime' }
],
tableList: [],
auditingList: [] //
}
},
methods: {
openDialog(id, type) {
this.dialogType = type || 1
this.rowId = id
this.dialogVisible = true
setTimeout(() => {
this.getTaskInfo()
this.getLeaseTaskDetailFun()
}, 100)
},
print() {
this.$refs.remarksPrintRef.print()
},
//
async getTaskInfo() {
const loading = this.$loading()
try {
let res = null
if (this.dialogType == 1) {
res = await getInfoApi({ id: this.rowId })
this.formData = res.data.directApplyInfo || {}
this.tableList = res.data.directApplyInfoDetails || []
} else {
res = await receiveDetail({ id: this.rowId })
this.formData = res.data || {}
this.tableList = res.data.directApplyDetails || []
}
console.log('🚀 ~ getTaskInfo ~ res:', res)
loading.close()
} catch (error) {
console.log('🚀 ~ error:', error)
loading.close()
}
},
//
async getLeaseTaskDetailFun() {
const taskType = this.dialogType == 1 ? 25 : 16
const result = await getAuditingDetailsApi({ taskId: this.rowId, taskType })
console.log('result', result)
this.auditingList = result.rows
}
}
}
</script>
<style lang="scss" scoped>
.native-table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
font-size: 14px;
th,
td {
padding: 8px 12px;
text-align: center;
}
thead {
background-color: #f5f7fa;
font-weight: bold;
color: #303133;
}
tbody tr:nth-child(even) {
background-color: #fafafa;
}
tbody tr:hover {
background-color: #f0f9eb;
}
}
.process-record {
margin-top: 20px;
}
::v-deep .el-step__icon.is-text {
background-color: #19a4a0;
color: #19a4a0;
border: none;
width: 16px;
height: 16px;
}
::v-deep .el-step.is-vertical .el-step__line {
width: 2px;
top: 26px;
bottom: 8px;
left: 7px;
}
::v-deep .el-step__title.is-finish {
font-weight: bold;
color: #303133;
font-size: 16px;
}
::v-deep .el-step__title.is-wait {
font-weight: bold;
color: #303133;
font-size: 16px;
}
</style>

View File

@ -2,17 +2,27 @@
<!-- 直转审核页面 -->
<div class="app-container">
<el-form v-show="showSearch" :model="queryParams" ref="queryForm" size="small" inline>
<el-form-item label="申请日期" prop="timeRange">
<el-form-item label="申请日期" prop="startTime">
<el-date-picker
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
type="daterange"
v-model="timeRange"
range-separator="至"
format="yyyy-MM-dd"
style="width: 240px"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="关键字" prop="keyWord">
@ -100,6 +110,7 @@
删除
</el-button>
<el-button type="text" size="mini" icon="el-icon-search" @click="handleReview(scope.row, 1)">查看</el-button>
<el-button type="text" size="mini" icon="el-icon-document" @click="handleStraightforward(scope.row.id)">直转单</el-button>
</template>
</el-table-column>
</el-table>
@ -112,15 +123,18 @@
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
/>
<StraightforwardBills ref="straightforwardBills" />
</div>
</template>
<script>
import { getUseListApi, deleteUseApi } from '@/api/materialsStation'
import { formatTime } from '@/utils/bonus.js'
import StraightforwardBills from './components/StraightforwardBills.vue'
export default {
name: 'straightTransferReview',
components: { StraightforwardBills },
data() {
return {
isLoading: false,
@ -132,6 +146,8 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
startTime: '',
endTime: '',
keyWord: '', //
status: '' //
},
@ -181,8 +197,8 @@ export default {
this.isLoading = true
const params = {
...this.queryParams,
startTime: this.timeRange ? this.timeRange[0] : '',
endTime: this.timeRange ? this.timeRange[1] : ''
// startTime: this.timeRange ? this.timeRange[0] : '',
// endTime: this.timeRange ? this.timeRange[1] : ''
}
const res = await getUseListApi(params)
this.tableList = res.data.rows
@ -207,6 +223,10 @@ export default {
}
})
},
handleStraightforward(id) {
console.log('🚀 ~ handleStraightforward ~ id:', id)
this.$refs.straightforwardBills.openDialog(id)
},
//
handleEdit(row, type) {
this.$router.push({

View File

@ -1,16 +1,28 @@
<template>
<div>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="创建时间" prop="time">
<el-form-item label="创建时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="分公司" prop="impUnitName">
<el-select
@ -207,7 +219,8 @@
>
删除
</el-button>
<el-button size="mini" type="info" icon="el-icon-zoom-in" @click="handlePrint(scope.row)">退料单</el-button>
<el-button v-if="scope.row.isZz == 0" size="mini" type="info" icon="el-icon-zoom-in" @click="handlePrint(scope.row)">退料单</el-button>
<el-button v-if="scope.row.isZz == 1" size="mini" type="primary" icon="el-icon-document" @click="handleDialog(scope.row.directId)">直转单</el-button>
</template>
</el-table-column>
</el-table>
@ -266,6 +279,9 @@
</div>
<div slot="footer" class="dialog-footer"></div>
</el-dialog>
<!-- 直转单 -->
<StraightforwardBills ref="straightforwardBills" />
</div>
</template>
@ -282,10 +298,12 @@ import dialogFormByCq from './dialogFormByCq.vue'
import {getDeviceType} from "@/api/ma/device";
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import StraightforwardBills from '@/views/materialsStation/straight/straightTransferReview/components/StraightforwardBills.vue'
export default {
name: '',
dicts: ['back_task_status'],
components: { dialogFormByCq, Treeselect },
components: { dialogFormByCq, Treeselect, StraightforwardBills, StraightforwardBills },
data() {
return {
fullscreenLoading: false,
@ -399,7 +417,9 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.getImpUnitOptions()
this.handleImpUnitChange()
this.handleDepartChange()
@ -624,13 +644,13 @@ export default {
/** 查询列表 startTime,结束日期endTime */
async getList() {
this.loading = true
if (this.queryParams.time && this.queryParams.time.length > 0) {
this.queryParams.startTime = this.queryParams.time[0]
this.queryParams.endTime = this.queryParams.time[1]
} else {
this.queryParams.startTime = undefined
this.queryParams.endTime = undefined
}
// if (this.queryParams.time && this.queryParams.time.length > 0) {
// this.queryParams.startTime = this.queryParams.time[0]
// this.queryParams.endTime = this.queryParams.time[1]
// } else {
// this.queryParams.startTime = undefined
// this.queryParams.endTime = undefined
// }
try {
let params = {
companyId: this.companyId,
@ -654,7 +674,7 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.projectId = null
this.queryParams = {
pageNum: 1,
@ -666,8 +686,8 @@ export default {
typeId: '', //
time: '',
agreementCode: '', //
startTime: '',
endTime: '',
startTime: this.format(start),
endTime: this.format(end),
proId: null,
impUnitName:'',//
departName:'',//
@ -755,6 +775,9 @@ export default {
this.isShowOneFlag = true
this.rowObj = row
},
handleDialog(id) {
this.$refs.straightforwardBills.openDialog(id)
},
/** 导出按钮操作 */
handleExport() {
this.download(

View File

@ -2,17 +2,27 @@
<div class="app-container" id="">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<!-- 日期范围 -->
<el-form-item label="退料日期" prop="timeRange">
<el-form-item label="退料日期" prop="startTime">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 240px"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>

View File

@ -47,19 +47,27 @@
/>
</el-form-item>
<!-- 日期范围 -->
<el-form-item label="退料时间" prop="timeRange">
<el-form-item label="退料时间" prop="startTime">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
unlink-panels
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 240px"
:picker-options="pickerOptions"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="退料单号" prop="code">
@ -149,6 +157,7 @@ import { getBackApplyListApi, deleteTask } from '@/api/materialsStation'
import { formatTime } from '@/utils/bonus.js'
export default {
name: 'BackAppointment',
data() {
return {
isLoading: false,
@ -211,8 +220,8 @@ export default {
try {
const params = {
...this.queryParams,
startTime: this.queryParams.timeRange ? this.queryParams.timeRange[0] : '',
endTime: this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
// startTime: this.queryParams.timeRange ? this.queryParams.timeRange[0] : '',
// endTime: this.queryParams.timeRange ? this.queryParams.timeRange[1] : ''
}
delete params.timeRange
console.log('🚀 ~ getList ~ params:', params)

View File

@ -1,16 +1,28 @@
<template>
<div>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
<el-form-item label="申请时间">
<el-form-item label="申请时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="分公司" prop="impUnitName">
@ -407,6 +419,8 @@ export default {
pageNum: 1,
pageSize: 10,
time: [], //
startTime: '',
endTime: '',
keyWord: '',
taskStatus: null, //
impUnitName:'',//
@ -443,7 +457,9 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.getImpUnitOptions()
this.handleImpUnitChange()
this.handleDepartChange()
@ -469,8 +485,8 @@ export default {
const params = {
keyWord: this.queryParams.keyWord,
taskStatus: this.queryParams.taskStatus,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
impUnitName:this.queryParams.impUnitName,
departName:this.queryParams.departName,
subUnitName:this.queryParams.subUnitName,
@ -501,12 +517,14 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.resetForm('queryForm')
this.queryParams = {
pageNum: 1,
pageSize: 10,
time: [], //
startTime: this.format(start),
endTime: this.format(end),
keyWord: '',
taskStatus: null, //
impUnitName:'',//

View File

@ -2,17 +2,27 @@
<div class="app-container" id="">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<!-- 日期范围 -->
<el-form-item label="领料日期" prop="timeRange">
<el-form-item label="领料日期" prop="startTime">
<el-date-picker
v-model="queryParams.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 240px"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
@ -248,7 +258,8 @@ export default {
pageNum: 1,
pageSize: 10,
keyWord: null,
timeRange: null,
startTime: null,
endTime: null,
impUnitName:'',//
departName:'',//
subUnitName:'',//
@ -275,7 +286,8 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.getImpUnitOptions()
this.handleImpUnitChange()
this.handleDepartChange()
@ -443,8 +455,8 @@ export default {
keyWord: this.queryParams.keyWord,
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum,
startTime: this.queryParams.timeRange && this.queryParams.timeRange[0],
endTime: this.queryParams.timeRange && this.queryParams.timeRange[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
impUnitName: this.queryParams.impUnitName,
departName: this.queryParams.departName,
proName: this.queryParams.proName,
@ -461,8 +473,8 @@ export default {
console.log(this.tableList)
let param = {
keyWord: this.queryParams.keyWord,
startTime: this.queryParams.timeRange && this.queryParams.timeRange[0],
endTime: this.queryParams.timeRange && this.queryParams.timeRange[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
impUnitName: this.queryParams.impUnitName,
departName: this.queryParams.departName,
proName: this.queryParams.proName,
@ -517,7 +529,8 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.timeRange = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.resetForm('queryForm')
this.getImpUnitOptions()
this.handleImpUnitChange()

View File

@ -1,16 +1,28 @@
<template>
<div>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
<el-form-item label="申请时间" prop="time">
<el-form-item label="申请时间" prop="startTime">
<el-date-picker
v-model="queryParams.time"
type="daterange"
v-model="queryParams.startTime"
type="date"
placeholder="开始日期"
clearable
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
></el-date-picker>
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="">-</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
v-model="queryParams.endTime"
type="date"
placeholder="结束日期"
clearable
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
style="width: 130px"
/>
</el-form-item>
<el-form-item label="分公司" prop="impUnitName">
@ -201,9 +213,12 @@
>
编辑
</el-button>
<el-button size="mini" type="warning" v-if="scope.row.taskStatus != 1" @click="handleLld(scope.row)">
<el-button size="mini" type="warning" v-if="scope.row.taskStatus != 1 && scope.row.isZz == 0" @click="handleLld(scope.row)">
领料单
</el-button>
<el-button size="mini" type="primary" v-if="scope.row.isZz != 0" @click="handleDialog(scope.row.directId)">
直转单
</el-button>
<el-button size="mini" type="danger" @click="handleDeletePurchase(scope.row)" v-if="handleShow(scope.row)">
删除
</el-button>
@ -359,6 +374,9 @@
<el-button @click="showView = false"> </el-button>
</div>
</el-dialog>
<!-- 直转单 -->
<StraightforwardBills ref="straightforwardBills" />
</div>
</template>
@ -369,11 +387,12 @@ import { getListLeaseApply, getPickListApi, applyRemove,
import {getDeviceType} from "@/api/ma/device";
import vueEasyPrint from 'vue-easy-print'
import printJS from 'print-js'
import StraightforwardBills from '@/views/materialsStation/straight/straightTransferReview/components/StraightforwardBills.vue'
export default {
name: 'Home',
dicts: ['clz_lease_apply_task_status', 'ma_type_manage_type'],
components: { vueEasyPrint },
components: { vueEasyPrint, StraightforwardBills },
data() {
return {
//
@ -394,7 +413,9 @@ export default {
queryParams: this.$store.state.clzOutBound.clzOutBoundQueryParams || {
pageNum: 1,
pageSize: 10,
time: [], //
// time: [], //
startTime: '',
endTime: '',
keyWord: '',
taskStatus: null, //
impUnitName:'',//
@ -429,7 +450,9 @@ export default {
const end = new Date()
let start = new Date()
start.setMonth(start.getMonth() - 1)
this.queryParams.time = [this.format(start), this.format(end)]
// this.queryParams.time = [this.format(start), this.format(end)]
this.queryParams.startTime = this.format(start)
this.queryParams.endTime = this.format(end)
this.getImpUnitOptions()
this.handleImpUnitChange()
this.handleDepartChange()
@ -463,8 +486,8 @@ export default {
const params = {
keyWord: this.queryParams.keyWord,
taskStatus: this.queryParams.taskStatus,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
startTime: this.queryParams.startTime,
endTime: this.queryParams.endTime,
impUnitName:this.queryParams.impUnitName,
departName:this.queryParams.departName,
proName:this.queryParams.proName,
@ -500,7 +523,9 @@ export default {
this.queryParams = {
pageNum: 1,
pageSize: 10,
time: [], //
// time: [], //
startTime: this.format(start),
endTime: this.format(end),
keyWord: '',
taskStatus: null, //
impUnitName:'',//
@ -709,7 +734,9 @@ export default {
this.leaseApplyData = res.data.leaseApplyInfo
this.leaseApplyOutData = res.data.leaseOutSign
},
handleDialog(id) {
this.$refs.straightforwardBills.openDialog(id)
},
//
printCheck() {
printJS({