工地直转页面

This commit is contained in:
syruan 2024-12-09 18:20:38 +08:00 committed by syruan
parent ca4de9560c
commit 65c016f593
2 changed files with 241 additions and 250 deletions

View File

@ -8,7 +8,7 @@
v-show="showSearch"
label-width="100px"
>
<el-form-item label="关键字" prop="keyWord">
<el-form-item label="工程/单位名称" prop="keyWord">
<el-input
v-model="queryParams.keyWord"
placeholder="请输入关键字"
@ -18,57 +18,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单位名称" prop="unitId">
<el-select
v-model="queryParams.unitId"
placeholder="请选择单位名称"
clearable
>
<el-option
v-for="item in unitList"
:key="item.unitId"
filterable
:label="item.unitName"
:value="item.unitId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="工程名称" prop="lotId">
<el-select
v-model="queryParams.lotId"
filterable
placeholder="请选择工程名称"
clearable
>
<el-option
v-for="item in projectList"
:key="item.projectId"
:label="item.projectName"
:value="item.projectId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系人姓名" prop="backMan">
<el-input
maxlength="50"
v-model="queryParams.backMan"
placeholder="请输入联系人姓名"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系人电话" prop="backPhone">
<el-input
v-model="queryParams.backPhone"
placeholder="请输入联系人电话"
clearable
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
maxlength="11"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="完成情况" prop="status">
<el-select
v-model="queryParams.status"
@ -144,14 +93,11 @@
}}</span>
</template>
</el-table-column> -->
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column width="60" align="center" label="序号" type="index" >
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="转让方单位名称"
align="center"
@ -292,42 +238,34 @@
:inline="true"
label-width="100px"
>
<el-row>
<el-row class="virtual-border-back" style="margin-bottom: 5px;">
<el-form-item label="退料单位" prop="backUnitId">
<el-select
v-model="dialogParams.backUnitId"
filterable
clearable
@change="GetProData"
style="width: 240px"
placeholder="请选择"
:disabled="handleState == 1"
>
<el-option
v-for="item in backUnitList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-cascader
v-model="dialogParams.backUnitId"
:show-all-levels="false"
:options="unitList"
:props="selectTreeProps"
filterable
clearable
collapse-tags
@change="GetUnitData"
:disabled="false"
placeholder="请选择租赁单位">
</el-cascader>
</el-form-item>
<el-form-item label="退料工程" prop="backProId">
<el-select
v-model="dialogParams.backProId"
filterable
clearable
@change="GetUnitData"
style="width: 240px"
placeholder="请选择"
:disabled="handleState == 1"
>
<el-option
v-for="item in backProjectList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-cascader
v-model="dialogParams.backProId"
:show-all-levels="false"
:options="projectList"
:props="selectTreeProps"
filterable
clearable
collapse-tags
@change="GetProData"
:disabled="false"
placeholder="请选择租赁工程">
</el-cascader>
</el-form-item>
<el-form-item label="退料协议编号" prop="backAgreementCode">
<el-input
@ -338,71 +276,65 @@
style="width: 240px"
/>
</el-form-item>
<el-form-item label="退料人" prop="backMan">
<el-input
v-model="dialogParams.backMan"
placeholder="请输入退料人"
clearable
maxlength="50"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="退料人电话" prop="backPhone">
<el-input
v-model="dialogParams.backPhone"
placeholder="请输入退料人电话"
clearable
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
maxlength="11"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="退料人" prop="backMan">
<el-input
v-model="dialogParams.backMan"
placeholder="请输入退料人"
clearable
maxlength="50"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="退料人电话" prop="backPhone">
<el-input
v-model="dialogParams.backPhone"
placeholder="请输入退料人电话"
clearable
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
maxlength="11"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
<el-row style="display: flex;justify-content: center; /* 水平居中 */height: 100%; /* 确保有高度以便垂直居中 */">
<el-button type="primary" icon="el-icon-bottom"></el-button>
</el-row>
<el-row>
<el-row class="virtual-border-lease" style="margin-top: 10px;margin-bottom: 15px;">
<el-form-item label="领料单位" prop="leaseUnitId">
<el-select
v-model="dialogParams.leaseUnitId"
filterable
clearable
@change="GetProData2"
style="width: 240px"
placeholder="请选择"
:disabled="handleState == 1"
>
<el-option
v-for="item in leaseUnitList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-cascader
v-model="dialogParams.leaseUnitId"
:show-all-levels="false"
:options="unitList"
:props="selectTreeProps"
filterable
clearable
collapse-tags
@change="GetUnitData2"
:disabled="handleState == 1"
placeholder="请选择领料单位">
</el-cascader>
</el-form-item>
<el-form-item label="领料工程" prop="leaseProId">
<el-select
v-model="dialogParams.leaseProId"
filterable
clearable
@change="GetUnitData2"
style="width: 240px"
placeholder="请选择"
:disabled="handleState == 1"
>
<el-option
v-for="item in leaseProjectList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-cascader
v-model="dialogParams.leaseProId"
:show-all-levels="false"
:options="projectList"
:props="selectTreeProps"
filterable
clearable
collapse-tags
@change="GetProData2"
:disabled="handleState == 1"
placeholder="请选择领料工程">
</el-cascader>
</el-form-item>
<el-form-item
label="领料协议编号"
prop="leaseAgreementCode"
>
prop="leaseAgreementCode">
<el-input
v-model="dialogParams.leaseAgreementCode"
placeholder="请输入领料协议编号"
@ -411,56 +343,55 @@
style="width: 240px"
/>
</el-form-item>
<el-form-item label="领料人" prop="leaseMan">
<el-input
v-model="dialogParams.leaseMan"
placeholder="请输入领料人"
clearable
maxlength="50"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="领料人电话" prop="leasePhone">
<el-input
v-model="dialogParams.leasePhone"
placeholder="请输入领料人电话"
clearable
maxlength="11"
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="领料人" prop="leaseMan">
<el-input
v-model="dialogParams.leaseMan"
placeholder="请输入领料人"
clearable
maxlength="50"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="领料人电话" prop="leasePhone">
<el-input
v-model="dialogParams.leasePhone"
placeholder="请输入领料人电话"
clearable
maxlength="11"
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
:disabled="handleState == 1"
style="width: 240px"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="关键字" prop="keyWord">
<el-input
v-model="dialogParams.keyWord"
placeholder="请输入关键字"
clearable
maxlength="50"
style="width: 240px"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleDialogQuery"
>查询</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetDialogQuery"
>重置</el-button
>
</el-form-item>
</el-row>
<!-- <el-row>-->
<!-- <el-form-item label="关键字" prop="keyWord">-->
<!-- <el-input-->
<!-- v-model="dialogParams.keyWord"-->
<!-- placeholder="请输入关键字"-->
<!-- clearable-->
<!-- maxlength="50"-->
<!-- style="width: 240px"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-search"-->
<!-- size="mini"-->
<!-- @click="handleDialogQuery"-->
<!-- >查询</el-button-->
<!-- >-->
<!-- <el-button-->
<!-- icon="el-icon-refresh"-->
<!-- size="mini"-->
<!-- @click="resetDialogQuery"-->
<!-- >重置</el-button-->
<!-- >-->
<!-- </el-form-item>-->
<!-- </el-row>-->
</el-form>
<el-table
@ -613,7 +544,6 @@
border
style="margin-top: 20px; padding: 1px; width: 100%"
>
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column
label="序号"
align="center"
@ -693,6 +623,7 @@ import {
} from '@/api/claimAndRefund/constructionSite'
import { getInfo } from '@/api/login'
import vueEasyPrint from 'vue-easy-print'
import {getListProject, getListUnite} from "@/api/lease/apply";
export default {
name: 'ConstructionSite',
dicts: ['sys_normal_disable'],
@ -716,6 +647,11 @@ export default {
projectList: [],
//
total: 0,
selectTreeProps: {
children: "children",
label: "name",
value: "id",
},
//
tableList: [],
//
@ -756,14 +692,14 @@ export default {
backUnitId: [
{
required: true,
message: '请选择退料单位',
message: '请选择退料单位1',
trigger: 'blur',
},
],
backProId: [
{
required: true,
message: '请选择退料项目',
message: '请选择退料项目1',
trigger: 'blur',
},
],
@ -801,7 +737,26 @@ export default {
const res = await getInfo()
this.user = res.user
},
uniteChange(val) {
if (val && val.length > 0) {
this.maForm.unitId = this.unitId[this.unitId.length - 1];
} else if (val && val.length == 0) {
this.maForm.unitId = "";
}
getListProject({ unitId: this.maForm.unitId }).then((response) => {
this.projectList = response.data;
});
},
projectChange(val) {
if (val && val.length > 0) {
this.maForm.projectId = this.projectId[this.projectId.length - 1];
} else if (val && val.length == 0) {
this.maForm.projectId = "";
}
getListUnite({ projectId: this.maForm.projectId }).then((response) => {
this.uniteList = response.data;
});
},
// ,getUnitList, getProjectList
getUnitList() {
getUnitList().then((response) => {
@ -852,22 +807,34 @@ export default {
},
//
async GetUnitData() {
async GetUnitData(val) {
const params = {
id: this.dialogParams.backProId,
}
const res = await getUnitData(params)
this.backUnitList = res.data
if (val && val.length > 0) {
this.dialogParams.backUnitId = val[val.length - 1];
} else if (val && val.length === 0) {
this.dialogParams.backUnitId = "";
}
this.GetAgreementInfoById()
// const res = await getUnitData(params)
// this.backUnitList = res.data
// this.GetAgreementInfoById()
},
//
async GetProData() {
async GetProData(val) {
const params = {
id: this.dialogParams.backUnitId,
}
const res = await getProData(params)
this.backProjectList = res.data
if (val && val.length > 0) {
this.dialogParams.backProId = val[val.length - 1];
} else if (val && val.length === 0) {
this.dialogParams.backProId = "";
}
// const res = await getProData(params)
// this.backProjectList = res.data
this.GetAgreementInfoById()
},
@ -915,24 +882,36 @@ export default {
},
//
async GetUnitData2() {
async GetUnitData2(val) {
const params = {
id: this.dialogParams.leaseProId,
}
const res = await getUnitData(params)
this.leaseUnitList = res.data
debugger;
if (val && val.length > 0) {
this.dialogParams.leaseUnitId = val[val.length - 1];
} else if (val && val.length == 0) {
this.dialogParams.leaseUnitId = "";
}
this.GetAgreementInfoById2()
// const res = await getUnitData(params)
// this.leaseUnitList = res.data
// this.GetAgreementInfoById2()
},
//
async GetProData2() {
const params = {
id: this.dialogParams.leaseUnitId,
}
const res = await getProData(params)
this.leaseProjectList = res.data
async GetProData2(val) {
const params = {
id: this.dialogParams.leaseUnitId,
}
// const res = await getProData(params)
// this.leaseProjectList = res.data
if (val && val.length > 0) {
this.dialogParams.leaseProId = val[val.length - 1];
} else if (val && val.length == 0) {
this.dialogParams.leaseProId = "";
}
this.GetAgreementInfoById2()
this.GetAgreementInfoById2()
},
// id
async GetAgreementInfoById2() {
@ -1099,20 +1078,20 @@ export default {
return item
})
console.log(backList, 'backList------')
let backApplyInfo = {
types: 2,
unitId: data.backUnitId,
proId: data.backProId,
agreementId: data.backAgreementId,
agreementCode: data.backAgreementCode,
companyId: null,
createBy: this.user.userName,
backApplyInfo: {
backPerson: data.backMan,
phone: data.backPhone,
remark: '',
let backApplyRequestVo = {
backApplyInfo : {
types: 2,
unitId: data.backUnitId,
proId: data.backProId,
agreementId: data.backAgreementId,
agreementCode: data.backAgreementCode,
companyId: null,
createBy: this.user.userName,
backPerson: data.backMan,
phone: data.backPhone,
remark: ''
},
backApplyDetails: backList,
backApplyDetailsList: backList || [],
}
// console.log(backApplyInfo,'backApplyInfo------')
let leaseList = this.deviceList.map((item) => {
@ -1124,28 +1103,28 @@ export default {
return item
})
// console.log(leaseList,'leaseList---------')
let leaseApplyInfo = {
types: 2,
unitId: data.leaseUnitId,
proId: data.leaseProId,
agreementId: data.leaseAgreementId,
agreementCode: data.leaseAgreementCode,
companyId: null,
createBy: this.user.userName,
taskType: 29,
taskStatus: 30,
let leaseApplyRequestVo = {
leaseApplyInfo: {
types: 2,
unitId: data.leaseUnitId,
proId: data.leaseProId,
agreementId: data.leaseAgreementId,
agreementCode: data.leaseAgreementCode,
companyId: null,
createBy: this.user.userName,
taskType: 29,
taskStatus: 30,
leasePerson: data.leaseMan,
phone: data.leasePhone,
remark: '',
},
leaseApplyDetails: leaseList,
leaseApplyDetailsList: leaseList || [],
}
// console.log(leaseApplyInfo)
let param = {
id: this.dialogParams.id,
backApplyInfo: backApplyInfo,
leaseApplyInfo: leaseApplyInfo,
backApplyRequestVo: backApplyRequestVo,
leaseApplyRequestVo: leaseApplyRequestVo,
}
passWorkSite(param).then((res) => {
if (res.code == 200) {
@ -1209,6 +1188,18 @@ export default {
}
</script>
<style lang="scss" scoped>
.virtual-border-back {
border: 1px solid #6cb1f8; /* 虚线边框 */
border-radius: 4px;
padding: 5px; /* 内边距 */
}
.virtual-border-lease {
border: 1px solid #4cda6a; /* 虚线边框 */
border-radius: 4px;
padding: 5px; /* 内边距 */
}
.print {
.title {
text-align: center;

View File

@ -137,7 +137,7 @@
controls-position="right" type="number"
style="width: 100%"
:min="0" @input="(v)=>(scope.row.unitValue==1?scope.row.preNum=Number(v.replace(/[^\d.]/g,'')) : scope.row.preNum=Number(v.replace(/[^\d]/g,'')))"
></el-input>
></el-input>
</template>
</el-table-column>
@ -457,8 +457,8 @@ export default {
if (z.data.typeId === i) {
const obj = JSON.parse(JSON.stringify(z.data));
obj.preNum = 1;
if(obj.storageNum<=0){
let index = this.deviceType.length;
if(obj.storageNum<=0){
let index = this.deviceType.length;
if(index==1){
this.$nextTick(() => {
this.deviceType=[]; //