基础管理

This commit is contained in:
jjLv 2024-10-21 11:04:38 +08:00
parent c7274e024f
commit 50129e4fbd
8 changed files with 1949 additions and 189 deletions

View File

@ -165,6 +165,15 @@ export function unitTypeList(query) {
params: query
})
}
// 实施单位类型-列表
export function impUnitTypeList(query) {
return request({
url: '/system/dept/list',
method: 'get',
params: query
})
}
// 单位类型-列表-下拉
export function unitTypeListAll(query) {
return request({

View File

@ -0,0 +1,64 @@
import request from '@/utils/request'
//机具类型管理列表信息
export function getListNewBuy(query) {
return request({
url: '/material/purchase_check_info/list',
method: 'get',
params: query,
})
}
//查看机具类型管理列表详细信息
export function getHouseDetail(id) {
return request({
url: '/material/wh_house_info/'+ id,
method: 'get',
})
}
// 物资名称下拉框-
export function queryKeeperNameApi(query) {
return request({
url: '/material/ma_type/selectMaTypeListByTypeId',
method: 'get',
params: query
})
}
// 仓库管理--删除
export function delHouse(id) {
return request({
url: '/material/wh_house_info/' + id,
method: 'delete',
})
}
// 仓库管理--修改
export function editHouse(data) {
return request({
url: '/material/wh_house_info',
method: 'put',
data: data,
})
}
// 仓库管理--新增
export function addHouse(data) {
return request({
url: '/material/wh_house_info',
method: 'post',
data: data,
})
}
// 工程项目-列表
export function getProjectList(query) {
return request({
url: '/material/base/bmProjectInfo/projectInfoAll',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,30 @@
<template>
<!-- 页头提示 -->
<el-page-header @back="goBack" :content="pageContent"> </el-page-header>
<!-- -->
</template>
<script>
export default {
name: 'PageHeader',
props: {
pageContent: {
type: String,
default: '详情',
},
},
methods: {
goBack() {
this.$emit('goBack')
},
},
}
</script>
<style>
.el-page-header {
padding-bottom: 5px;
margin-bottom: 10px;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
}
</style>

View File

@ -96,37 +96,41 @@
<el-table-column
label="实施单位"
align="center"
prop="typeName"
prop="impUnit"
:show-overflow-tooltip="true"
/>
<el-table-column
label="工程类型"
align="center"
prop="typeName"
prop="proType"
:show-overflow-tooltip="true"
/>
<el-table-column
label="i8工程编码"
align="center"
prop="deptName"
prop="proCode"
:show-overflow-tooltip="true"
/>
<el-table-column
label="是否匹配i8工程"
align="center"
prop="linkMan"
:show-overflow-tooltip="true"
/>
prop="isMatchI8"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<div v-if="scope.row.isMatchI8=='匹配'" style="color: green;">{{ scope.row.isMatchI8 }}</div>
<div v-if="scope.row.isMatchI8=='不匹配'" style="color: red;">{{ scope.row.isMatchI8 }}</div>
</template>
</el-table-column>
<el-table-column
label="合同主体"
align="center"
prop="linkMan"
prop="contractPart"
:show-overflow-tooltip="true"
/>
<el-table-column
label="项目经理"
align="center"
prop="linkMan"
prop="proManager"
:show-overflow-tooltip="true"
/>
<el-table-column
@ -138,17 +142,9 @@
<el-table-column
label="工程状态"
align="center"
prop="status"
width="140"
prop="proStatus"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-switch
active-value="0"
inactive-value="1"
@change="changeStatus(scope.row)"
v-model="scope.row.status"
></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="140">
<template slot-scope="scope">
@ -201,46 +197,45 @@
maxlength="50"
/>
</el-form-item>
<el-form-item label="实施单位" prop="projectStatus">
<el-form-item label="实施单位" prop="impUnit">
<el-select
v-model="form.projectStatus"
v-model="form.impUnitList"
filterable
placeholder="请选择实施单位"
style="width: 100%"
>
<el-option
v-for="status in unitList"
v-for="status in impUnitList"
:key="status.value"
:label="status.label"
:value="status.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="工程状态" prop="projectStatus">
<el-form-item label="工程状态" prop="proStatus">
<el-select
v-model="form.projectStatus"
v-model="form.proStatus"
filterable
placeholder="请选择工程状态"
style="width: 100%"
>
<el-option
v-for="status in projectStatuses"
:key="status.value"
:label="status.label"
:value="status.value"
></el-option>
<el-option label="开工准备" value="0"></el-option>
<el-option label="在建" value="1"></el-option>
<el-option label="停工" value="2"></el-option>
<el-option label="完工未竣工" value="3"></el-option>
<el-option label="竣工" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目经理" prop="projectManager">
<el-form-item label="项目经理" prop="proManager">
<el-input
v-model="form.projectManager"
v-model="form.proManager"
placeholder="请输入项目经理姓名"
maxlength="20"
/>
</el-form-item>
<el-form-item label="合同主体单位" prop="contractingEntity">
<el-form-item label="合同主体单位" prop="contractPart">
<el-input
v-model="form.contractingEntity"
v-model="form.contractPart"
placeholder="请输入合同主体单位"
maxlength="50"
/>
@ -276,19 +271,16 @@
maxlength="50"
/>
</el-form-item>
<el-form-item label="工程类型" prop="projectStatus">
<el-form-item label="工程类型" prop="proStatus">
<el-select
v-model="form.projectStatus"
filterable
v-model="form.proStatus"
placeholder="请选择工程状态"
style="width: 100%"
>
<el-option
v-for="status in projectStatuses"
:key="status.value"
:label="status.label"
:value="status.value"
></el-option>
<el-option label="线路工程" value="0"></el-option>
<el-option label="变电工程" value="1"></el-option>
<el-option label="业务工程" value="2"></el-option>
<el-option label="其他工厂" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="工程性质" prop="projectNature">
@ -298,25 +290,22 @@
placeholder="请选择工程性质"
style="width: 100%"
>
<el-option
v-for="nature in projectNatures"
:key="nature.value"
:label="nature.label"
:value="nature.value"
></el-option>
<el-option label="基建" value="0"></el-option>
<el-option label="用户工程" value="1"></el-option>
<el-option label="技修大改" value="2"></el-option>
<el-option label="其它" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" prop="telephone">
<el-form-item label="联系电话" prop="telphone">
<el-input
v-model="form.telephone"
v-model="form.telphone"
placeholder="请输入联系电话"
maxlength="11"
onkeyup="this.value = this.value.replace(/[^\d]/g, '')"
/>
</el-form-item>
<el-form-item label="所属项目中心" prop="projectCenter">
<el-form-item label="所属项目中心" prop="proCenter">
<el-input
v-model="form.projectCenter"
v-model="form.proCenter"
placeholder="请输入所属项目中心"
maxlength="50"
/>
@ -346,7 +335,7 @@ import {
updateProject,
getProjectUserList,
} from '@/api/base/base'
import { unitTypeList } from '@/api/base/base'
import { unitTypeList,impUnitTypeList } from '@/api/base/base'
// import { deptTreeSelect } from '@/api/system/user'
// import Treeselect from '@riophae/vue-treeselect'
// import '@riophae/vue-treeselect/dist/vue-treeselect.css'
@ -374,7 +363,7 @@ export default {
projectList: [],
//
typeList: [],
unitList:[],
impUnitList:[],
projectStatuses:[],
//
deptOptions: undefined,
@ -421,17 +410,40 @@ export default {
}
},
created() {
// this.getType()
this.getType()
// this.getDeptTree()
this.getList()
},
methods: {
// //
// getType() {
// unitTypeList({ id: '5' }).then((response) => {
// this.typeList = response.rows
// })
// },
//
getType() {
impUnitTypeList().then((response) => {
let matTypeRes = response.data;
let result=[];
matTypeRes.forEach(item=>{
const parts = item.ancestors.split(',');
if(parts.length==2){
result.push({
label: item.deptName,
value: item.deptId,
});
}
})
this.impUnitList=result
// this.impUnitList = matTypeRes.map((item) => {
// const parts = item.ancestors.split(',');
// // const extension = parts.pop();
// if(parts.length==2){
// return {
// label: item.deptId,
// value: item.deptName,
// };
// }
// });
console.log(this.impUnitList)
})
},
selecType(id) {
// this.typeList.forEach(item => {
// if(item.id == id){

View File

@ -80,20 +80,22 @@
border
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
prop="typeId"
width="100"
align="center"
/>
<el-table-column
align="center"
label="单位类型"
prop="typeName"
label="字典编码"
prop="dictCode"
:show-overflow-tooltip="true"
width="1000"
/>
<el-table-column label="字典标签" align="center" prop="dictLabel" sortable/>
<el-table-column label="字典键值" align="center" prop="dictValue" sortable/>
<el-table-column label="字典排序" align="center" prop="dictSort" sortable/>
<el-table-column label="状态" align="center" prop="status" sortable>
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" sortable/>
<el-table-column label="创建时间" align="center" prop="createTime" sortable/>
<!-- <el-table-column label="状态" align="center">-->
<!-- <template slot-scope="scope">-->
@ -145,7 +147,7 @@
/>
<!-- 添加或修改角色配置对话框 -->
<el-dialog
<!-- <el-dialog
:title="title"
:visible.sync="open"
width="500px"
@ -172,71 +174,55 @@
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</el-dialog> -->
<!-- 分配角色数据权限对话框 -->
<el-dialog
:title="title"
:visible.sync="openDataScope"
width="500px"
append-to-body
:close-on-click-modal="false"
>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true" />
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="字典类型">
<el-input v-model="form.dictType" :disabled="true" />
</el-form-item>
<el-form-item label="权限字符">
<el-input v-model="form.roleKey" :disabled="true" />
<el-form-item label="数据标签" prop="dictLabel">
<el-input v-model="form.dictLabel" placeholder="请输入数据标签" />
</el-form-item>
<el-form-item label="权限范围">
<el-select
v-model="form.dataScope"
>
<el-form-item label="数据键值" prop="dictValue">
<el-input v-model="form.dictValue" placeholder="请输入数据键值" />
</el-form-item>
<el-form-item label="样式属性" prop="cssClass">
<el-input v-model="form.cssClass" placeholder="请输入样式属性" />
</el-form-item>
<el-form-item label="显示排序" prop="dictSort">
<el-input-number v-model="form.dictSort" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="回显样式" prop="listClass">
<el-select v-model="form.listClass">
<el-option
v-for="item in dataScopeOptions"
v-for="item in listClassOptions"
:key="item.value"
:label="item.label"
:label="item.label + '(' + item.value + ')'"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据权限" v-show="form.dataScope == 2">
<el-checkbox
v-model="deptExpand"
@change="handleCheckedTreeExpand($event, 'dept')"
>展开/折叠</el-checkbox
>
<el-checkbox
v-model="deptNodeAll"
@change="handleCheckedTreeNodeAll($event, 'dept')"
>全选/全不选</el-checkbox
>
<el-checkbox
v-model="form.deptCheckStrictly"
@change="handleCheckedTreeConnect($event, 'dept')"
>父子联动</el-checkbox
>
<el-tree
class="tree-border"
:data="deptOptions"
show-checkbox
default-expand-all
ref="dept"
node-key="id"
:check-strictly="!form.deptCheckStrictly"
empty-text="加载中,请稍候"
:props="defaultProps"
></el-tree>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitDataScope"
> </el-button
>
<el-button @click="cancelDataScope"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -249,6 +235,7 @@ import {
statusUnitType,
unitTypeDetail,
} from '@/api/base/base'
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
export default {
name: 'Unit',
@ -298,18 +285,44 @@ export default {
},
//
rules: {
typeName: [
{
required: true,
message: '单位类型名称不能为空',
trigger: 'blur',
},
dictLabel: [
{ required: true, message: "数据标签不能为空", trigger: "blur" }
],
// dictType: [
// { required: true, message: "", trigger: "blur" }
// ]
dictValue: [
{ required: true, message: "数据键值不能为空", trigger: "blur" }
],
dictSort: [
{ required: true, message: "数据顺序不能为空", trigger: "blur" }
]
},
roleList:[]
roleList:[],
//
listClassOptions: [
{
value: "default",
label: "默认"
},
{
value: "primary",
label: "主要"
},
{
value: "success",
label: "成功"
},
{
value: "info",
label: "信息"
},
{
value: "warning",
label: "警告"
},
{
value: "danger",
label: "危险"
}
],
}
},
created() {
@ -320,7 +333,7 @@ export default {
getList() {
this.loading = true
unitTypeList(this.queryParams).then((response) => {
this.roleList = response.data.rows
this.roleList = response.data
// this.total = response.data.total
this.loading = false
})
@ -356,11 +369,19 @@ export default {
this.resetForm('queryForm')
this.handleQuery()
},
/** 新增按钮操作 */
// /** */
// handleAdd() {
// this.reset()
// this.open = true
// this.title = ''
// },
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '新增'
this.reset();
this.open = true;
this.title = "添加字典数据";
this.form.dictType = 'bm_unit_type';
},
//
handleSelectionChange(selection) {
@ -368,50 +389,83 @@ export default {
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 修改按钮操作 */
// /** */
// handleUpdate(row) {
// // this.reset()
// this.form.typeName = row.typeName
// console.log('',typeof row.typeId)
// unitTypeDetail(row.typeId).then((response) => {
// // this.form = response.rows[0]
// this.form.typeId=response.data.typeId
// })
// // this.form = row;
// this.open = true
// this.title = ''
// },
/** 修改按钮操作 */
handleUpdate(row) {
// this.reset()
this.form.typeName = row.typeName
console.log('修改',typeof row.typeId)
unitTypeDetail(row.typeId).then((response) => {
// this.form = response.rows[0]
this.form.typeId=response.data.typeId
})
// this.form = row;
this.open = true
this.title = '编辑'
this.reset();
const dictCode = row.dictCode || this.ids
getData(dictCode).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改";
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs['form'].validate((valid) => {
if (valid) {
this.isLoading = true
// /** */
// submitForm: function () {
// this.$refs['form'].validate((valid) => {
// if (valid) {
// this.isLoading = true
if (this.form.typeId != undefined) {
updateUnitType(this.form)
.then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.isLoading = false
this.getList()
})
.catch(() => {
this.isLoading = false
})
// if (this.form.typeId != undefined) {
// updateUnitType(this.form)
// .then((response) => {
// this.$modal.msgSuccess('')
// this.open = false
// this.isLoading = false
// this.getList()
// })
// .catch(() => {
// this.isLoading = false
// })
// } else {
// addUnitType(this.form)
// .then((response) => {
// this.$modal.msgSuccess('')
// this.open = false
// this.isLoading = false
// this.getList()
// })
// .catch(() => {
// this.isLoading = false
// })
// }
// }
// })
// },
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.dictCode != undefined) {
updateData(this.form).then(response => {
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addUnitType(this.form)
.then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.isLoading = false
this.getList()
})
.catch(() => {
this.isLoading = false
})
addData(this.form).then(response => {
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
})
});
},
changeStatus(row) {
let param = {
@ -422,19 +476,31 @@ export default {
this.getList()
})
},
/** 删除按钮操作 */
// /** */
// handleDelete(row) {
// const pIds = row.typeId || this.ids
// this.$modal
// .confirm('')
// .then(function () {
// return delUnitType(pIds)
// })
// .then(() => {
// this.getList()
// this.$modal.msgSuccess('')
// })
// .catch(() => {})
// },
/** 删除按钮操作 */
handleDelete(row) {
const pIds = row.typeId || this.ids
this.$modal
.confirm('是否确认删除所选择的数据项?')
.then(function () {
return delUnitType(pIds)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
const dictCodes = row.dictCode || this.ids;
this.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() {
return delData(dictCodes);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {

View File

@ -0,0 +1,822 @@
<template>
<!-- 新增工机具 -->
<div>
<!-- <el-form -->
<!-- :model="queryParams" -->
<!-- ref="queryForm" -->
<!-- size="small" -->
<!-- :inline="true" -->
<!-- label-width="100px" -->
<!-- > -->
<!-- <el-form-item label="出厂日期">
<el-date-picker
v-model="queryParams.productionTime"
style="width: 240px"
value-format="yyyy-MM-dd"
type="date"
placeholder="出厂日期"
@change="changeTime"
></el-date-picker>
</el-form-item>
<el-form-item label="机具厂家" prop="supplierId">
<el-select
v-model="queryParams.supplierId"
placeholder="机具厂家"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="item in supplierList"
:key="item.supplierId"
:label="item.supplier"
:value="item.supplierId"
/>
</el-select>
</el-form-item> -->
<!-- </el-form> -->
<el-form
:model="maForm"
ref="maForm"
:rules="rules"
size="small"
:inline="true"
label-width="120px"
>
<el-form-item label="线下采购单编号" prop="purchaseNumber">
<el-input
placeholder="请输入线下采购单编号"
style="width: 240px"
v-model="maForm.purchaseNumber"
/>
</el-form-item>
<el-form-item label="规格型号" prop="equipmentId">
<!-- <treeselect
v-model="queryParams.equipmentId"
default-expand-all
:options="equipmentTypeList"
placeholder="请选择规格型号"
@select="select"
:disable-branch-nodes="true"
style="width: 240px"
noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
/> -->
<el-cascader
:key="propsKey"
v-model="deviceType"
:show-all-levels="false"
:options="equipmentTypeList"
:props="deviceTypeTreeProps"
filterable
collapse-tags
style="width: 240px"
placeholder="请选择规格型号"
ref="deviceTypeCascader"
popper-class="popper-select"
@change="deviceTypeChange"
></el-cascader>
</el-form-item>
<el-form-item label="采购日期" prop="purchaseTime">
<el-date-picker
v-model="maForm.purchaseTime"
style="width: 240px"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择采购日期"
></el-date-picker>
</el-form-item>
<el-form-item label="到货日期" prop="arrivalTime">
<el-date-picker
v-model="maForm.arrivalTime"
style="width: 240px"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
type="date"
placeholder="请选择到货日期"
></el-date-picker>
</el-form-item>
<el-form-item label="采购员" prop="purchaser">
<el-select
v-model="maForm.purchaser"
filterable
placeholder="请选择采购员"
style="width: 240px"
>
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.userName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
v-model="maForm.remark"
placeholder="请输入备注"
clearable
maxlength="150"
type="textarea"
style="width: 240px"
rows="1"
/>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleSave"
>保存</el-button
>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="equipmentList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
align="center"
label="序号"
type="index"
width="55"
/>
<el-table-column
align="center"
label="机具名称"
prop="machineTypeName"
show-overflow-tooltip
></el-table-column>
<el-table-column
align="center"
label="规格型号"
prop="specificationType"
show-overflow-tooltip
/>
<el-table-column align="center" label="单位" prop="unitName" />
<el-table-column
label="购置单价(元)"
prop="purchasePrice"
align="center"
>
<template slot-scope="scope">
<el-input-number
v-model="scope.row.purchasePrice"
controls-position="right"
style="width: 100%"
:min="0"
></el-input-number>
</template>
</el-table-column>
<el-table-column align="center" label="采购数量" prop="purchaseNum">
<template slot-scope="scope">
<el-input-number
type="number"
:min="1"
clearable
v-model.number="scope.row.purchaseNum"
style="width: 100%"
></el-input-number>
</template>
</el-table-column>
<el-table-column
label="机具厂家"
prop="supplierId"
align="center"
width="200"
>
<template slot-scope="scope">
<el-select
v-model="scope.row.supplierId"
placeholder="机具厂家"
filterable
clearable
>
<el-option
v-for="item in supplierList"
:key="item.supplierId"
:label="item.supplier"
:value="item.supplierId"
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="出厂日期"
align="center"
prop="productionTime"
width="200"
>
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.productionTime"
style="width: 100%"
value-format="yyyy-MM-dd"
type="date"
range-separator="-"
placeholder="出厂日期"
clearable
></el-date-picker>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
size="mini"
type="text"
icon="el-icon-document"
v-if="scope.row.manageType == 2"
@click="handleDetail(scope.row)"
>明细</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
style="color: red"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<holdingpole-dialog
:dialog-class="'my-custom-dialog'"
:initial-visible="showDialog"
:holdingpoleData="holdingpoleData"
@close="onDialogClose"
></holdingpole-dialog>
</div>
</template>
<script>
// import {
// addPurchaseCheckInfo,
// getPurchaseCheckInfo,
// updatePurchaseCheckInfo,
// } from '@/api/store/newBuy'
// import { getUserByRoleList } from '@/api/system/user'
// import { equipmentTypeTree, supplierInfoList } from '@/api/store/tools'
// import Treeselect from '@riophae/vue-treeselect'
// import '@riophae/vue-treeselect/dist/vue-treeselect.css'
// import HoldingpoleDialog from '@/components/HoldingpoleDialog/index.vue'
// import {} from '@/api/store/newBuy'
export default {
name: 'AddTools',
dicts: ['sys_normal_disable'],
// components: { Treeselect, HoldingpoleDialog },
props: {
isEdit: {
type: Boolean,
default: () => {
return false
},
},
editTaskId: {
type: [String, Number],
default: () => {
return ''
},
},
},
data() {
return {
taskId: '',
// isEdit: false,
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
supplierList: [],
//
equipmentTypeList: [],
//
userList: [],
//
equipmentList: [],
//
title: '',
//
open: false,
//
openDataScope: false,
menuExpand: false,
menuNodeAll: false,
deptExpand: true,
deptNodeAll: false,
showDialog: false,
holdingpoleData: {},
//
dateRange: [],
//
dataScopeOptions: [
{
value: '1',
label: '全部数据权限',
},
{
value: '2',
label: '自定数据权限',
},
{
value: '3',
label: '本部门数据权限',
},
{
value: '4',
label: '本部门及以下数据权限',
},
{
value: '5',
label: '仅本人数据权限',
},
],
//
menuOptions: [],
//
deptOptions: [],
//
queryParams: {
equipmentId: undefined,
productionTime: '',
supplierId: '',
},
maForm: {
purchaseTime: '',
arrivalTime: '',
purchaser: '',
remark: '',
purchaseNumber: '',
},
//
form: {},
defaultProps: {
children: 'children',
label: 'label',
},
//
rules: {
purchaseNumber: [
{
required: true,
message: '请输入线下采购单编号',
trigger: 'blur',
},
],
purchaseTime: [
{
required: true,
message: '采购日期不能为空',
trigger: 'blur',
},
],
arrivalTime: [
{
required: true,
message: '到货日期不能为空',
trigger: 'blur',
},
],
// purchaser: [
// { required: true, message: "", trigger: "blur" }
// ]
},
deviceTypeTreeProps: {
children: 'children',
label: 'typeName',
// multiple: false,
value: 'typeId',
multiple: true,
},
deviceType: [],
propsKey: 1000,
}
},
computed: {
pickerOptions() {
return {
disabledDate(time) {
const currentDate = new Date()
currentDate.setHours(0, 0, 0, 0)
return time.getTime() < currentDate.getTime()
},
}
},
},
watch: {
'maForm.purchaseTime'() {
if (this.maForm.purchaseTime != '') {
// this.maForm.arrivalTime = ''
}
},
},
mounted() {
// const taskId = this.$route.query && this.$route.query.taskId
// this.taskId = taskId
// if (this.taskId == '' || !this.taskId) {
// this.isEdit = false
// } else if (this.taskId != '') {
// this.isEdit = true
// this.getTaskInfo()
// }
if (this.isEdit) {
this.taskId = this.editTaskId
this.getTaskInfo()
}
this.getUserList()
// this.getList();
this.equipmentType()
this.supplierInfoList()
},
methods: {
/** 查询用户列表--采购员 */
getUserList() {
getUserByRoleList({ roleIds: [152] }).then((response) => {
this.userList = response.data
})
},
/** 机具厂家 */
supplierInfoList() {
supplierInfoList().then((response) => {
this.supplierList = response.rows
})
},
/** 机具类型 */
equipmentType() {
equipmentTypeTree().then((response) => {
this.equipmentTypeList = response.data
this.equipmentTypeList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2, index2) => {
if (item2.children && item2.children.length > 0) {
item2.children.forEach((item3) => {
if (
item3.children &&
item3.children.length > 0
) {
item3.children.forEach((item4) => {
item4.machineTypeName =
item3.typeName
item4.specificationType =
item4.typeName
this.$set(item4, 'purchasePrice', 0)
this.$set(item4, 'purchaseNum', 1)
})
}
})
}
})
}
})
let selectList = []
this.equipmentList.forEach((e) => {
selectList.push(
this.getParentsById(this.equipmentTypeList, e.typeId),
)
})
this.deviceType = selectList
})
},
//
select(row) {
console.log(row)
if (row.level == 4) {
for (let i = 0; i < this.equipmentList.length; i++) {
if (this.equipmentList[i].typeId == row.typeId) {
this.equipmentList.splice(i, 1)
break
}
}
//
if (this.queryParams.supplierId) {
this.$set(row, 'supplierId', this.queryParams.supplierId)
} else {
this.$set(row, 'supplierId', '')
}
this.$set(row, 'createTime', null)
this.$set(row, 'productionTime', '')
// this.$set(row, 'supplierId', '')
this.$set(row, 'purchasePrice', 0)
this.$set(row, 'purchaseNum', 1)
this.equipmentList.unshift(row)
}
},
//
// changeSupplier(supplierId) {
// this.equipmentList.forEach((item) => {
// this.$set(item, 'supplierId', supplierId)
// })
// },
//
changeTime(time) {
console.log(time)
this.equipmentList.forEach((item) => {
this.$set(item, 'productionTime', time)
})
},
//---
getTaskInfo() {
// this.loading = true;
getPurchaseCheckInfo({
taskId: this.taskId,
keyWord: this.queryParams.keyWord,
}).then((response) => {
// this.taskInfo = response.data
this.maForm.purchaseTime = response.data.purchaseTime
this.maForm.arrivalTime = response.data.arrivalTime
this.maForm.purchaser = response.data.purchaser
this.maForm.remark = response.data.remark
this.maForm.purchaseNumber = response.data.purchaseNumber
this.equipmentList = response.data.checkDetailsList
// this.loading = false;
})
},
getParentsById(list, id) {
for (let i in list) {
if (list[i].typeId == id) {
//value
return [list[i].typeId]
}
if (list[i].children) {
let node = this.getParentsById(list[i].children, id)
if (node !== undefined) {
//
node.unshift(list[i].typeId)
return node
}
}
}
},
/** 查询右侧列表 */
getList() {
// this.loading = true;
// listRole().then(response => {
// this.equipmentList = response.rows;
// this.total = response.total;
// this.loading = false;
// }
// );
},
//
cancel() {
this.open = false
this.reset()
},
//
cancelDataScope() {
this.openDataScope = false
this.reset()
},
//
reset() {
if (this.$refs.menu != undefined) {
this.$refs.menu.setCheckedKeys([])
}
;(this.menuExpand = false),
(this.menuNodeAll = false),
(this.deptExpand = true),
(this.deptNodeAll = false),
(this.form = {
roleId: undefined,
roleName: undefined,
roleKey: undefined,
roleSort: 0,
status: '0',
menuIds: [],
deptIds: [],
menuCheckStrictly: true,
deptCheckStrictly: true,
remark: undefined,
})
this.resetForm('form')
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.roleId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleSave() {
if (this.equipmentList.length > 0) {
this.$refs['maForm'].validate((valid) => {
if (valid) {
// console.log(this.maForm,'maForm')
// console.log(this.equipmentList,'equipmentList')
let isEmpty = true
this.equipmentList.forEach((item) => {
if (item.purchaseNum == '' || !item.purchaseNum) {
isEmpty = false
}
})
// console.log(this.taskId)
this.maForm.taskId = this.taskId
this.maForm.checkDetailsList = this.equipmentList
// console.log(this.maForm)
if (isEmpty) {
if (this.equipmentList.length > 0) {
this.$modal
.confirm('是否确认保存当前页面')
.then(function () {})
.then(() => {
if (this.isEdit) {
console.log('编辑')
this.loading = true
updatePurchaseCheckInfo(
this.maForm,
).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess(
'编辑成功',
)
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesList',
// })
this.$emit(
'addToolsSuccess',
)
}
this.loading = false
})
} else if (!this.isEdit) {
console.log('新增')
this.loading = true
addPurchaseCheckInfo(
this.maForm,
).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess(
'新增成功',
)
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesList',
// })
this.$emit(
'addToolsSuccess',
)
}
this.loading = false
})
}
})
.catch(() => {})
} else {
this.$modal.msgError(
'请先选择并添加机具类型!!!',
)
}
} else {
this.$modal.msgError('请填写采购数量!!!')
}
}
})
} else {
this.$modal.msgError('请先添加机具类型')
}
},
jumpList() {
const obj = { path: '/store/newBuy/newDevicesList' }
this.$tab.closeOpenPage(obj)
},
/** 修改按钮操作 */
handleUpdate(row) {
// this.reset();
// this.form = response.data;
// this.open = true;
},
/** 明细按钮操作 */
handleDetail(row) {
this.holdingpoleData = row
this.showDialog = true
},
onDialogClose() {
console.log('弹窗已关闭')
this.showDialog = false
//
},
/** 删除按钮操作 */
handleDelete(row) {
// console.log(row.id)
this.$modal
.confirm('是否确认删除所选择的数据项?')
.then(() => {
this.deviceType.forEach((e, index) => {
if (e[3] === row.typeId) {
this.deviceType.splice(index, 1)
this.propsKey++
}
})
this.equipmentList.forEach((item, index) => {
if (item.id == row.id) {
this.equipmentList.splice(index, 1)
}
})
})
.catch(() => {})
// const roleIds = row.roleId || this.ids;
// this.$modal.confirm('"' + roleIds + '"').then(function() {
// return delRole(roleIds);
// }).then(() => {
// this.getList();
// this.$modal.msgSuccess("");
// }).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('system/role/export', {
// ...this.queryParams
// }, `role_${new Date().getTime()}.xlsx`)
},
deviceTypeChange(val) {
const deviceTypeList =
this.$refs.deviceTypeCascader.getCheckedNodes()
let tempList = []
if (val.length > 0) {
const items = val.map((e) => {
return e[3]
})
for (let i of items) {
for (let z of deviceTypeList) {
if (z.data.typeId === i) {
const obj = JSON.parse(JSON.stringify(z.data))
obj.supplierId = ''
obj.createTime = null
obj.productionTime = ''
obj.purchasePrice = 0
obj.purchaseNum = ''
tempList.push(obj)
break
}
}
}
const newDataListNew = [...this.equipmentList, ...tempList]
const map = new Map()
for (let item of newDataListNew) {
if (!map.has(item.typeId)) {
map.set(item.typeId, item)
}
}
const newArray = [...map.values()]
let newArray_array = []
items.forEach((e) => {
newArray.forEach((j) => {
if (e == j.typeId) {
newArray_array.push(j)
}
})
})
this.equipmentList = newArray_array
} else {
this.equipmentList = []
}
},
},
}
</script>
<style lang="scss">
.popper-select {
.el-cascader-panel .el-scrollbar .el-checkbox {
display: none;
}
.el-cascader-panel .el-scrollbar:nth-child(4) .el-checkbox {
display: block !important;
}
}
</style>

View File

@ -0,0 +1,697 @@
<template>
<div>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="日期">
<el-date-picker
v-model="queryParams.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
>
</el-date-picker>
</el-form-item>
<el-form-item label="设备类型" prop="typeId">
<el-select
v-model="queryParams.typeId"
placeholder="请选择设备类型"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="typeItem in typesList"
:key="typeItem.typeId"
:label="typeItem.typeName"
:value="typeItem.typeId"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字" prop="keyWord">
<el-input
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable
maxlength="50"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['newPurchase:tools:add']"
>新增</el-button
>
</el-col>
<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>
<el-table
v-loading="loading"
:data="typeList"
@selection-change="handleSelectionChange"
border
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
align="center"
label="序号"
type="index"
/>
<el-table-column
align="center"
label="到货时间"
prop="purchaseNumber"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购单号"
align="center"
prop="code"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购物资"
align="center"
prop="purchaseTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购数量"
align="center"
prop="arrivalTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购价格(元含税)"
align="center"
prop="purchasingTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购价格(元不含税)"
align="center"
prop="purchaserName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="税率"
align="center"
prop="purchasingStatus"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="物资厂家"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作人"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作时间"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="handleView(scope.row)"
v-if="scope.row.taskStatus != 24"
>查看</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-if="scope.row.taskStatus == 24"
v-hasPermi="['newPurchase:tools:edit']"
>编辑</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="
scope.row.purchasingStatus != '已入库' &&
scope.row.purchasingStatus != '已审核' &&
scope.row.purchasingStatus != '已验收合格' &&
scope.row.purchasingStatus != '待审核' &&
scope.row.purchasingStatus != '验收不通过' &&
scope.row.purchasingStatus != '驳回'
"
@click="handleAccept(scope.row)"
v-hasPermi="['newPurchase:tools:accept']"
>验收</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="
scope.row.purchasingId == 26 &&
scope.row.manageType == 0
"
@click="handleCode(scope.row)"
v-hasPermi="['newPurchase:tools:coding']"
>编码管理</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="
scope.row.purchasingId == 26 ||
scope.row.purchasingId == 28
"
@click="handlePrint(scope.row)"
>验收单</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-if="scope.row.purchasingId === 24"
@click="handleDelete(scope.row)"
v-hasPermi="['newPurchase:tools:del']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 验收单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1100px"
append-to-body
>
<div style="height: 500px; overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div
class="title"
style="
text-align: center;
font-weight: 600;
font-size: 16px;
"
>
到货验收单
</div>
<div
class="info"
style="margin-top: 10px; display: flex; flex-wrap: wrap"
>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>工程名称</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>验收单编号</span>{{ printData.code }}
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>合同名称</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>合同编号</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>验收地点</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>供应商</span
><span v-if="printTableData.length > 0">{{
supplierStr
}}</span>
</div>
</div>
<el-table
:data="printTableData"
class="table"
style="
margin-top: 20px;
width: 1000px;
padding-bottom: 1px;
"
border
>
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column
label="序号"
align="center"
type="index"
/>
<el-table-column
label="机具名称"
align="center"
prop="machineTypeName"
/>
<el-table-column
label="规格型号"
align="center"
prop="specificationType"
/>
<el-table-column
label="计量单位"
align="center"
prop="unitName"
/>
<el-table-column
label="采购数量"
align="center"
prop="purchaseNum"
/>
<!-- <el-table-column-->
<!-- label="已验收数量111"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<el-table-column
label="本次验收数量"
align="center"
prop="checkNum"
/>
<!-- <el-table-column-->
<!-- label="累积验收数量"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<el-table-column
label="验收日期"
align="center"
prop="updateTime"
/>
<!-- <el-table-column-->
<!-- label="合格证及技术资料"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<!-- <el-table-column label="包装" align="center" prop="" />-->
</el-table>
<div
class="fillIn"
style="
margin-top: 20px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 50%">
<div>
<span>接收单位验收意见</span>
</div>
<div>
<span>验收人</span>
</div>
<div>
<span>接收单位</span>
</div>
<div>
<span>验收负责人 </span>
</div>
</div>
<div class="item" style="width: 50%">
<div>
<span>供应商</span>
</div>
<div>
<span>供应商</span>
</div>
<div>
<span>验收负责人 </span>
</div>
</div>
</div>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="print"> </el-button>
<el-button @click="openPrint = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getListNewBuy,
getPurchaseCheckInfo,
getAcceptanceForm,
purchaseCheckInfoRemove,
} from '@/api/baseGround/newBuy'
// import {
// getRepairedList,
// getRepairedDetailList,
// inputByType,
// getTypeList,
// } from '@/api/store/warehousing'
// import vueEasyPrint from 'vue-easy-print'
// import { getLeaseAuditListAll } from '@/api/claimAndRefund/receive'
export default {
name: 'Home',
dicts: ['sys_normal_disable'],
// components: { vueEasyPrint },
data() {
return {
//
loading: true,
updateTime:"",
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
typesList: [],
modelList: [],
//
typeList: [],
//
title: '',
//
dateRange: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
time: null, //
name: undefined,
typeId: '',
keyWord: '',
},
openPrint: false,
printData: {},
printTableData: [],
//
supplierStr: '',
}
},
created() {
this.getList()
// this.getTypeList()
},
methods: {
getTypeList() {
getTypeList({ level: '3' }).then((response) => {
this.typesList = response.data
})
getTypeList({ level: '4' }).then((response) => {
this.modelList = response.data
})
},
getList() {
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],
typeId: this.queryParams.typeId,
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum,
}
getListNewBuy(this.addDateRange(params)).then(
(response) => {
this.typeList = response.rows
this.total = response.total
this.loading = false
},
)
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.time = []
this.resetForm('queryForm')
this.queryParams.keyWord = ''
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesArrival',
// })
this.$emit('addTools')
},
/** 查看按钮操作 */
handleView(row) {
// let query = { taskId: row.taskId, isView: true }
// this.$tab
// .closeOpenPage({
// path: '/store/newBuy/newDevicesAccept',
// query,
// })
// .then(() => {
// this.$tab.refreshPage()
// })
this.$emit('queryTools', row.taskId)
},
/** 修改按钮操作 */
handleUpdate(row) {
// let query = { taskId: row.taskId }
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesArrival',
// query,
// })
this.$emit('editTools', row.taskId)
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.taskId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 验收按钮 */
handleAccept(row) {
// let query = { taskId: row.taskId }
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesAccept',
// query,
// })
this.$emit('acceptTools', row.taskId)
},
//
handleCode(row) {
// let query = { taskId: row.taskId }
// this.$tab
// .closeOpenPage({
// path: '/store/newBuy/newDevicesCode',
// query,
// })
// .then(() => {
// this.$tab.refreshPage()
// })
this.$emit('codingTools', row.taskId)
},
//
getPrintTable(taskId) {
getAcceptanceForm({ taskId: taskId }).then((response) => {
this.printData = response.data
this.printTableData = response.data.checkDetailsList
let supplierList = []
this.printTableData.forEach((e) => {
if (e.supplier) {
supplierList.push(e.supplier)
}
})
supplierList = [...new Set(supplierList)]
this.supplierStr = supplierList.join(',')
})
},
//
handlePrint(row) {
// this.query.taskId = row.taskId
this.getPrintTable(row.taskId)
this.openPrint = true
this.title = '新购工机具验收单'
},
//
print() {
this.$refs.remarksPrintRef.print()
},
/** 删除按钮操作 */
handleDelete(row) {
// console.log(row)
const taskIds = row.taskId || this.ids
this.$modal
.confirm('是否确认删除所选择的数据项?')
.then(function () {
return purchaseCheckInfoRemove(taskIds)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download(
'material/purchaseCheckInfo/export',
{
...this.queryParams,
},
`新购工机具验收_${new Date().getTime()}.xlsx`,
)
},
},
watch: {
$route: {
handler(to) {
if (to.query.keyWord) {
this.queryParams.keyWord = to.query.keyWord
}
},
deep: true,
immediate: true,
},
},
}
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {
width: 70px !important;
margin-bottom: 10px;
}
</style>

View File

@ -0,0 +1,60 @@
<template>
<!-- 新购工机具管理 -->
<div class="app-container">
<PageHeader
v-if="isShowComponent != 'Home'"
:pageContent="pageContent"
@goBack="goBack"
/>
<component :is="isShowComponent"
:isEdit="isEdit"
:editTaskId="editTaskId"
:queryTaskId="queryTaskId"
:isView="isView"
:codingTaskId="codingTaskId"
@addTools="addTools"/>
</div>
</template>
<script>
import PageHeader from "@/components/pageHeader";
import Home from "./component/home.vue"; //
import AddTools from './component/addTools.vue' //
export default {
components: {
Home,
PageHeader,
AddTools,
},
data() {
return {
isShowComponent: "Home",
pageContent: "新增机具",
isEdit: false,
editTaskId: "",
queryTaskId: "",
isView: false,
codingTaskId: "",
};
},
methods: {
/* 新增工机具 */
addTools() {
this.isEdit = false
this.editTaskId = ''
this.queryTaskId = ''
this.pageContent = '新增机具'
this.isShowComponent = 'AddTools'
},
/* 新增成功 */
addToolsSuccess() {
this.isShowComponent = 'Home'
},
/* 返回按钮 */
goBack() {
this.isShowComponent = "Home";
},
},
};
</script>