Merge remote-tracking branch 'origin/dev-nx' into dev-nx

This commit is contained in:
liang.chao 2024-07-01 17:21:55 +08:00
commit 1032f6d0a3
5 changed files with 214 additions and 43 deletions

View File

@ -169,23 +169,28 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
@Override @Override
public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) { public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) {
extracted(dto); extracted(dto);
// 分页 List<StorageDetailVo> result = mapper.getAcceptanceDetailStorage(dto);
PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); List<StorageDetailVo> filteredResult = result.stream()
PageResultVo pageResult = new PageResultVo();
List<StorageDetailVo> result;
result = mapper.getAcceptanceDetailStorage(dto);
result = result.stream()
.filter(storageDetail -> storageDetail.getPurchaseNum() != 0 || .filter(storageDetail -> storageDetail.getPurchaseNum() != 0 ||
storageDetail.getCheckNum() != 0 || storageDetail.getCheckNum() != 0 ||
storageDetail.getInputNum() != 0) storageDetail.getInputNum() != 0)
.collect(Collectors.toList()); .collect(Collectors.toList());
// 分页信息 // 手动计算分页信息
PageInfo<StorageDetailVo> pageInfo = new PageInfo<>(result); int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum();
pageResult.setTotal(pageInfo.getTotal()); int pageSize = dto.getPageSize();
pageResult.setTotalPageCount(pageInfo.getPages()); int total = filteredResult.size();
pageResult.setRows(result); int totalPages = (int) Math.ceil((double) total / pageSize);
pageResult.setPageNum (dto.getPageNum()); // 手动分页获取当前页的数据
pageResult.setPageSize(dto.getPageSize()); int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, total);
List<StorageDetailVo> currentPageData = filteredResult.subList(startIndex, endIndex);
// 构建返回结果对象
PageResultVo pageResult = new PageResultVo();
pageResult.setTotal(total);
pageResult.setTotalPageCount(totalPages);
pageResult.setRows(currentPageData);
pageResult.setPageNum(pageNum);
pageResult.setPageSize(pageSize);
return pageResult; return pageResult;
} }

View File

@ -86,31 +86,43 @@
label="工程项目名称" label="工程项目名称"
align="center" align="center"
prop="proName" prop="proName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="工程类型" label="工程类型"
align="center" align="center"
prop="typeName" prop="typeName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="所属上级" label="所属上级"
align="center" align="center"
prop="deptName" prop="deptName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="联系人" label="联系人"
align="center" align="center"
prop="linkMan" prop="linkMan"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="联系电话" label="联系电话"
align="center" align="center"
prop="telphone" prop="telphone"
:show-overflow-tooltip="true" show-overflow-tooltip
/>
<el-table-column
label="开工日期"
align="center"
prop="startDate"
show-overflow-tooltip
/>
<el-table-column
label="竣工日期"
align="center"
prop="completionDate"
show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="状态" label="状态"
@ -191,7 +203,7 @@
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
v-if="item.status != '1'" v-show="item.status != '1'"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -221,6 +233,35 @@
onkeyup="this.value = this.value.replace(/[^\d]/g,'');" onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/> />
</el-form-item> </el-form-item>
<el-form-item label="开工日期" prop="startDate">
<el-date-picker
v-model="form.startDate"
type="date"
placeholder="请选择开工日期"
value-format="yyyy-MM-dd"
style="width: 100%"
@change="startDateChange"
/>
</el-form-item>
<el-form-item label="竣工日期" prop="completionDate">
<el-date-picker
v-model="form.completionDate"
type="date"
placeholder="请选择竣工日期"
value-format="yyyy-MM-dd"
style="width: 100%"
:picker-options="{
//
disabledDate: (time) => {
const currentDate = new Date(
form.startDate || new Date(),
)
currentDate.setDate(currentDate.getDate())
return time.getTime() < currentDate.getTime()
},
}"
/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button
@ -292,7 +333,10 @@ export default {
proName: undefined, proName: undefined,
}, },
// //
form: {}, form: {
startDate: '',
completionDate: '',
},
chosenData: {}, chosenData: {},
// //
rules: { rules: {
@ -317,6 +361,20 @@ export default {
trigger: 'blur', trigger: 'blur',
}, },
], ],
startDate: [
{
required: true,
message: '请选择开工日期',
trigger: 'change',
},
],
completionDate: [
{
required: true,
message: '请选择竣工日期',
trigger: 'change',
},
],
}, },
} }
}, },
@ -481,6 +539,17 @@ export default {
this.$store.dispatch('dict/cleanDict') this.$store.dispatch('dict/cleanDict')
}) })
}, },
//
startDateChange(val) {
if (this.form.completionDate) {
const startDate = val.split('-').join('') - 0
const endDate = this.form.completionDate.split('-').join('') - 0
if (startDate >= endDate) {
this.form.completionDate = ''
}
}
},
}, },
} }
</script> </script>

View File

@ -84,37 +84,49 @@
label="标段工程名称" label="标段工程名称"
align="center" align="center"
prop="lotName" prop="lotName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="工程类型" label="工程类型"
align="center" align="center"
prop="typeName" prop="typeName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="所属工程项目" label="所属工程项目"
align="center" align="center"
prop="ownPro" prop="ownPro"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="所属上级" label="所属上级"
align="center" align="center"
prop="deptName" prop="deptName"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="联系人" label="联系人"
align="center" align="center"
prop="linkMan" prop="linkMan"
:show-overflow-tooltip="true" show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="联系电话" label="联系电话"
align="center" align="center"
prop="telphone" prop="telphone"
:show-overflow-tooltip="true" show-overflow-tooltip
/>
<el-table-column
label="开工日期"
align="center"
prop="startDate"
show-overflow-tooltip
/>
<el-table-column
label="竣工日期"
align="center"
prop="completionDate"
show-overflow-tooltip
/> />
<el-table-column <el-table-column
label="状态" label="状态"
@ -240,6 +252,35 @@
onkeyup="this.value = this.value.replace(/[^\d]/g,'');" onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/> />
</el-form-item> </el-form-item>
<el-form-item label="开工日期" prop="startDate">
<el-date-picker
v-model="form.startDate"
type="date"
placeholder="请选择日期"
value-format="yyyy-MM-dd"
style="width: 100%"
@change="startDateChange"
/>
</el-form-item>
<el-form-item label="竣工日期" prop="completionDate">
<el-date-picker
v-model="form.completionDate"
type="date"
placeholder="请选择日期"
value-format="yyyy-MM-dd"
style="width: 100%"
:picker-options="{
//
disabledDate: (time) => {
const currentDate = new Date(
form.startDate || new Date(),
)
currentDate.setDate(currentDate.getDate())
return time.getTime() < currentDate.getTime()
},
}"
/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button
@ -335,9 +376,20 @@ export default {
trigger: 'blur', trigger: 'blur',
}, },
], ],
// ownPro: [ startDate: [
// { required: true, message: "", trigger: "blur" } {
// ] required: true,
message: '请选择开工日期',
trigger: 'change',
},
],
completionDate: [
{
required: true,
message: '请选择竣工日期',
trigger: 'change',
},
],
}, },
} }
}, },
@ -507,6 +559,18 @@ export default {
this.$store.dispatch('dict/cleanDict') this.$store.dispatch('dict/cleanDict')
}) })
}, },
//
startDateChange(val) {
if (this.form.completionDate) {
const startDate = val.split('-').join('') - 0
const endDate = this.form.completionDate.split('-').join('') - 0
if (startDate >= endDate) {
this.form.completionDate = ''
}
}
},
}, },
} }
</script> </script>

View File

@ -173,6 +173,7 @@
> >
出库 出库
</el-button> </el-button>
<!-- <el-button type="text"> 出库单 </el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -285,8 +286,11 @@
size="mini" size="mini"
@click="codeOut(scope.row)" @click="codeOut(scope.row)"
v-if=" v-if="
scope.row.status != 2 &&
scope.row.manageType == 0 && scope.row.manageType == 0 &&
scope.row.status != 2 (isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
" "
> >
编码出库 编码出库
@ -295,9 +299,11 @@
size="mini" size="mini"
type="primary" type="primary"
v-if=" v-if="
(scope.row.manageType == 1 || scope.row.status != 2 &&
scope.row.manageType == 2) && scope.row.manageType == 1 &&
scope.row.status != 2 (isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
" "
@click="numOut(scope.row)" @click="numOut(scope.row)"
> >
@ -306,7 +312,12 @@
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
v-if="scope.row.status != 2" v-if="
scope.row.status != 2 &&
(isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
"
@click="manualOperation(scope.row)" @click="manualOperation(scope.row)"
> >
完成出库 完成出库
@ -537,6 +548,7 @@ import { getTypeList } from '@/api/store/warehousing'
import { equipmentTypeTree } from '@/api/store/tools' import { equipmentTypeTree } from '@/api/store/tools'
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import store from '@/store'
export default { export default {
name: 'receiveOut', name: 'receiveOut',
components: { Treeselect }, components: { Treeselect },
@ -613,8 +625,11 @@ export default {
outTotal: 0, //- outTotal: 0, //-
outCodeList: [], // outCodeList: [], //
outNumList: [], // outNumList: [], //
userId: sessionStorage.getItem('userId'), // userId
isMonitor: false,
} }
}, },
created() { created() {
this.getTypeList() this.getTypeList()
this.getUnitList() this.getUnitList()
@ -622,6 +637,11 @@ export default {
this.equipmentType() this.equipmentType()
this.getList() this.getList()
const roles = store.getters && store.getters.roles
if (roles.includes('jjbz')) {
this.isMonitor = true
}
}, },
methods: { methods: {
// //
@ -767,17 +787,17 @@ export default {
outboundCompleted({ outboundCompleted({
id: this.dialogQuery.id, id: this.dialogQuery.id,
typeId: row.typeId, typeId: row.typeId,
}).then((response) => { }).then((res) => {
this.$modal.msgSuccess('完成出库成功') this.$modal.msgSuccess('完成')
this.handleDialogQuery() this.handleDialogQuery()
this.handleQuery() this.handleQuery()
}) })
}) })
.catch(() => { .catch(() => {
this.$message({ // this.$message({
type: 'info', // type: 'info',
message: '已取消完成出库', // message: '',
}) // })
}) })
}, },
handleOutQuery() { handleOutQuery() {
@ -825,7 +845,7 @@ export default {
return obj return obj
}) })
// console.log(params) // console.log(params)
submitOut(params).then((response) => { submitOut(params).then((res) => {
this.$modal.msgSuccess('出库成功') this.$modal.msgSuccess('出库成功')
this.openCode = false this.openCode = false
this.handleDialogQuery() this.handleDialogQuery()
@ -869,6 +889,19 @@ export default {
`领料出库_${new Date().getTime()}.xlsx`, `领料出库_${new Date().getTime()}.xlsx`,
) )
}, },
//
isOutboundFun(ids) {
if (!ids) {
return false
} else {
if (ids.split(',').includes(this.userId)) {
return true
} else {
return false
}
}
},
}, },
} }
</script> </script>

View File

@ -43,11 +43,11 @@ module.exports = {
// target: `https://test-cc.zhgkxt.com`,//线上环境-南网 // target: `https://test-cc.zhgkxt.com`,//线上环境-南网
// target: `https://z.csgmall.com.cn`, // target: `https://z.csgmall.com.cn`,
// target: `http://192.168.2.122:28080`, //超 target: `http://192.168.2.122:28080`, //超
// target: `http://10.40.92.81:28080`, //韩/ // target: `http://10.40.92.81:28080`, //韩/
// target: `http://10.40.92.74:8080`,//旭/ // target: `http://10.40.92.74:8080`,//旭/
// target: `http://10.40.92.140:28080`, //帅 // target: `http://10.40.92.140:28080`, //帅
target: `http://192.168.2.209:28080`, //福 // target: `http://192.168.2.209:28080`, //福
//******** 注意事项 ********* */ //******** 注意事项 ********* */
//1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target; //1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target;