清单问题下修改-各模块完善
This commit is contained in:
parent
406517cdf0
commit
8f6c3da42d
|
|
@ -27,3 +27,10 @@ export const queryContactUnitsSelApi = (data) => {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
/** 获取所属分公司树 */
|
||||||
|
export const queryCompanyTreeApi = (data) => {
|
||||||
|
return request.get('/base/customer/deptTree', {
|
||||||
|
params: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,22 @@ import request from '@/utils/request'
|
||||||
|
|
||||||
/** 物资仓库查询 */
|
/** 物资仓库查询 */
|
||||||
export const queryStorageListApi = (data) => {
|
export const queryStorageListApi = (data) => {
|
||||||
return request.get('/material/maHouse/list', {
|
return request.get('/base/maHouse/list', {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 物资仓库新增 */
|
/** 物资仓库新增 */
|
||||||
export const addStorageListApi = (data) => {
|
export const addStorageListApi = (data) => {
|
||||||
return request.post('/material/maHouse/add', data)
|
return request.post('/base/maHouse/add', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 物资仓库修改 */
|
/** 物资仓库修改 */
|
||||||
export const updateStorageListApi = (data) => {
|
export const updateStorageListApi = (data) => {
|
||||||
return request.post('/material/maHouse/update', data)
|
return request.post('/base/maHouse/update', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 物资仓库删除 */
|
/** 物资仓库删除 */
|
||||||
export const delStorageListApi = (id) => {
|
export const delStorageListApi = (id) => {
|
||||||
return request.delete(`/material/maHouse/${id}`)
|
return request.delete(`/base/maHouse/${id}`)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,18 +5,18 @@ import request from '@/utils/request'
|
||||||
|
|
||||||
/** 物资仓库配置查询 */
|
/** 物资仓库配置查询 */
|
||||||
export const queryStorageConfigListApi = (data) => {
|
export const queryStorageConfigListApi = (data) => {
|
||||||
return request.get('/material/ma_house_set/list', {
|
return request.get('/base/ma_house_set/list', {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 物资仓库配置新增 */
|
/** 物资仓库配置新增 */
|
||||||
export const addStorageConfigListApi = (data) => {
|
export const addStorageConfigListApi = (data) => {
|
||||||
return request.post('/material/ma_house_set/add', data)
|
return request.post('/base/ma_house_set/add', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 物资仓库配置修改 */
|
/** 物资仓库配置修改 */
|
||||||
export const updateStorageConfigListApi = (data) => {
|
export const updateStorageConfigListApi = (data) => {
|
||||||
return request.post('/material/ma_house_set/update', data)
|
return request.post('/base/ma_house_set/update', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,32 +5,32 @@ import request from '@/utils/request'
|
||||||
|
|
||||||
/** 物资类型树查询 */
|
/** 物资类型树查询 */
|
||||||
export const queryMaTypeTreeListApi = (data) => {
|
export const queryMaTypeTreeListApi = (data) => {
|
||||||
return request.get('/material/maType/getMaTypeList', {
|
return request.get('/base/maType/getMaTypeList', {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 树形下物资查询 */
|
/** 树形下物资查询 */
|
||||||
export const queryMaListApi = (data) => {
|
export const queryMaListApi = (data) => {
|
||||||
return request.get('/material/maType/getListByMaType', {
|
return request.get('/base/maType/getListByMaType', {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 新增时查询id */
|
/** 新增时查询id */
|
||||||
export const queryIdWhenAddMa = (data) => {
|
export const queryIdWhenAddMa = (data) => {
|
||||||
return request.get('/material/maType/addMaType', {
|
return request.get('/base/maType/addMaType', {
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 提交物资添加表单 */
|
/** 提交物资添加表单 */
|
||||||
export const submitAddForm = (data) => {
|
export const submitAddForm = (data) => {
|
||||||
return request.post('/material/maType/add', data)
|
return request.post('/base/maType/add', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 删除单个物资 */
|
/** 删除单个物资 */
|
||||||
export const delSingleMa = (id) => {
|
export const delSingleMa = (id) => {
|
||||||
return request.delete(`/material/maType/${id}` )
|
return request.delete(`/base/maType/${id}` )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
<!-- 按钮集群 -->
|
<!-- 按钮集群 -->
|
||||||
<el-row class="btn-container">
|
<el-row class="btn-container">
|
||||||
<div class="btn-handler">
|
<div class="btn-handler">
|
||||||
<slot name="btn" :pageParams="queryParams"></slot>
|
<slot name="btn" :queryParams="queryParams"></slot>
|
||||||
</div>
|
</div>
|
||||||
<ToolbarModel
|
<ToolbarModel
|
||||||
:showSearch.sync="showSearch"
|
:showSearch.sync="showSearch"
|
||||||
|
|
@ -95,6 +95,7 @@
|
||||||
select-on-indeterminate
|
select-on-indeterminate
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
|
@selection-change="handleSelectionChange">
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
|
|
@ -209,6 +210,8 @@ export default {
|
||||||
},
|
},
|
||||||
// 列表数据源
|
// 列表数据源
|
||||||
tableList: [],
|
tableList: [],
|
||||||
|
// 导出传递数据
|
||||||
|
idList: undefined,
|
||||||
// 列表数据条数
|
// 列表数据条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 搜索区域是否隐藏
|
// 搜索区域是否隐藏
|
||||||
|
|
@ -301,7 +304,14 @@ export default {
|
||||||
queryTableList(params) {
|
queryTableList(params) {
|
||||||
Object.assign(this.queryParams, params)
|
Object.assign(this.queryParams, params)
|
||||||
this.getTableList()
|
this.getTableList()
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSelectionChange(e) {
|
||||||
|
this.idList = e.map(item => item.id)
|
||||||
|
console.log(this.idList)
|
||||||
|
this.$emit('transIdList', this.idList)
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<template>
|
||||||
|
<!-- 页头提示 -->
|
||||||
|
<el-page-header @back="goBack" :content="pageContent"> </el-page-header>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
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>
|
||||||
|
|
@ -36,11 +36,13 @@ export const commonMixin = {
|
||||||
console.log('导入--')
|
console.log('导入--')
|
||||||
},
|
},
|
||||||
/** 导出数据 */
|
/** 导出数据 */
|
||||||
handleExportData(data, url, fileName) {
|
handleExportData(data, url, fileName, queryParams) {
|
||||||
|
console.log(data, queryParams, '111111')
|
||||||
this.download(
|
this.download(
|
||||||
url,
|
url,
|
||||||
{
|
{
|
||||||
...data
|
// ...queryParams,
|
||||||
|
dataCondition: data
|
||||||
},
|
},
|
||||||
`${fileName}_${new Date().getTime()}.xlsx`,
|
`${fileName}_${new Date().getTime()}.xlsx`,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -81,20 +81,22 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="合同附件" prop="url">
|
<el-form-item label="合同附件" prop="url">
|
||||||
<el-upload
|
<el-upload
|
||||||
:http-request="(obj) => imgUpLoad(obj)"
|
:http-request="(obj) => uploadData(obj)"
|
||||||
action="#"
|
action="#"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:show-file-list="false"
|
:on-exceed="fileExceed"
|
||||||
list-type="picture-card"
|
:on-remove="handleRemove"
|
||||||
accept=".png,.jpg,.jpeg"
|
drag
|
||||||
|
:limit="3"
|
||||||
>
|
>
|
||||||
<img
|
<!-- <img
|
||||||
v-if="protocolParams.url"
|
v-if="protocolParams.url"
|
||||||
:src="protocolParams.url"
|
:src="protocolParams.url"
|
||||||
style="width: 140px; height: 140px"
|
style="width: 140px; height: 140px"
|
||||||
class="avatar"
|
class="avatar"
|
||||||
/>
|
/>-->
|
||||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
<i class="el-icon-upload"></i>
|
||||||
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -157,15 +159,20 @@ export default {
|
||||||
return {
|
return {
|
||||||
subSort: '', // 提交类型:新增 1 / 修改 2
|
subSort: '', // 提交类型:新增 1 / 修改 2
|
||||||
protocolParams: {
|
protocolParams: {
|
||||||
customer: '', // 租赁单位
|
customer: undefined, // 租赁单位
|
||||||
authorizingPerson: '', // 授权人
|
authorizingPerson: undefined, // 授权人
|
||||||
project: '', // 租赁工程
|
project: undefined, // 租赁工程
|
||||||
authorizingPhone: '', // 联系电话
|
authorizingPhone: undefined, // 联系电话
|
||||||
contractNumber: '', // 合同编号
|
contractNumber: undefined, // 合同编号
|
||||||
startTime: '', // 开始日期
|
startTime: undefined, // 开始日期
|
||||||
remark: '', // 备注
|
remark: undefined, // 备注
|
||||||
url: '', // 合同附件
|
url: undefined, // 合同附件
|
||||||
},
|
},
|
||||||
|
// 图片集合
|
||||||
|
picList: [],
|
||||||
|
// 图片名称集合
|
||||||
|
picNameList: [],
|
||||||
|
//
|
||||||
fileList: [],
|
fileList: [],
|
||||||
// 租赁单位下拉框
|
// 租赁单位下拉框
|
||||||
unitSelRange: [],
|
unitSelRange: [],
|
||||||
|
|
@ -229,17 +236,34 @@ export default {
|
||||||
})
|
})
|
||||||
}).catch(err => {})
|
}).catch(err => {})
|
||||||
},
|
},
|
||||||
/** 上传图片 */
|
/** 上传图片/文件 */
|
||||||
imgUpLoad(param) {
|
uploadData(param) {
|
||||||
console.log(param)
|
console.log(param)
|
||||||
imgUpLoad(param).then(res => {
|
imgUpLoad(param).then(res => {
|
||||||
console.log(res, process.env.VUE_APP_BASE_API)
|
console.log(res)
|
||||||
this.protocolParams.url = res.data.url
|
this.picList.push(res.data.url)
|
||||||
|
this.picNameList.push(res.data.name.split('_')[0])
|
||||||
}).catch(err => {})
|
}).catch(err => {})
|
||||||
},
|
},
|
||||||
|
/** 文件变化 */
|
||||||
|
dataChange(e) {
|
||||||
|
console.log(e)
|
||||||
|
this.fileList.push(e.raw)
|
||||||
|
},
|
||||||
|
/** 移除文件 */
|
||||||
|
handleRemove(file) {
|
||||||
|
console.log(file)
|
||||||
|
console.log(this.picNameList)
|
||||||
|
// this.fileList = this.fileList.filter(item => item.uid !== e.uid)
|
||||||
|
},
|
||||||
|
/** 文件超出3个 */
|
||||||
|
fileExceed() {
|
||||||
|
this.$modal.msgError('最多上传3个图片或文件!')
|
||||||
|
},
|
||||||
/** 确认按钮 */
|
/** 确认按钮 */
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.$refs.protocolParamsRef.validate((valid) => {
|
console.log(this.picList)
|
||||||
|
/* this.$refs.protocolParamsRef.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
console.log('校验通过', this.protocolParams, this.subSort)
|
console.log('校验通过', this.protocolParams, this.subSort)
|
||||||
// 1. 表单校验通过后调后台 Api
|
// 1. 表单校验通过后调后台 Api
|
||||||
|
|
@ -259,7 +283,7 @@ export default {
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
this.$emit('closeDialog', true)
|
this.$emit('closeDialog', true)
|
||||||
}
|
}
|
||||||
})
|
}) */
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,24 @@
|
||||||
<el-input v-model="contactUnitsParams.name" />
|
<el-input v-model="contactUnitsParams.name" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="单位类型" prop="typeId">
|
<el-form-item label="单位类型" prop="typeId">
|
||||||
<el-select v-model="contactUnitsParams.typeId"></el-select>
|
<el-select v-model="contactUnitsParams.typeId">
|
||||||
|
<el-option
|
||||||
|
v-for="item in customerRange"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属分公司" prop="companyId">
|
<el-form-item label="所属分公司" prop="companyId">
|
||||||
<el-select v-model="contactUnitsParams.companyId"></el-select>
|
<treeselect
|
||||||
|
v-model="contactUnitsParams.companyId"
|
||||||
|
:options="companyRange"
|
||||||
|
noChildrenText="没有数据了"
|
||||||
|
noOptionsText="没有数据"
|
||||||
|
noResultsText="没有搜索结果"
|
||||||
|
placeholder="请选择所属上级"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="材料员" prop="materialClerk">
|
<el-form-item label="材料员" prop="materialClerk">
|
||||||
<el-input v-model="contactUnitsParams.materialClerk" />
|
<el-input v-model="contactUnitsParams.materialClerk" />
|
||||||
|
|
@ -50,8 +64,14 @@
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
addContactUnitsApi,
|
addContactUnitsApi,
|
||||||
editContactUnitsApi
|
editContactUnitsApi,
|
||||||
|
queryCompanyTreeApi
|
||||||
} from '@/api/base/customer'
|
} from '@/api/base/customer'
|
||||||
|
import {
|
||||||
|
queryUnitTypeListApi
|
||||||
|
} from '@/api/base/unitType'
|
||||||
|
import Treeselect from '@riophae/vue-treeselect'
|
||||||
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
export default {
|
export default {
|
||||||
name: 'FormContactUnits',
|
name: 'FormContactUnits',
|
||||||
props: {
|
props: {
|
||||||
|
|
@ -60,6 +80,10 @@ export default {
|
||||||
default: () => null,
|
default: () => null,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: { Treeselect },
|
||||||
|
created() {
|
||||||
|
this.getRanges()
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.editParams) {
|
if (this.editParams) {
|
||||||
Object.assign(this.contactUnitsParams, this.editParams)
|
Object.assign(this.contactUnitsParams, this.editParams)
|
||||||
|
|
@ -79,6 +103,10 @@ export default {
|
||||||
phone: undefined, // 联系电话
|
phone: undefined, // 联系电话
|
||||||
isActive: '1', // 启用状态
|
isActive: '1', // 启用状态
|
||||||
},
|
},
|
||||||
|
// 往来单位下拉选
|
||||||
|
customerRange: [],
|
||||||
|
// 所属分公司树下拉选
|
||||||
|
companyRange: [],
|
||||||
// 校验规则
|
// 校验规则
|
||||||
contactUnitsParamsRules: {
|
contactUnitsParamsRules: {
|
||||||
name: [
|
name: [
|
||||||
|
|
@ -106,6 +134,20 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/** 获取各类下拉选 */
|
||||||
|
async getRanges() {
|
||||||
|
// 获取单位下拉选
|
||||||
|
let unitRes = await queryUnitTypeListApi()
|
||||||
|
this.customerRange = unitRes.rows.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.name,
|
||||||
|
value: item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 获取所属分公司树
|
||||||
|
let companyRes = await queryCompanyTreeApi()
|
||||||
|
this.companyRange = companyRes.data
|
||||||
|
},
|
||||||
/** 确认按钮 */
|
/** 确认按钮 */
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.$refs.contactUnitsParamsRef.validate((valid) => {
|
this.$refs.contactUnitsParamsRef.validate((valid) => {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,180 @@
|
||||||
|
<template>
|
||||||
|
<!-- 往来单位 人员配置 表单组件 -->
|
||||||
|
<div class="app-container">
|
||||||
|
<el-col :span="4" :xs="24" style="margin-right: 15px">
|
||||||
|
<div class="head-container">
|
||||||
|
<el-input
|
||||||
|
v-model="typeName"
|
||||||
|
placeholder="请输入人员名称"
|
||||||
|
clearable
|
||||||
|
maxlength="50"
|
||||||
|
size="small"
|
||||||
|
prefix-icon="el-icon-search"
|
||||||
|
style="margin-bottom: 20px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="head-container">
|
||||||
|
<el-tree
|
||||||
|
style="height: 700px; overflow: scroll"
|
||||||
|
:data="treeOptions"
|
||||||
|
:props="defaultProps"
|
||||||
|
:expand-on-click-node="false"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
|
ref="tree"
|
||||||
|
node-key="id"
|
||||||
|
default-expand-all
|
||||||
|
highlight-current
|
||||||
|
@node-click="handleNodeClick"
|
||||||
|
>
|
||||||
|
<span class="custom-tree-node" slot-scope="{ node, data }" style="font-size: 14px">
|
||||||
|
<i v-if="node.level <= 3" class="el-icon-folder" style="color: #fabd16" />
|
||||||
|
<i v-else-if="node.level > 3" class="el-icon-document" style="color: #C0C0C0" />
|
||||||
|
{{ data.label }}
|
||||||
|
</span>
|
||||||
|
</el-tree>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<!-- 表格 -->
|
||||||
|
<TableModel
|
||||||
|
:formLabel="formLabel"
|
||||||
|
:columnsList="columnsList"
|
||||||
|
:request-api="queryContactUnitsListApi"
|
||||||
|
:show-sel="false"
|
||||||
|
ref="tableRef"
|
||||||
|
style="display: flex; flex-direction: column"
|
||||||
|
>
|
||||||
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
|
<el-button type="primary"
|
||||||
|
>绑定</el-button>
|
||||||
|
<!-- <el-button @click="handleExportData(queryParams, 'base/agreement/export', '物资清单')"
|
||||||
|
>导出</el-button>-->
|
||||||
|
</template>
|
||||||
|
<template slot="handle" slot-scope="{ data }">
|
||||||
|
<el-button
|
||||||
|
type="info"
|
||||||
|
size="mini"
|
||||||
|
v-if="data.level === '4'"
|
||||||
|
>查看</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
@click="handleEditData(data)"
|
||||||
|
>编辑</el-button
|
||||||
|
>
|
||||||
|
<!-- <el-button
|
||||||
|
type="danger"
|
||||||
|
size="mini"
|
||||||
|
@click="handleDeleteMaType(data.id, delSingleMa)"
|
||||||
|
>删除</el-button
|
||||||
|
>-->
|
||||||
|
</template>
|
||||||
|
<!-- <template slot="url" slot-scope="{ data }">
|
||||||
|
<img :src="data.url" style="width: 50px; height: 50px">
|
||||||
|
</template>-->
|
||||||
|
</TableModel>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { formLabel, columnsList, dialogConfig } from '../config'
|
||||||
|
import { commonMixin } from '../../mixins/common'
|
||||||
|
import {
|
||||||
|
queryMaTypeTreeListApi,
|
||||||
|
queryMaListApi,
|
||||||
|
delSingleMa
|
||||||
|
} from '@/api/material/type'
|
||||||
|
import {
|
||||||
|
deleteContactUnitsApi,
|
||||||
|
queryContactUnitsListApi
|
||||||
|
} from '@/api/base/customer'
|
||||||
|
export default {
|
||||||
|
name: 'PersonConfig',
|
||||||
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
|
props: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getTreeData()
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 根据名称筛选部门树
|
||||||
|
typeName(val) {
|
||||||
|
this.$refs.tree.filter(val)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formLabel,
|
||||||
|
columnsList,
|
||||||
|
dialogConfig,
|
||||||
|
// 类型名称
|
||||||
|
typeName: undefined,
|
||||||
|
// 树选项
|
||||||
|
treeOptions: undefined,
|
||||||
|
// 根级
|
||||||
|
rootOpt: [
|
||||||
|
{
|
||||||
|
companyId: null,
|
||||||
|
id: 0,
|
||||||
|
label: '人员列表',
|
||||||
|
level: 0,
|
||||||
|
parentId: null,
|
||||||
|
children: []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 默认属性
|
||||||
|
defaultProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'label',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
queryContactUnitsListApi,
|
||||||
|
// 获取树形数据
|
||||||
|
getTreeData() {
|
||||||
|
queryMaTypeTreeListApi().then(res => {
|
||||||
|
this.rootOpt[0].children = []
|
||||||
|
res.data.forEach(item => {
|
||||||
|
this.rootOpt[0].children.push(item)
|
||||||
|
})
|
||||||
|
this.treeOptions = this.rootOpt
|
||||||
|
// this.treeOptions = res.data
|
||||||
|
}).catch(err => {})
|
||||||
|
},
|
||||||
|
// 筛选节点 - 左侧树
|
||||||
|
filterNode(value, data) {
|
||||||
|
if (!value) return true
|
||||||
|
return data.label.indexOf(value) !== -1
|
||||||
|
},
|
||||||
|
// 节点单击事件 - 左侧树
|
||||||
|
handleNodeClick(data) {
|
||||||
|
console.log(data)
|
||||||
|
/* queryMaListApi({
|
||||||
|
typeId: data.id
|
||||||
|
}).then(res => {
|
||||||
|
this.transInfo = res.data.rows
|
||||||
|
console.log(this.transInfo)
|
||||||
|
}) */
|
||||||
|
this.transLevel = data.level
|
||||||
|
this.transData = data
|
||||||
|
this.$refs.tableRef.queryTableList({
|
||||||
|
code: data.code
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
::v-deep .el-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -4,8 +4,8 @@ export const formLabel = [
|
||||||
]
|
]
|
||||||
export const columnsList = [
|
export const columnsList = [
|
||||||
{ t_props: 'name', t_label: '单位名称', },
|
{ t_props: 'name', t_label: '单位名称', },
|
||||||
{ t_props: 'typeId', t_label: '单位类型' },
|
{ t_props: 'typeName', t_label: '单位类型' },
|
||||||
{ t_props: 'companyId', t_label: '所属分公司' },
|
{ t_props: 'companyName', t_label: '所属分公司' },
|
||||||
{ t_props: 'materialClerk', t_label: '材料员', },
|
{ t_props: 'materialClerk', t_label: '材料员', },
|
||||||
{ t_props: 'phone', t_label: '联系电话', t_slot: 'phone' },
|
{ t_props: 'phone', t_label: '联系电话', t_slot: 'phone' },
|
||||||
{ t_props: 'isActive', t_label: '状态', t_slot: 'isActive' },
|
{ t_props: 'isActive', t_label: '状态', t_slot: 'isActive' },
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,26 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- 往来单位管理页面 -->
|
<!-- 往来单位管理页面 -->
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
|
<PageHeader
|
||||||
|
v-if="isShowComponent !== 'Index'"
|
||||||
|
:pageContent="pageContent"
|
||||||
|
@goBack="goBack"
|
||||||
|
/>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<TableModel
|
<TableModel
|
||||||
:formLabel="formLabel"
|
:formLabel="formLabel"
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:request-api="queryContactUnitsListApi"
|
:request-api="queryContactUnitsListApi"
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
|
v-if="isShowComponent === 'Index'"
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新建</el-button
|
>新建</el-button
|
||||||
>
|
>
|
||||||
|
<el-button type="success" @click="isShowComponent = 'person-config'"
|
||||||
|
>人员配置</el-button
|
||||||
|
>
|
||||||
<el-button @click="handleExportData(queryParams, 'base/customer/export', '往来单位清单')"
|
<el-button @click="handleExportData(queryParams, 'base/customer/export', '往来单位清单')"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
|
|
@ -53,19 +61,27 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</DialogModel>
|
</DialogModel>
|
||||||
|
|
||||||
|
<person-config
|
||||||
|
v-if="isShowComponent === 'person-config'"
|
||||||
|
>
|
||||||
|
|
||||||
|
</person-config>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import PageHeader from '@/components/pageHeader'
|
||||||
import { columnsList, dialogConfig, formLabel } from './config'
|
import { columnsList, dialogConfig, formLabel } from './config'
|
||||||
import { commonMixin } from '../mixins/common'
|
import { commonMixin } from '../mixins/common'
|
||||||
import FormContactUnits from './components/form-contact-units.vue'
|
import FormContactUnits from './components/form-contact-units.vue'
|
||||||
|
import PersonConfig from './components/person-config.vue'
|
||||||
import { deleteContactUnitsApi, queryContactUnitsListApi } from '@/api/base/customer'
|
import { deleteContactUnitsApi, queryContactUnitsListApi } from '@/api/base/customer'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ContactUnits',
|
name: 'ContactUnits',
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: { FormContactUnits },
|
components: { FormContactUnits, PersonConfig, PageHeader },
|
||||||
methods: {
|
methods: {
|
||||||
queryContactUnitsListApi,
|
queryContactUnitsListApi,
|
||||||
deleteContactUnitsApi,
|
deleteContactUnitsApi,
|
||||||
|
|
@ -78,9 +94,14 @@ export default {
|
||||||
}
|
}
|
||||||
return phoneNumber
|
return phoneNumber
|
||||||
} */
|
} */
|
||||||
|
goBack() {
|
||||||
|
this.isShowComponent = 'Index'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isShowComponent: 'Index',
|
||||||
|
pageContent: '往来人员配置',
|
||||||
formLabel,
|
formLabel,
|
||||||
columnsList,
|
columnsList,
|
||||||
dialogConfig,
|
dialogConfig,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
<template>
|
|
||||||
<!-- 机具供应商管理 -->
|
|
||||||
<div> 机具供应商 </div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style></style>
|
|
||||||
|
|
@ -24,16 +24,14 @@
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="实施单位" prop="impUnit">
|
<el-form-item label="实施单位" prop="impUnit">
|
||||||
<el-select
|
<treeselect
|
||||||
v-model="projectParams.impUnit"
|
v-model="projectParams.impUnit"
|
||||||
>
|
:options="proSelRanges.pro_unit_range"
|
||||||
<el-option
|
noChildrenText="没有数据了"
|
||||||
v-for="item in proSelRanges.pro_unit_range"
|
noOptionsText="没有数据"
|
||||||
:key="item.value"
|
noResultsText="没有搜索结果"
|
||||||
:label="item.label"
|
placeholder="请选择所属上级"
|
||||||
:value="item.value"
|
/>
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
@ -115,7 +113,7 @@
|
||||||
<el-form-item label="关联i8工程" prop="isMatch">
|
<el-form-item label="关联i8工程" prop="isMatch">
|
||||||
<span
|
<span
|
||||||
style="box-sizing: border-box; padding: 5px 10px; background-color: #00afff; color: #fff; border-radius: 10px"
|
style="box-sizing: border-box; padding: 5px 10px; background-color: #00afff; color: #fff; border-radius: 10px"
|
||||||
>{{ projectParams.proId === null || projectParams.proId === '' ? '未关联' : '已关联' }}</span>
|
>{{ projectParams.proId === null || projectParams.proId === undefined || projectParams.proId === '' ? '未 关 联' : '已 关 联' }}</span>
|
||||||
<!-- <el-switch
|
<!-- <el-switch
|
||||||
v-model="projectParams.isMatch"
|
v-model="projectParams.isMatch"
|
||||||
active-color="#13ce66"
|
active-color="#13ce66"
|
||||||
|
|
@ -160,8 +158,10 @@ import {
|
||||||
queryProjectNatureApi
|
queryProjectNatureApi
|
||||||
} from '@/api/base/project.js'
|
} from '@/api/base/project.js'
|
||||||
import {
|
import {
|
||||||
queryContactUnitsSelApi
|
queryCompanyTreeApi
|
||||||
} from '@/api/base/customer'
|
} from '@/api/base/customer'
|
||||||
|
import Treeselect from '@riophae/vue-treeselect'
|
||||||
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
export default {
|
export default {
|
||||||
name: 'FormProject',
|
name: 'FormProject',
|
||||||
props: {
|
props: {
|
||||||
|
|
@ -170,11 +170,9 @@ export default {
|
||||||
default: () => null,
|
default: () => null,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: { Treeselect },
|
||||||
created() {
|
created() {
|
||||||
this.getUnitRange()
|
this.getRanges()
|
||||||
this.getProjTypeRange()
|
|
||||||
this.getProjStatusRange()
|
|
||||||
this.getProjNatureRange()
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
console.log(this.editParams)
|
console.log(this.editParams)
|
||||||
|
|
@ -252,51 +250,34 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 获取各类下拉框 */
|
/** 获取各类下拉框 */
|
||||||
|
async getRanges() {
|
||||||
/** 获取往来单位下拉框 */
|
// 获取实施单位树下拉框
|
||||||
getUnitRange() {
|
let unitRes = await queryCompanyTreeApi()
|
||||||
queryContactUnitsSelApi().then(res => {
|
this.proSelRanges.pro_unit_range = unitRes.data
|
||||||
console.log(res)
|
// 获取工程类型下拉框
|
||||||
this.proSelRanges.pro_unit_range = res.data.map(item => {
|
let typeRes = await queryProjectTypeApi()
|
||||||
return {
|
this.proSelRanges.pro_type_range = typeRes.data.data.map(item => {
|
||||||
label: item.name,
|
|
||||||
value: item.id
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}).catch(err => {})
|
|
||||||
},
|
|
||||||
/** 获取工程类型下拉框 */
|
|
||||||
getProjTypeRange() {
|
|
||||||
queryProjectTypeApi().then(res => {
|
|
||||||
this.proSelRanges.pro_type_range = res.data.data.map(item => {
|
|
||||||
return {
|
return {
|
||||||
label: item.dictLabel,
|
label: item.dictLabel,
|
||||||
value: item.dictCode
|
value: item.dictCode
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(err => {})
|
// 获取工程状态下拉框
|
||||||
},
|
let statRes = await queryProjectStatusApi()
|
||||||
/** 获取工程状态下拉框 */
|
this.proSelRanges.pro_stats_range = statRes.data.data.map(item => {
|
||||||
getProjStatusRange() {
|
|
||||||
queryProjectStatusApi().then(res => {
|
|
||||||
this.proSelRanges.pro_stats_range = res.data.data.map(item => {
|
|
||||||
return {
|
return {
|
||||||
label: item.dictLabel,
|
label: item.dictLabel,
|
||||||
value: item.dictCode
|
value: item.dictCode
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(err => {})
|
// 获取工程性质下拉框
|
||||||
},
|
let natureRes = await queryProjectNatureApi()
|
||||||
/** 获取工程性质下拉框 */
|
this.proSelRanges.pro_nature_range = natureRes.data.data.map(item => {
|
||||||
getProjNatureRange() {
|
|
||||||
queryProjectNatureApi().then(res => {
|
|
||||||
this.proSelRanges.pro_nature_range = res.data.data.map(item => {
|
|
||||||
return {
|
return {
|
||||||
label: item.dictLabel,
|
label: item.dictLabel,
|
||||||
value: item.dictCode
|
value: item.dictCode
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(err => {})
|
|
||||||
},
|
},
|
||||||
/** 确认按钮 */
|
/** 确认按钮 */
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ export const formLabel = [
|
||||||
export const columnsList = [
|
export const columnsList = [
|
||||||
{ t_props: 'name', t_label: '工程项目名称', },
|
{ t_props: 'name', t_label: '工程项目名称', },
|
||||||
{ t_props: 'impUnit', t_label: '实施单位' },
|
{ t_props: 'impUnit', t_label: '实施单位' },
|
||||||
{ t_props: 'projectType', t_label: '工程类型' },
|
{ t_props: 'projectTypeName', t_label: '工程类型' },
|
||||||
{ t_props: 'proId', t_label: 'i8工程id', },
|
{ t_props: 'proId', t_label: 'i8工程id', },
|
||||||
{ t_props: 'isMatch', t_label: '是否匹配i8工程', t_slot: 'isMatch' },
|
{ t_props: 'isMatch', t_label: '是否匹配i8工程', t_slot: 'isMatch' },
|
||||||
{ t_props: 'htzt', t_label: '合同主体', },
|
{ t_props: 'htzt', t_label: '合同主体', },
|
||||||
{ t_props: 'manager', t_label: '项目经理', },
|
{ t_props: 'manager', t_label: '项目经理', },
|
||||||
{ t_props: 'phone', t_label: '联系电话', t_slot: 'phone' },
|
{ t_props: 'phone', t_label: '联系电话', t_slot: 'phone' },
|
||||||
{ t_props: 'stats', t_label: '工程状态', },
|
{ t_props: 'statsName', t_label: '工程状态' },
|
||||||
{ t_props: 'remark', t_label: '备注', },
|
{ t_props: 'remark', t_label: '备注', },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,13 @@
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:request-api="queryProjectListApi"
|
:request-api="queryProjectListApi"
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
|
@transIdList="getIdList"
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新建</el-button
|
>新建</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="handleExportData(queryParams, 'base/project/export', '工程清单')"
|
<el-button @click="handleExportData(exportList, 'base/project/export', '工程清单', queryParams)"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -62,7 +62,13 @@ import FormProject from './components/form-project'
|
||||||
import { queryProjectListApi, deleteProjectApi } from '@/api/base/project'
|
import { queryProjectListApi, deleteProjectApi } from '@/api/base/project'
|
||||||
export default {
|
export default {
|
||||||
name: 'ProjectManage',
|
name: 'ProjectManage',
|
||||||
methods: { queryProjectListApi, deleteProjectApi },
|
methods: {
|
||||||
|
queryProjectListApi,
|
||||||
|
deleteProjectApi,
|
||||||
|
getIdList(idList) {
|
||||||
|
this.exportList = idList
|
||||||
|
}
|
||||||
|
},
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: {
|
components: {
|
||||||
FormProject,
|
FormProject,
|
||||||
|
|
@ -71,6 +77,8 @@ export default {
|
||||||
return {
|
return {
|
||||||
// 搜索区表单配置项
|
// 搜索区表单配置项
|
||||||
formLabel,
|
formLabel,
|
||||||
|
// 表格导出id列表
|
||||||
|
exportList: undefined,
|
||||||
// 列表区配置项
|
// 列表区配置项
|
||||||
columnsList,
|
columnsList,
|
||||||
// 弹框区配置项
|
// 弹框区配置项
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<template>
|
||||||
|
<!-- 往来单位 新增、编辑 表单组件 -->
|
||||||
|
<div>
|
||||||
|
<el-form
|
||||||
|
label-width="100px"
|
||||||
|
size="medium"
|
||||||
|
ref="contactUnitsParamsRef"
|
||||||
|
:model="storageConfigParams"
|
||||||
|
:rules="storageConfigParamsRules"
|
||||||
|
>
|
||||||
|
<el-form-item label="仓库名称" prop="name">
|
||||||
|
<el-select v-model="storageConfigParams.houseId">
|
||||||
|
<el-option
|
||||||
|
v-for="item in storageConfigRange"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物资名称" prop="typeId">
|
||||||
|
<treeselect
|
||||||
|
v-model="storageConfigParams.typeId"
|
||||||
|
:options="typeRange"
|
||||||
|
noChildrenText="没有数据了"
|
||||||
|
noOptionsText="没有数据"
|
||||||
|
noResultsText="没有搜索结果"
|
||||||
|
placeholder="请选择所属上级"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="success" @click="onSubmit">确定</el-button>
|
||||||
|
<el-button
|
||||||
|
@click="
|
||||||
|
() => {
|
||||||
|
this.$emit('closeDialog')
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>取消</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
addStorageConfigListApi,
|
||||||
|
updateStorageConfigListApi
|
||||||
|
} from '@/api/material/storageConfig'
|
||||||
|
import {
|
||||||
|
queryStorageListApi
|
||||||
|
} from '@/api/material/storage'
|
||||||
|
import {
|
||||||
|
queryMaTypeTreeListApi
|
||||||
|
} from '@/api/material/type'
|
||||||
|
import Treeselect from '@riophae/vue-treeselect'
|
||||||
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
|
export default {
|
||||||
|
name: 'FormStorage',
|
||||||
|
props: {
|
||||||
|
editParams: {
|
||||||
|
type: Object,
|
||||||
|
default: () => null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
components: { Treeselect },
|
||||||
|
created() {
|
||||||
|
this.getHouseRange()
|
||||||
|
this.getTypeRange()
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.editParams) {
|
||||||
|
Object.assign(this.storageConfigParams, this.editParams)
|
||||||
|
this.subSort = 2
|
||||||
|
} else {
|
||||||
|
this.subSort = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
subSort: '', // 提交类型:新增 1 / 修改 2
|
||||||
|
storageConfigParams: {
|
||||||
|
houseId: undefined, // 仓库名称
|
||||||
|
typeId: undefined, // 物资名称
|
||||||
|
},
|
||||||
|
// 仓库下拉选项
|
||||||
|
storageConfigRange: [],
|
||||||
|
// 类型下拉选项
|
||||||
|
typeRange: [],
|
||||||
|
// 校验规则
|
||||||
|
storageConfigParamsRules: {
|
||||||
|
/* pro_name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入工程名称',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
pro_unit: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择施工单位',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
pro_type_of: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择工程类型',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
pro_type: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择工程状态',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
pro_nature: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择工程性质',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
], */
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 初始化获取仓库下拉 */
|
||||||
|
getHouseRange() {
|
||||||
|
queryStorageListApi().then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.storageConfigRange = res.rows.map(item => {
|
||||||
|
return {
|
||||||
|
value: item.id,
|
||||||
|
label: item.name,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(err => {})
|
||||||
|
},
|
||||||
|
/** 初始化获取类型下拉 */
|
||||||
|
getTypeRange() {
|
||||||
|
queryMaTypeTreeListApi().then(res => {
|
||||||
|
this.typeRange = res.data
|
||||||
|
}).catch(err => {})
|
||||||
|
},
|
||||||
|
/** 确认按钮 */
|
||||||
|
onSubmit() {
|
||||||
|
this.$refs.contactUnitsParamsRef.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('校验通过', this.storageConfigParams, this.subSort)
|
||||||
|
// 1. 表单校验通过后调后台 Api
|
||||||
|
if(this.subSort === 1) {
|
||||||
|
addStorageConfigListApi(this.storageConfigParams).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.$modal.msgSuccess('新增成功')
|
||||||
|
}).catch(err => {})
|
||||||
|
} else if(this.subSort === 2) {
|
||||||
|
updateStorageConfigListApi(this.storageConfigParams).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.$modal.msgSuccess('修改成功')
|
||||||
|
}).catch(err => {})
|
||||||
|
}
|
||||||
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
|
this.$emit('closeDialog', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
::v-deep .el-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
export const formLabel = [
|
||||||
|
{ f_label: '关键字', f_model: 'houseId', f_type: 'ipt' },
|
||||||
|
]
|
||||||
|
export const columnsList = [
|
||||||
|
{ t_props: 'houseId', t_label: 'a', },
|
||||||
|
{ t_props: 'typeId', t_label: 'b' },
|
||||||
|
// { t_props: 'companyId', t_label: '地理位置' },
|
||||||
|
// { t_props: 'remark', t_label: '备注' },
|
||||||
|
]
|
||||||
|
export const dialogConfig = {
|
||||||
|
outerWidth: '40%',
|
||||||
|
outerTitle: '',
|
||||||
|
outerVisible: false,
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
<template>
|
||||||
|
<!-- 往来单位管理页面 -->
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 列表 -->
|
||||||
|
<TableModel
|
||||||
|
:formLabel="formLabel"
|
||||||
|
:columnsList="columnsList"
|
||||||
|
:request-api="queryStorageConfigListApi"
|
||||||
|
ref="tableRef"
|
||||||
|
>
|
||||||
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
|
<el-button type="primary" @click="handleAddData()"
|
||||||
|
>新建</el-button
|
||||||
|
>
|
||||||
|
<el-button @click="handleExportData(queryParams, 'base/customer/export', '往来单位清单')"
|
||||||
|
>导出</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template slot="handle" slot-scope="{ data }">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
size="mini"
|
||||||
|
>解绑</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
@click="handleEditData(data)"
|
||||||
|
>编辑</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
size="mini"
|
||||||
|
@click="handleDeleteData(data.id, delStorageListApi)"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
<!-- <template slot="isActive" slot-scope="{ data }">
|
||||||
|
{{ data.isActive == '1' ? '启用' : '不启用' }}
|
||||||
|
</template>
|
||||||
|
<template slot="phone" slot-scope="{ data }">
|
||||||
|
{{ phoneCrypto(data.phone) }}
|
||||||
|
</template>-->
|
||||||
|
</TableModel>
|
||||||
|
|
||||||
|
<!-- 新增以及修改时的弹框 -->
|
||||||
|
<DialogModel
|
||||||
|
:dialogConfig="dialogConfig"
|
||||||
|
@closeDialogOuter="closeDialogOuter"
|
||||||
|
>
|
||||||
|
<template slot="outerContent">
|
||||||
|
<!-- 新增以及修改数据的表单组件 -->
|
||||||
|
<FormMasupplier
|
||||||
|
@closeDialog="closeDialog"
|
||||||
|
:editParams="editParams"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</DialogModel>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { columnsList, dialogConfig, formLabel } from './config'
|
||||||
|
import { commonMixin } from '../mixins/common'
|
||||||
|
import FormMasupplier from './components/form-masupplier.vue'
|
||||||
|
import {
|
||||||
|
queryStorageConfigListApi
|
||||||
|
} from '@/api/material/storageConfig'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'storageConfigManage',
|
||||||
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
|
components: { FormMasupplier },
|
||||||
|
methods: {
|
||||||
|
queryStorageConfigListApi
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formLabel,
|
||||||
|
columnsList,
|
||||||
|
dialogConfig,
|
||||||
|
addDialogTitle: '新建仓库', // 新建时弹框标题
|
||||||
|
editDialogTitle: '修改仓库', // 修改时弹框标题
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
@ -76,11 +76,11 @@
|
||||||
<el-form-item label="类型编码" prop="code">
|
<el-form-item label="类型编码" prop="code">
|
||||||
<el-input v-model="typeEditParamsLv1.code" disabled />
|
<el-input v-model="typeEditParamsLv1.code" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="检验方式" prop="materialName">
|
<el-form-item label="检验方式" prop="testType">
|
||||||
<el-input v-model="typeEditParamsLv1.materialName" />
|
<el-input v-model="typeEditParamsLv1.testType" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="检验结果" prop="materialType">
|
<el-form-item label="检验结果" prop="testResult">
|
||||||
<el-input v-model="typeEditParamsLv1.materialType" />
|
<el-input v-model="typeEditParamsLv1.testResult" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- form-修改 level2 -->
|
<!-- form-修改 level2 -->
|
||||||
|
|
@ -98,6 +98,12 @@
|
||||||
<el-form-item label="类型编码" prop="code">
|
<el-form-item label="类型编码" prop="code">
|
||||||
<el-input v-model="typeEditParamsLv2.code" disabled />
|
<el-input v-model="typeEditParamsLv2.code" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="检验方式" prop="testType">
|
||||||
|
<el-input v-model="typeEditParamsLv2.testType" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检验结果" prop="testResult">
|
||||||
|
<el-input v-model="typeEditParamsLv2.testResult" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- form-修改 level3 -->
|
<!-- form-修改 level3 -->
|
||||||
<el-form
|
<el-form
|
||||||
|
|
@ -114,6 +120,12 @@
|
||||||
<el-form-item label="类型编码" prop="code">
|
<el-form-item label="类型编码" prop="code">
|
||||||
<el-input v-model="typeEditParamsLv3.code" disabled />
|
<el-input v-model="typeEditParamsLv3.code" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="检验方式" prop="testType">
|
||||||
|
<el-input v-model="typeEditParamsLv3.testType" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检验结果" prop="testResult">
|
||||||
|
<el-input v-model="typeEditParamsLv3.testResult" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- form-修改 level4 -->
|
<!-- form-修改 level4 -->
|
||||||
<el-form
|
<el-form
|
||||||
|
|
@ -175,12 +187,28 @@
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="是否需要试验" prop="ifExam">
|
<el-form-item label="是否需要试验" prop="ifExam">
|
||||||
<el-select v-model="typeEditParamsLv4.ifExam"></el-select>
|
<el-select v-model="typeEditParamsLv4.ifExam">
|
||||||
|
<el-option
|
||||||
|
v-for="item in ifTestRange"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="管理模式" prop="manageType">
|
<el-form-item label="管理模式" prop="manageType">
|
||||||
<el-select v-model="typeEditParamsLv4.manageType"></el-select>
|
<el-select v-model="typeEditParamsLv4.manageType">
|
||||||
|
<el-option
|
||||||
|
v-for="item in manageTypeRange"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
@ -337,18 +365,22 @@ export default {
|
||||||
typeEditParamsLv1: {
|
typeEditParamsLv1: {
|
||||||
constructionType: undefined, // 类型名称
|
constructionType: undefined, // 类型名称
|
||||||
code: undefined, // 类型编码
|
code: undefined, // 类型编码
|
||||||
materialName: undefined, // 检验方式
|
testType: undefined, // 检验方式
|
||||||
materialType: undefined, // 检验结果
|
testResult: undefined, // 检验结果
|
||||||
},
|
},
|
||||||
// 物资修改表单 Lv2
|
// 物资修改表单 Lv2
|
||||||
typeEditParamsLv2: {
|
typeEditParamsLv2: {
|
||||||
constructionType: undefined, // 类型名称
|
constructionType: undefined, // 类型名称
|
||||||
code: undefined, // 类型编码
|
code: undefined, // 类型编码
|
||||||
|
testType: undefined, // 检验方式
|
||||||
|
testResult: undefined, // 检验结果
|
||||||
},
|
},
|
||||||
// 物资修改表单 Lv3
|
// 物资修改表单 Lv3
|
||||||
typeEditParamsLv3: {
|
typeEditParamsLv3: {
|
||||||
constructionType: undefined, // 类型名称
|
constructionType: undefined, // 类型名称
|
||||||
code: undefined, // 类型编码
|
code: undefined, // 类型编码
|
||||||
|
testType: undefined, // 检验方式
|
||||||
|
testResult: undefined, // 检验结果
|
||||||
},
|
},
|
||||||
// 物资修改表单 Lv4
|
// 物资修改表单 Lv4
|
||||||
typeEditParamsLv4: {
|
typeEditParamsLv4: {
|
||||||
|
|
@ -404,7 +436,17 @@ export default {
|
||||||
},
|
},
|
||||||
typeEditParamsLv2Rules: {},
|
typeEditParamsLv2Rules: {},
|
||||||
typeEditParamsLv3Rules: {},
|
typeEditParamsLv3Rules: {},
|
||||||
typeEditParamsLv4Rules: {}
|
typeEditParamsLv4Rules: {},
|
||||||
|
// 下拉选
|
||||||
|
ifTestRange: [
|
||||||
|
{ label: '是', value: 1 },
|
||||||
|
{ label: '否', value: 0 },
|
||||||
|
],
|
||||||
|
manageTypeRange: [
|
||||||
|
{ label: '编码追溯', value: 0 },
|
||||||
|
{ label: '数量+编码', value: 1 },
|
||||||
|
{ label: '数量', value: 2 },
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ export const columnsList = [
|
||||||
{ t_props: 'specificationCode', t_label: '规格型号' },
|
{ t_props: 'specificationCode', t_label: '规格型号' },
|
||||||
]
|
]
|
||||||
export const dialogConfig = {
|
export const dialogConfig = {
|
||||||
outerWidth: '40%',
|
outerWidth: '60%',
|
||||||
outerTitle: '',
|
outerTitle: '',
|
||||||
outerVisible: false,
|
outerVisible: false,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue