测试问题修改

master
zhangdi 11 months ago
parent b0ec1c9e62
commit 81450dfa94
  1. 46
      src/views/labManagement/components/addDialog.vue
  2. 27
      src/views/labManagement/inspectionManagement.vue
  3. 277
      src/views/system/dept.vue

@ -6,8 +6,7 @@
<div style="color: #101010;font-size: 20px;font-weight: 550;margin-bottom: 20px;">基本信息</div>
<el-form-item label="单位名称" prop="unitId" v-if="title == '新建'">
<el-select style="width:98%" placeholder="请选择单位名称" v-model="addForm.unitId" @change="changeUnit">
<el-option v-for="item in unitData" :key="item.id" :label="item.title"
:value="item.id"></el-option>
<el-option v-for="item in unitData" :key="item.id" :label="item.title" :value="item.id"></el-option>
<!-- <el-option label="畜牧局实验室" value="2"></el-option> -->
</el-select>
</el-form-item>
@ -30,7 +29,7 @@
</div>
</div>
</el-form-item>
<el-form-item label="房间">
<!-- <el-form-item label="房间">
<div style="display: flex;">
<div v-for="item in roomArr" :key="item.id" @click="clickRoom(item)"
style="padding: 0px 15px;border: 1px solid #bbbbbb; height: 30px;display: flex;align-items: center;justify-content: center;margin-right: 10px;border-radius: 3px;cursor: pointer;"
@ -38,7 +37,7 @@
{{ item.deptName }}
</div>
</div>
</el-form-item>
</el-form-item> -->
<el-form-item label="巡检配置">
<el-table :data="addForm.tableData" border style="width: 100%" :span-method="objectSpanMethod"
v-loading="isLoad">
@ -60,15 +59,14 @@
<template slot-scope="scope">
<el-select placeholder="请选择设备" :disabled="title == '查看'" v-model="scope.row.deviceId"
@change="((val) => { changeDevice(val, scope.$index) })">
<el-option v-for="item in deviceList" :disabled="item.disabled" :key="item.id"
:label="item.name" :value="item.id"></el-option>
<el-option v-for="item in deviceList" :disabled="item.disabled" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="checkContent" align="center" label="巡检内容">
<template slot-scope="scope">
<el-input placeholder="请输入巡检内容" :disabled="title == '查看'"
v-model="scope.row.checkContent"></el-input>
<el-input placeholder="请输入巡检内容" :disabled="title == '查看'" v-model="scope.row.checkContent"></el-input>
</template>
</el-table-column>
<el-table-column prop="craft" align="center" label="工艺要求">
@ -90,18 +88,17 @@
<el-table-column prop="startTime" align="center" label="开始时间">
<template slot-scope="scope">
<el-date-picker style="width: 100%;" v-model="scope.row.startTime" type="date"
@change="((val) => changeStartTime(val, scope.$index))" placeholder="请选择开始时间"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" :disabled="title == '查看'">
@change="((val) => changeStartTime(val, scope.$index))" placeholder="请选择开始时间" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :disabled="title == '查看'">
</el-date-picker>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="维保合同" prop="contractFile">
<el-upload class="upload-demo" action="/api/blade-resource/oss/endpoint/put-file"
:on-success="handleSuccess" :on-remove="handleRemove" :headers="headers" multiple
:disabled="title == '查看'" accept=".docx,.pdf," :limit="3" :on-exceed="handleExceed"
:file-list="imgList">
<el-upload class="upload-demo" action="/api/blade-resource/oss/endpoint/put-file" :on-success="handleSuccess"
:on-remove="handleRemove" :headers="headers" multiple :disabled="title == '查看'" accept=".docx,.pdf,"
:limit="3" :on-exceed="handleExceed" :file-list="imgList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持上传docxpdf文件且不超过10M</div>
</el-upload>
@ -109,8 +106,7 @@
<el-form-item label="实验室图纸" prop="drawingFile">
<el-upload class="upload-demo" action="/api/blade-resource/oss/endpoint/put-file"
:on-success="handledrawSuccess" :on-remove="handledrawRemove" :headers="headers" multiple
:disabled="title == '查看'" accept=".zip,.tar" :limit="3"
:on-exceed="handleExceed" :file-list="drawList">
:disabled="title == '查看'" accept=".zip,.tar" :limit="3" :on-exceed="handleExceed" :file-list="drawList">
<!-- <i class="el-icon-plus"></i> -->
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持上传ziptar文件且不超过100M</div>
@ -277,6 +273,8 @@ export default {
},
methods: {
getDeepCode(data, arr) {
console.log('data', data)
if (data && data.length > 0) {
data.map(item => {
if (item.details.length != 0) {
this.getDeepCode(item.details, arr)
@ -285,6 +283,8 @@ export default {
}
})
return arr
}
},
handleSuccess(response, file, fileList) {
if (response.code == 200) {
@ -460,7 +460,7 @@ export default {
console.log('unitData===============>', this.unitData)
this.labId = val
if (this.title == '新建') {
this.addForm.unitName = this.unitData.find(item => item.id == val).title
this.addForm.unitName = this.unitData.length > 0 ? this.unitData.find(item => item.id == val).title : ''
this.deviceList.map(item => {
item.disabled = false
})
@ -531,7 +531,7 @@ export default {
this.pos = 0
this.addForm.tableData.splice(index, 1);
this.getSpanArr(this.addForm.tableData)
console.log('tableData',this.tableData)
console.log('tableData', this.tableData)
}
},
dealFloor(val) {
@ -570,9 +570,11 @@ export default {
this.dealFloor(val.id)
},
clickRoom(val) {
this.activeRoom = val.id
console.log('val1------------->', val)
console.log('title------------->', this.title)
if (val) {
this.activeRoom = val.id
if (this.title == '新建') {
getDeviceLists({ limsId: this.labId, floorId: this.activeFloor, roomId: this.activeRoom }).then(res => {
this.deviceList = res.data.data
@ -612,7 +614,7 @@ export default {
}, 200)
this.deviceList.map(item1 => {
item1.disabled = false
if(this.addForm.tableData.filter(item2 => item2.deviceId == item1.id).length == item1.maintenances.length){
if (this.addForm.tableData.filter(item2 => item2.deviceId == item1.id).length == item1.maintenances.length) {
item1.disabled = true
}
// arr1.map(item2 => {
@ -621,13 +623,15 @@ export default {
// }
// })
})
console.log('this.addForm.tableData',this.addForm.tableData)
console.log('this.addForm.tableData', this.addForm.tableData)
this.$forceUpdate();
this.spanArr = []
this.pos = 0
this.getSpanArr(this.addForm.tableData)
})
}
}
},
}

@ -12,12 +12,13 @@
<el-col :span="24">
<basic-container>
<avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="data" ref="crud"
v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate" @row-save="rowSave"
:before-open="beforeOpen" :page.sync="page" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
@row-save="rowSave" :before-open="beforeOpen" :page.sync="page" @search-change="searchChange"
@search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
@size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template slot-scope="scope" slot="menuLeft">
<el-button v-show="permission.contentAdd" type="primary" size="small" @click="handleAdd">新建</el-button>
<el-button v-show="permission.contentAdd" type="primary" size="small"
@click="handleAdd">新建</el-button>
</template>
<template slot-scope="{ row }" slot="isOpen">
<el-tag :type="row.isOpen == 0 ? 'danger' : 'success'">{{ row.isOpen == 0 ? '停用' : '启用'
@ -26,16 +27,18 @@
<template slot-scope="{ row }" slot="menu">
<el-button v-show="permission.contentView" @click="handleView(row)">查看</el-button>
<el-button v-show="permission.contentEdit" @click="handleEdit(row)">编辑</el-button>
<el-button @click="startPlan(row)" v-show="row.isOpen == 0 && permission.contentSetting">启用</el-button>
<el-button @click="stopPlan(row)" v-show="row.isOpen == 1 && permission.contentSetting">停用</el-button>
<el-button @click="startPlan(row)"
v-show="row.isOpen == 0 && permission.contentSetting">启用</el-button>
<el-button @click="stopPlan(row)"
v-show="row.isOpen == 1 && permission.contentSetting">停用</el-button>
<el-button @click="deletePlan(row)" v-show="permission.contentDelete">删除</el-button>
<el-button @click="handleDownload(row)" v-show="permission.contentDelete">下载</el-button>
<el-button @click="handleDownload(row)"
v-show="permission.contentDelete">下载</el-button>
<el-button type="primary" @click="handleExportDevice(row)">导出</el-button>
<!-- <el-button @click="handleImport(row)">导入</el-button> -->
</template>
</avue-crud>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :append-to-body="true" width="70%"
:close-on-click-modal="false">
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :append-to-body="true" width="70%" :close-on-click-modal="false">
<addDialog :unitData="unitData" :title="dialogTitle" :detailForm="detailForm" ref="addDialog">
</addDialog>
<span slot="footer" class="dialog-footer">
@ -395,7 +398,7 @@ export default {
URL.revokeObjectURL(link.href)
document.body.removeChild(link)
})
} else {
}else{
this.$message.error('该巡检内容没有维护合同附件')
}
})
@ -529,7 +532,7 @@ export default {
planContent: addForm.content, //
details: this.$refs.addDialog.tableData,
attaches: arr,
draws: arr1
draws:arr1
}
console.log('query===========>', query)
if (query.id) {

@ -1,14 +1,5 @@
<template>
<el-row>
<!-- <el-col :span="5">
<div class="box">
<el-scrollbar>
<basic-container>
<avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
</basic-container>
</el-scrollbar>
</div>
</el-col> -->
<el-col :span="24">
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
@ -35,15 +26,7 @@
</avue-crud>
</basic-container>
</el-col>
<!-- <el-dialog title="新增" append-to-body :visible.sync="addBox" :close-on-click-modal="false" width="60%">
<avue-form :option="debugOption" v-model="debugForm" />
<span slot="footer" class="dialog-footer">
<el-button @click="closeBox"> </el-button>
<el-button @click="addBoxReject"> </el-button>
</span>
</el-dialog> -->
</el-row>
</template>
@ -119,24 +102,7 @@ export default {
trigger: "click"
}]
},
{
label: '地址',
prop: 'province',
type: 'select',
span: 12,
// search: true,
// hide: true,
props: {
label: 'name',
value: 'code'
},
dicUrl: '/api/blade-system/region/select',
rules: [{
required: true,
message: "请选择省份",
trigger: "blur"
}],
},
// {
// label: "",
@ -181,145 +147,37 @@ export default {
required: true,
message: "请输入机构类型",
trigger: "blur"
}]
},
{
label: "排序",
prop: "sort",
type: "number",
align: "right",
width: 80,
rules: [{
required: true,
message: "请输入排序",
trigger: "blur"
}]
},
{
label: "备注",
prop: "remark",
rules: [{
required: false,
message: "请输入备注",
trigger: "blur"
}],
hide: true
}
]
},
data: [],
//
treeData: [],
treeOption: {
nodeKey: 'id',
lazy: true,
treeLoad: function (node, resolve) {
const parentCode = (node.level === 0) ? "00" : node.data.id;
getLazyTree(parentCode).then(res => {
resolve(res.data.data.map(item => {
return {
...item,
leaf: !item.hasChildren
}
}))
});
},
addBtn: false,
menu: false,
size: 'small',
props: {
labelText: '标题',
label: 'title',
value: 'value',
children: 'children'
}
},
addBox: false,
debugForm: {},
debugOption: {
// labelWidth: 50,
submitBtn: false,
emptyBtn: false,
display: true,
column: [
{
label: "机构名称",
prop: "deptName",
search: true,
rules: [{
required: true,
message: "请输入机构名称",
trigger: "blur"
}]
change: (val) => {
this.typeChange(val)
},
{
label: "机构类型",
type: "select",
dicUrl: "/api/blade-system/dict/dictionary?code=org_category",
props: {
label: "dictValue",
value: "dictKey"
},
dataType: "number",
width: 120,
prop: "deptCategory",
slot: true,
rules: [{
required: true,
message: "请输入机构类型",
trigger: "blur"
}]
},
{
label: '省份',
prop: 'province',
type: 'select',
label: '地址',
prop: 'labAddress',
span: 12,
props: {
label: 'name',
value: 'code'
},
cascader: ['city'],
dicUrl: '/api/blade-system/region/select',
// change: ({ value, column }) => {
// console.log(11111,value, column);
// },
rules: [{
required: true,
message: "请选择省份",
trigger: "blur"
}],
},
{
label: '地市',
prop: 'city',
type: 'select',
props: {
label: 'name',
value: 'code'
},
cascader: ['district'],
dicFlag: false,
dicUrl: '/api/blade-system/region/select?code={{province}}',
rules: [{
required: true,
message: "请选择地市",
trigger: "blur"
}]
},
{
label: "排序",
prop: "sort",
type: "number",
align: "right",
width: 80,
// search: true,
// hide: true,
display: false,
disabled: false,
rules: [{
required: true,
message: "请输入排序",
trigger: "blur"
message: "请输入实验室所在地址",
trigger: "click"
}]
},
// {
// label: "",
// prop: "sort",
// type: "number",
// align: "right",
// width: 80,
// rules: [{
// required: true,
// message: "",
// trigger: "blur"
// }]
// },
{
label: "备注",
prop: "remark",
@ -329,22 +187,11 @@ export default {
trigger: "blur"
}],
hide: true
}
]
},
data: [],
// {
// label: '',
// prop: 'district',
// type: 'select',
// props: {
// label: 'name',
// value: 'code'
// },
// dicFlag: false,
// dicUrl: '/api/blade-system/region/select?code={{city}}',
// span: 24,
// }
]
}
};
},
computed: {
@ -369,38 +216,21 @@ export default {
},
methods: {
addInstitution() {
this.addBox = true
},
closeBox() {
this.addBox = false
},
addBoxReject() {
let query = {
...this.debugForm,
provinceName: this.debugForm.$province,
provinceCode: this.debugForm.province,
cityName: this.debugForm.$city,
cityCode: this.debugForm.city,
typeChange(val) {
console.log('value', val)
this.option.column.forEach(item => {
if (item.prop == 'labAddress' &&val.item.dictKey == 5) {
item.display = true
}
add(query).then((res) => {
//
this.$message({
type: "success",
message: "操作成功!"
});
//
this.addBox = false
this.onLoad()
}, error => {
window.console.log(error);
loading();
});
},
//
nodeClick() {
if (item.prop == 'labAddress' &&val.item.dictKey != 5){
item.display = false
}
this.$refs.crud.rowAdd();
})
},
initData(tenantId) {
getDeptTree(tenantId).then(res => {
const column = this.findObject(this.option.column, "parentId");
@ -411,25 +241,13 @@ export default {
handleAdd(row) {
this.parentId = row.id;
const column = this.findObject(this.option.column, "parentId");
this.option.column.forEach(item => {
if (item.prop == 'province' || item.prop == 'city') {
item.display = false
}
})
column.value = row.id;
column.addDisabled = true;
this.$refs.crud.rowAdd();
},
rowSave(row, done, loading) {
let query = {
...row,
provinceName: this.form.$province,
provinceCode: this.form.province,
cityName: this.form.$city,
cityCode: this.form.city,
}
console.log(9999, this.form,query)
add(row).then((res) => {
//
const data = res.data.data;
@ -537,21 +355,16 @@ export default {
this.form.parentId = '';
}
if (this.form.parentId != '') {
this.option.column.forEach(item => {
if (item.prop == 'province' || item.prop == 'city') {
item.display = false
}
})
this.$refs.crud.rowAdd();
} else {
// labAddress
this.option.column.forEach(item => {
if (item.prop == 'province' || item.prop == 'city') {
if (item.prop == 'labAddress' && this.form.deptCategory == 5) {
item.display = true
}
})
this.$refs.crud.rowAdd();
}
});
}
done();

Loading…
Cancel
Save