提交代码

dev_xds
姜玉琦 2024-03-25 23:39:03 +08:00
parent 0afd1137bb
commit 74b3ae5d72
11 changed files with 952 additions and 886 deletions

View File

@ -163,6 +163,7 @@ export default {
//label //label
labelStyle: { width: "180px" }, labelStyle: { width: "180px" },
initData: {}, initData: {},
fileTypes:['pdf','png','jpg','jpeg'],
}; };
}, },
computed: {}, computed: {},

View File

@ -53,7 +53,7 @@
<el-form-item label="审批内容" prop="files"> <el-form-item label="审批内容" prop="files">
<FileUpload <FileUpload
@input="fileInput" @input="fileInput"
:limit="9" :limit="18"
v-model="form.files" v-model="form.files"
:fileType="['pdf', 'png', 'jpg', 'jpeg']" :fileType="['pdf', 'png', 'jpg', 'jpeg']"
/> />

View File

@ -53,7 +53,7 @@
<el-form-item label="审批内容" prop="files"> <el-form-item label="审批内容" prop="files">
<FileUpload <FileUpload
@input="fileInput" @input="fileInput"
:limit="9" :limit="18"
:fileType="['pdf', 'png', 'jpg', 'jpeg']" :fileType="['pdf', 'png', 'jpg', 'jpeg']"
/> />
</el-form-item> </el-form-item>

View File

@ -1,227 +1,231 @@
<template> <template>
<div class="projectect-attendance-drawer"> <div class="projectect-attendance-drawer">
<el-drawer <el-drawer
v-if="isOpen" v-if="isOpen"
:visible.sync="isOpen" :visible.sync="isOpen"
ref="drawer" ref="drawer"
direction="rtl" direction="rtl"
@close="closeCallBack" @close="closeCallBack"
size="50%" size="50%"
>
<template slot="title">
<div>{{ title + " 【处理审批】" }}</div>
</template>
<el-form
ref="form"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
style="padding-right: 20px; padding-left: 20px"
> >
<template slot="title"> <el-form-item label="项目名称">
<div>{{ title + " 【处理审批】" }}</div> {{ dataInfo.projectName }}
</template> </el-form-item>
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" label-width="80px" style="padding-right: 20px;padding-left: 20px;"> <el-row>
<el-form-item label="项目名称"> <el-col :span="12">
{{dataInfo.projectName}} <el-form-item label="送检类型">
<dict-tag
:options="dict.type.check_detection_check_type"
:value="dataInfo.checkType"
/>
</el-form-item> </el-form-item>
<el-row> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="送检类型"> <el-form-item label="合格证">
<dict-tag <el-tag v-if="dataInfo.qualifiedFlag == 'Y'" type="success"></el-tag>
:options="dict.type.check_detection_check_type" <el-tag v-if="dataInfo.qualifiedFlag == 'N'" type="danger"></el-tag>
:value="dataInfo.checkType"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合格证">
<el-tag v-if="dataInfo.qualifiedFlag == 'Y'" type="success"></el-tag>
<el-tag v-if="dataInfo.qualifiedFlag == 'N'" type="danger"></el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="材料名称">
{{ dataInfo.materialName }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="取样数量">
{{ dataInfo.sampleNum }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="使用部位">
{{ dataInfo.usePosition }}
</el-form-item>
<el-form-item label="监理专员">
{{ dataInfo.witnessUserName }}
<el-tag type="info" size="mini">{{ dataInfo.witnessUser }}</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="提交用户">
{{ dataInfo.createBy }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提交单位">
{{ dataInfo.deptName }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="实验室名">
<span>{{ dataInfo.laboratoryName }}</span>
</el-form-item> </el-form-item>
<el-form-item label="送检时间"> </el-col>
<span>{{ parseTime(dataInfo.checkTime, "{y}-{m}-{d} {h}:{i}") }}</span> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="材料名称">
{{ dataInfo.materialName }}
</el-form-item> </el-form-item>
<el-form-item label="检测报告" v-if="dataInfo.checkState == '2'"> </el-col>
<el-button <el-col :span="12">
size="mini" <el-form-item label="取样数量">
type="text" {{ dataInfo.sampleNum }}
icon="el-icon-paperclip"
@click="handleDownload()"
>下载检测报告</el-button
>
</el-form-item> </el-form-item>
<el-form-item label="送检结果" prop="detectionResult"> </el-col>
<el-radio </el-row>
v-model="form.detectionResult" <el-row>
v-for="dict in dict.type.project_checking_result" <el-col :span="12">
:label="dict.value" <el-form-item label="使用部位">
:key="dict.value" {{ dataInfo.usePosition }}
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item> </el-form-item>
<el-form-item label="审批意见" prop="comment"> <el-form-item label="监理专员">
<el-input {{ dataInfo.witnessUserName }}
type="textarea" <el-tag type="info" size="mini">{{ dataInfo.witnessUser }}</el-tag>
:rows="3"
placeholder="请输入审批意见200字内"
v-model="form.comment"
/>
</el-form-item> </el-form-item>
<div style="text-align: center"> </el-col>
<el-button type="primary" @click="submitForm"> </el-button> </el-row>
<el-button @click="cancel"> </el-button> <el-row>
</div> <el-col :span="12">
</el-form> <el-form-item label="提交用户">
</el-drawer> {{ dataInfo.createBy }}
<el-image-viewer </el-form-item>
v-if="showViewer" </el-col>
:on-close="closeViewer" <el-col :span="12">
:url-list="previewList" <el-form-item label="提交单位">
style="z-index: 2050" {{ dataInfo.deptName }}
/> </el-form-item>
</div> </el-col>
</template> </el-row>
<el-form-item label="实验室名">
<script> <span>{{ dataInfo.laboratoryName }}</span>
import { </el-form-item>
getCheckDetection, <el-form-item label="送检时间">
updateCheckDetection, <span>{{ parseTime(dataInfo.checkTime, "{y}-{m}-{d} {h}:{i}") }}</span>
} from "@/api/project/checkDetection"; </el-form-item>
import ElImageViewer from "element-ui/packages/image/src/image-viewer"; <el-form-item label="检测报告" v-if="dataInfo.checkState == '2'">
<el-button
export default { size="mini"
name: "approveCheckDetectionDrawer", type="text"
components: { icon="el-icon-paperclip"
ElImageViewer, @click="handleDownload()"
>下载检测报告</el-button
>
</el-form-item>
<el-form-item label="送检结果" prop="detectionResult">
<el-radio
v-model="form.detectionResult"
v-for="dict in dict.type.project_checking_result"
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item>
<el-form-item label="审批意见" prop="comment">
<el-input
type="textarea"
:rows="3"
placeholder="请输入审批意见200字内"
v-model="form.comment"
/>
</el-form-item>
<div style="text-align: center;margin-bottom:20px;">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-form>
</el-drawer>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="previewList"
style="z-index: 2050"
/>
</div>
</template>
<script>
import { getCheckDetection, updateCheckDetection } from "@/api/project/checkDetection";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
name: "approveCheckDetectionDrawer",
components: {
ElImageViewer,
},
props: {
closeCallBack: {
type: Function,
}, },
props: { },
closeCallBack: { dicts: ["project_checking_result", "check_detection_check_type"],
type: Function, data() {
}, return {
showViewer: false,
open: false,
isOpen: false,
dataInfo: {},
title: "",
form: {},
rules: {
detectionResult: [{ required: true, message: "请选择送检结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
},
computed: {},
mounted() {},
methods: {
getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },
dicts: ["project_checking_result", "check_detection_check_type"], onPreview(urls) {
data() { this.previewList = [];
return { urls.split(",").forEach((item) => {
showViewer: false, this.previewList.push(process.env.VUE_APP_BASE_API + item);
open: false, });
isOpen: false, this.showViewer = true;
dataInfo: {},
title: "",
form: {},
rules: {
detectionResult: [{ required: true, message: "请选择送检结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
}, },
computed: {}, closeViewer() {
mounted() {}, this.showViewer = false;
methods: { },
getImageUrl(url) { show(options) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; this.title = options.typeName;
}, this.isOpen = true;
onPreview(urls) { this.form = {};
this.previewList = []; this.form.id = options.id;
urls.split(",").forEach((item) => { getCheckDetection(options.id).then((res) => {
this.previewList.push(process.env.VUE_APP_BASE_API + item); this.dataInfo = res.data;
}); this.loading = false;
this.showViewer = true; });
}, },
closeViewer() { //
this.showViewer = false; cancel() {
}, this.isOpen = false;
show(options) { },
this.title = options.typeName; /** 提交按钮 */
this.isOpen = true; submitForm() {
this.form={}; this.$refs["form"].validate((valid) => {
this.form.id=options.id; if (valid) {
getCheckDetection(options.id) //
.then((res) => { let msg = "合格";
this.dataInfo = res.data; if (this.form.detectionResult == "1") {
this.loading = false; this.form.approveStatus = "4";
}); } else {
}, msg = "不合格";
// this.form.approveStatus = "3";
cancel() {
this.open = false;
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
//
let msg = "合格";
if(this.form.detectionResult=="1"){
this.form.approveStatus="4";
}else{
msg = "不合格";
this.form.approveStatus="3";
}
this.$confirm('是否确认审批'+msg+'?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading=true;
updateCheckDetection(this.form).then(res => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
}).catch(() => {
console.log("取消操作");
});
} }
}); this.$confirm("是否确认审批" + msg + "?", "提示", {
}, confirmButtonText: "确定",
/** 下载附件 */ cancelButtonText: "取消",
handleDownload() { type: "warning",
let files = this.dataInfo.measureFiles.split(","); })
files.forEach((item) => { .then(() => {
this.$download.resource(item); this.loading = true;
}); updateCheckDetection(this.form).then((res) => {
}, this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
})
.catch(() => {
console.log("取消操作");
});
}
});
}, },
}; /** 下载附件 */
</script> handleDownload() {
let files = this.dataInfo.measureFiles.split(",");
files.forEach((item) => {
this.$download.resource(item);
});
},
},
};
</script>

View File

@ -1,218 +1,227 @@
<template> <template>
<div class="projectect-attendance-drawer"> <div class="projectect-attendance-drawer">
<el-drawer <el-drawer
v-if="isOpen" v-if="isOpen"
:visible.sync="isOpen" :visible.sync="isOpen"
ref="drawer" ref="drawer"
direction="rtl" direction="rtl"
@close="closeCallBack" @close="closeCallBack"
size="50%" size="50%"
>
<template slot="title">
<div>{{ title + " 【处理审批】" }}</div>
</template>
<el-form
ref="form"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
style="padding-right: 20px; padding-left: 20px"
> >
<template slot="title"> <el-form-item label="项目名称">
<div>{{ title + " 【处理审批】" }}</div> {{ dataInfo.projectName }}
</template> </el-form-item>
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" label-width="80px" style="padding-right: 20px;padding-left: 20px;"> <el-form-item label="验收图片">
<el-form-item label="项目名称"> <el-image
{{dataInfo.projectName}} ref="preview"
v-for="(img, idx) in dataInfo.imageUrls.split(',')"
:key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"
></el-image>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="验收类型">
<dict-tag
:options="dict.type.project_checking_data_type_lvl1"
:value="dataInfo.dataTypeLvl1"
/>
</el-form-item> </el-form-item>
<el-form-item label="验收图片"> </el-col>
<el-image <el-col :span="12">
ref="preview" <el-form-item label="类型分类">
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx" <dict-tag
:src="getImageUrl(img)" :options="dict.type.project_checking_data_type_lvl2"
style="width: 120px; height: 120px; margin-right: 15px" :value="dataInfo.dataTypeLvl2"
@click="onPreview(img)" />
></el-image>
</el-form-item> </el-form-item>
<el-row> </el-col>
<el-col :span="12"> </el-row>
<el-form-item label="验收类型"> <el-row>
<dict-tag <el-col :span="12">
:options="dict.type.project_checking_data_type_lvl1" <el-form-item label="质量专员">
:value="dataInfo.dataTypeLvl1" {{ dataInfo.qualityUserName }}
/> <el-tag type="info" size="mini">{{ dataInfo.qualityUser }}</el-tag>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型分类">
<dict-tag
:options="dict.type.project_checking_data_type_lvl2"
:value="dataInfo.dataTypeLvl2"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="质量专员">
{{ dataInfo.qualityUserName }}
<el-tag type="info" size="mini">{{ dataInfo.qualityUser }}</el-tag>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监理专员">
{{ dataInfo.superviseUserName }}
<el-tag type="info" size="mini">{{ dataInfo.superviseUser }}</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="工序部位">
<span>{{ dataInfo.checkWorkingPosition }}</span>
</el-form-item> </el-form-item>
<el-form-item label="验收描述"> </el-col>
<span>{{ dataInfo.intro }}</span> <el-col :span="12">
<el-form-item label="监理专员">
{{ dataInfo.superviseUserName }}
<el-tag type="info" size="mini">{{ dataInfo.superviseUser }}</el-tag>
</el-form-item> </el-form-item>
<el-row> </el-col>
<el-col :span="12"> </el-row>
<el-form-item label="提交用户"> <el-form-item label="工序部位">
{{ dataInfo.createBy }} <span>{{ dataInfo.checkWorkingPosition }}</span>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="验收描述">
<el-col :span="12"> <span>{{ dataInfo.intro }}</span>
<el-form-item label="提交单位"> </el-form-item>
{{ dataInfo.deptName }} <el-row>
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="提交用户">
</el-row> {{ dataInfo.createBy }}
<el-form-item label="验收时间">
<span>{{ parseTime(dataInfo.checkingDate, "{y}-{m}-{d} {h}:{i}") }}</span>
</el-form-item> </el-form-item>
<el-form-item label="验收结果" prop="checkResult"> </el-col>
<el-radio <el-col :span="12">
v-model="form.checkResult" <el-form-item label="提交单位">
v-for="dict in dict.type.project_checking_result" {{ dataInfo.deptName }}
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item> </el-form-item>
<el-form-item label="审批意见" prop="comment"> </el-col>
<el-input </el-row>
type="textarea" <el-form-item label="验收时间">
:rows="3" <span>{{ parseTime(dataInfo.checkingDate, "{y}-{m}-{d} {h}:{i}") }}</span>
placeholder="请输入审批意见200字内" </el-form-item>
v-model="form.comment" <el-form-item label="验收结果" prop="checkResult">
/> <el-radio
</el-form-item> v-model="form.checkResult"
<div style="text-align: center"> v-for="dict in dict.type.project_checking_result"
<el-button type="primary" @click="submitForm"> </el-button> :label="dict.value"
<el-button @click="cancel"> </el-button> :key="dict.value"
</div> border
</el-form> size="small"
</el-drawer> >{{ dict.label }}</el-radio
<el-image-viewer >
v-if="showViewer" </el-form-item>
:on-close="closeViewer" <el-form-item label="审批意见" prop="comment">
:url-list="previewList" <el-input
style="z-index: 2050" type="textarea"
/> :rows="3"
</div> placeholder="请输入审批意见200字内"
</template> v-model="form.comment"
/>
<script> </el-form-item>
import { <div style="text-align: center;margin-bottom:20px;">
getProjectChecking, <el-button type="primary" @click="submitForm"> </el-button>
updateProjectChecking, <el-button @click="cancel"> </el-button>
} from "@/api/project/projectChecking"; </div>
import ElImageViewer from "element-ui/packages/image/src/image-viewer"; </el-form>
</el-drawer>
export default { <el-image-viewer
name: "approveCheckingDrawer", v-if="showViewer"
components: { :on-close="closeViewer"
ElImageViewer, :url-list="previewList"
style="z-index: 2050"
/>
</div>
</template>
<script>
import { getProjectChecking, updateProjectChecking } from "@/api/project/projectChecking";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
name: "approveCheckingDrawer",
components: {
ElImageViewer,
},
props: {
closeCallBack: {
type: Function,
}, },
props: { },
closeCallBack: { dicts: [
type: Function, "project_checking_result",
}, "project_checking_data_type_lvl1",
"project_checking_data_type_lvl2",
],
data() {
return {
showViewer: false,
open: false,
isOpen: false,
dataInfo: {
imageUrls: "",
},
title: "",
form: {},
rules: {
checkResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
},
computed: {},
mounted() {},
methods: {
getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },
dicts: ["project_checking_result","project_checking_data_type_lvl1","project_checking_data_type_lvl2"], onPreview(urls) {
data() { this.previewList = [];
return { urls.split(",").forEach((item) => {
showViewer: false, this.previewList.push(process.env.VUE_APP_BASE_API + item);
open: false, });
isOpen: false, this.showViewer = true;
dataInfo: {
imageUrls:""
},
title: "",
form: {},
rules: {
checkResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
}, },
computed: {}, closeViewer() {
mounted() {}, this.showViewer = false;
methods: { },
getImageUrl(url) { show(options) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; this.title = options.typeName;
}, this.isOpen = true;
onPreview(urls) { this.form = {};
this.previewList = []; this.form.id = options.id;
urls.split(",").forEach((item) => { getProjectChecking(options.id).then((res) => {
this.previewList.push(process.env.VUE_APP_BASE_API + item); this.dataInfo = res.data;
}); this.loading = false;
this.showViewer = true; });
}, },
closeViewer() { //
this.showViewer = false; cancel() {
}, this.isOpen = false;
show(options) { },
this.title = options.typeName; /** 提交按钮 */
this.isOpen = true; submitForm() {
this.form={}; this.$refs["form"].validate((valid) => {
this.form.id=options.id; if (valid) {
getProjectChecking(options.id) //
.then((res) => { let msg = "合格";
this.dataInfo = res.data; if (this.form.checkResult == "1") {
this.loading = false; this.form.approveStatus = "4";
}); } else {
}, msg = "不合格";
// this.form.approveStatus = "3";
cancel() {
this.open = false;
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
//
let msg = "合格";
if(this.form.checkResult=="1"){
this.form.approveStatus="4";
}else{
msg = "不合格";
this.form.approveStatus="3";
}
this.$confirm('是否确认审批'+msg+'?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading=true;
updateProjectChecking(this.form).then(res => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
}).catch(() => {
console.log("取消操作");
});
} }
}); this.$confirm("是否确认审批" + msg + "?", "提示", {
}, confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading = true;
updateProjectChecking(this.form).then((res) => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
})
.catch(() => {
console.log("取消操作");
});
}
});
}, },
}; },
</script> };
</script>

View File

@ -1,223 +1,228 @@
<template> <template>
<div class="projectect-attendance-drawer"> <div class="projectect-attendance-drawer">
<el-drawer <el-drawer
v-if="isOpen" v-if="isOpen"
:visible.sync="isOpen" :visible.sync="isOpen"
ref="drawer" ref="drawer"
direction="rtl" direction="rtl"
@close="closeCallBack" @close="closeCallBack"
size="50%" size="50%"
>
<template slot="title">
<div>{{ title + " 【处理审批】" }}</div>
</template>
<el-form
ref="form"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
style="padding-right: 20px; padding-left: 20px"
> >
<template slot="title"> <el-form-item label="项目名称">
<div>{{ title + " 【处理审批】" }}</div> {{ dataInfo.projectName }}
</template> </el-form-item>
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" label-width="80px" style="padding-right: 20px;padding-left: 20px;"> <el-form-item label="封样图片">
<el-form-item label="项目名称"> <el-image
{{dataInfo.projectName}} ref="preview"
v-for="(img, idx) in dataInfo.imageUrls.split(',')"
:key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"
></el-image>
</el-form-item>
<el-form-item label="封样名称">
{{ dataInfo.materialName }}
</el-form-item>
<el-form-item label="使用部位">
{{ dataInfo.usePosition }}
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="指定品牌">
{{ dataInfo.contractBrand }}
</el-form-item> </el-form-item>
<el-form-item label="封样图片"> </el-col>
<el-image <el-col :span="12">
ref="preview" <el-form-item label="拟用品牌">
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx" {{ dataInfo.useBrand }}
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"
></el-image>
</el-form-item> </el-form-item>
<el-form-item label="封样名称"> </el-col>
{{ dataInfo.materialName }} </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="提交用户">
{{ dataInfo.createBy }}
</el-form-item> </el-form-item>
<el-form-item label="使用部位"> </el-col>
{{ dataInfo.usePosition }} <el-col :span="12">
<el-form-item label="提交单位">
{{ dataInfo.deptName }}
</el-form-item> </el-form-item>
<el-row> </el-col>
<el-col :span="12"> </el-row>
<el-form-item label="指定品牌"> <el-form-item label="封样时间">
{{ dataInfo.contractBrand }} <span>{{ parseTime(dataInfo.sealDate, "{y}-{m}-{d} {h}:{i}") }}</span>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="会签单" v-if="dataInfo.signFiles != null">
<el-col :span="12"> <el-button
<el-form-item label="拟用品牌"> size="mini"
{{ dataInfo.useBrand }} type="text"
</el-form-item> icon="el-icon-paperclip"
</el-col> @click="handleDownload(dataInfo.signFiles)"
</el-row> >下载会签单</el-button
<el-row> >
<el-col :span="12"> </el-form-item>
<el-form-item label="提交用户"> <el-form-item label="变更单" v-if="dataInfo.alterationFiles != null">
{{ dataInfo.createBy }} <el-button
</el-form-item> size="mini"
</el-col> type="text"
<el-col :span="12"> icon="el-icon-paperclip"
<el-form-item label="提交单位"> @click="handleDownload(dataInfo.alterationFiles)"
{{ dataInfo.deptName }} >下载变更单</el-button
</el-form-item> >
</el-col> </el-form-item>
</el-row> <el-form-item label="封样结果" prop="materialResult">
<el-form-item label="封样时间"> <el-radio
<span>{{ parseTime(dataInfo.sealDate, "{y}-{m}-{d} {h}:{i}") }}</span> v-model="form.materialResult"
</el-form-item> v-for="dict in dict.type.project_checking_result"
<el-form-item label="会签单" v-if="dataInfo.signFiles != null"> :label="dict.value"
<el-button :key="dict.value"
size="mini" border
type="text" size="small"
icon="el-icon-paperclip" >{{ dict.label }}</el-radio
@click="handleDownload(dataInfo.signFiles)" >
>下载会签单</el-button </el-form-item>
> <el-form-item label="审批意见" prop="comment">
</el-form-item> <el-input
<el-form-item label="变更单" v-if="dataInfo.alterationFiles != null"> type="textarea"
<el-button :rows="3"
size="mini" placeholder="请输入审批意见200字内"
type="text" v-model="form.comment"
icon="el-icon-paperclip" />
@click="handleDownload(dataInfo.alterationFiles)" </el-form-item>
>下载变更单</el-button <div style="text-align: center;margin-bottom:20px;">
> <el-button type="primary" @click="submitForm"> </el-button>
</el-form-item> <el-button @click="cancel"> </el-button>
<el-form-item label="封样结果" prop="materialResult"> </div>
<el-radio </el-form>
v-model="form.materialResult" </el-drawer>
v-for="dict in dict.type.project_checking_result" <el-image-viewer
:label="dict.value" v-if="showViewer"
:key="dict.value" :on-close="closeViewer"
border :url-list="previewList"
size="small" style="z-index: 2050"
>{{ dict.label }}</el-radio />
> </div>
</el-form-item> </template>
<el-form-item label="审批意见" prop="comment">
<el-input <script>
type="textarea" import { getMaterialSeal, updateMaterialSeal } from "@/api/project/materialSeal";
:rows="3" import ElImageViewer from "element-ui/packages/image/src/image-viewer";
placeholder="请输入审批意见200字内"
v-model="form.comment" export default {
/> name: "approveMeasureDrawer",
</el-form-item> components: {
<div style="text-align: center"> ElImageViewer,
<el-button type="primary" @click="submitForm"> </el-button> },
<el-button @click="cancel"> </el-button> props: {
</div> closeCallBack: {
</el-form> type: Function,
</el-drawer>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="previewList"
style="z-index: 2050"
/>
</div>
</template>
<script>
import {
getMaterialSeal,
updateMaterialSeal,
} from "@/api/project/materialSeal";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
name: "approveMeasureDrawer",
components: {
ElImageViewer,
}, },
props: { },
closeCallBack: { dicts: ["project_checking_result"],
type: Function, data() {
}, return {
showViewer: false,
open: false,
isOpen: false,
dataInfo: {
imageUrls: "",
},
title: "",
form: {},
rules: {
materialResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
},
computed: {},
mounted() {},
methods: {
getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },
dicts: ["project_checking_result"], onPreview(urls) {
data() { this.previewList = [];
return { urls.split(",").forEach((item) => {
showViewer: false, this.previewList.push(process.env.VUE_APP_BASE_API + item);
open: false, });
isOpen: false, this.showViewer = true;
dataInfo: {
imageUrls:""
},
title: "",
form: {},
rules: {
materialResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
}, },
computed: {}, closeViewer() {
mounted() {}, this.showViewer = false;
methods: { },
getImageUrl(url) { show(options) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; this.title = options.typeName;
}, this.isOpen = true;
onPreview(urls) { this.form = {};
this.previewList = []; this.form.id = options.id;
urls.split(",").forEach((item) => { getMaterialSeal(options.id).then((res) => {
this.previewList.push(process.env.VUE_APP_BASE_API + item); this.dataInfo = res.data;
}); this.loading = false;
this.showViewer = true; });
}, },
closeViewer() { //
this.showViewer = false; cancel() {
}, this.isOpen = false;
show(options) { },
this.title = options.typeName; /** 下载附件 */
this.isOpen = true; handleDownload(val) {
this.form={}; let files = val.split(",");
this.form.id=options.id; files.forEach((item) => {
getMaterialSeal(options.id) this.$download.resource(item);
.then((res) => { });
this.dataInfo = res.data; },
this.loading = false; /** 提交按钮 */
}); submitForm() {
}, this.$refs["form"].validate((valid) => {
// if (valid) {
cancel() { //
this.open = false; let msg = "合格";
}, if (this.form.materialResult == "1") {
/** 下载附件 */ this.form.approveStatus = "4";
handleDownload(val) { } else {
let files = val.split(","); msg = "不合格";
files.forEach((item) => { this.form.approveStatus = "3";
this.$download.resource(item);
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
//
let msg = "合格";
if(this.form.materialResult=="1"){
this.form.approveStatus="4";
}else{
msg = "不合格";
this.form.approveStatus="3";
}
this.$confirm('是否确认审批'+msg+'?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading=true;
updateMaterialSeal(this.form).then(res => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
}).catch(() => {
console.log("取消操作");
});
} }
}); this.$confirm("是否确认审批" + msg + "?", "提示", {
}, confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading = true;
updateMaterialSeal(this.form).then((res) => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
})
.catch(() => {
console.log("取消操作");
});
}
});
}, },
}; },
</script> };
</script>

View File

@ -1,224 +1,251 @@
<template> <template>
<div class="projectect-attendance-drawer"> <div class="projectect-attendance-drawer">
<el-drawer <el-drawer
v-if="isOpen" v-if="isOpen"
:visible.sync="isOpen" :visible.sync="isOpen"
ref="drawer" ref="drawer"
direction="rtl" direction="rtl"
@close="closeCallBack" @close="closeCallBack"
size="50%" size="50%"
>
<template slot="title">
<div>{{ title + " 【处理审批】" }}</div>
</template>
<el-form
ref="form"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
style="padding-right: 20px; padding-left: 20px"
> >
<template slot="title"> <el-form-item label="项目名称">
<div>{{ title + " 【处理审批】" }}</div> {{ dataInfo.projectName }}
</template> </el-form-item>
<el-form ref="form" v-loading="loading" :model="form" :rules="rules" label-width="80px" style="padding-right: 20px;padding-left: 20px;"> <el-form-item label="测量图片">
<el-form-item label="项目名称"> <el-image
{{dataInfo.projectName}} ref="preview"
v-for="(img, idx) in dataInfo.imageUrls.split(',')"
:key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"
></el-image>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="测量类型">
<dict-tag
:options="dict.type.project_measure_type"
:value="dataInfo.measureType"
/>
</el-form-item> </el-form-item>
<el-form-item label="测量图片"> </el-col>
<el-image <el-col :span="12">
ref="preview" <el-form-item label="测量内容">
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx" <dict-tag
:src="getImageUrl(img)" :options="dict.type.project_measure_info_type"
style="width: 120px; height: 120px; margin-right: 15px" :value="dataInfo.measureInfo"
@click="onPreview(img)" />
></el-image>
</el-form-item> </el-form-item>
<el-row> </el-col>
<el-col :span="12"> </el-row>
<el-form-item label="测量类型"> <el-row>
<dict-tag <el-col :span="12">
:options="dict.type.project_measure_type" <el-form-item label="测量部位">
:value="dataInfo.measureType" {{ dataInfo.measurePosition }}
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="测量内容">
<dict-tag
:options="dict.type.project_measure_info_type"
:value="dataInfo.measureInfo"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="测量部位">
{{ dataInfo.measurePosition }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="测量点位">
{{ dataInfo.measurePointPosition }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="质量专员">
{{ dataInfo.qualityUserName }}
<el-tag type="info" size="mini">{{ dataInfo.qualityUser }}</el-tag>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监理专员">
{{ dataInfo.superviseUserName }}
<el-tag type="info" size="mini">{{ dataInfo.superviseUser }}</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="提交用户">
{{ dataInfo.createBy }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提交单位">
{{ dataInfo.deptName }}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="测量时间">
<span>{{ parseTime(dataInfo.measureTime, "{y}-{m}-{d} {h}:{i}") }}</span>
</el-form-item> </el-form-item>
<el-form-item label="测量结果" prop="measureResult"> </el-col>
<el-radio <el-col :span="12">
v-model="form.measureResult" <el-form-item label="测量点位">
v-for="dict in dict.type.project_checking_result" {{ dataInfo.measurePointPosition }}
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item> </el-form-item>
<el-form-item label="审批意见" prop="comment"> </el-col>
<el-input </el-row>
type="textarea" <el-row>
:rows="3" <el-col :span="12">
placeholder="请输入审批意见200字内" <el-form-item label="质量专员">
v-model="form.comment" {{ dataInfo.qualityUserName }}
/> <el-tag type="info" size="mini">{{ dataInfo.qualityUser }}</el-tag>
</el-form-item> </el-form-item>
<div style="text-align: center"> </el-col>
<el-button type="primary" @click="submitForm"> </el-button> <el-col :span="12">
<el-button @click="cancel"> </el-button> <el-form-item label="监理专员">
</div> {{ dataInfo.superviseUserName }}
</el-form> <el-tag type="info" size="mini">{{ dataInfo.superviseUser }}</el-tag>
</el-drawer> </el-form-item>
<el-image-viewer </el-col>
v-if="showViewer" </el-row>
:on-close="closeViewer" <el-row>
:url-list="previewList" <el-col :span="12">
style="z-index: 2050" <el-form-item label="提交用户">
/> {{ dataInfo.createBy }}
</div> </el-form-item>
</template> </el-col>
<el-col :span="12">
<script> <el-form-item label="提交单位">
import { {{ dataInfo.deptName }}
getProjectMeasure, </el-form-item>
updateProjectMeasure, </el-col>
} from "@/api/project/projectMeasure"; </el-row>
import ElImageViewer from "element-ui/packages/image/src/image-viewer"; <el-form-item label="测量时间">
<span>{{ parseTime(dataInfo.measureTime, "{y}-{m}-{d}") }}</span>
export default { </el-form-item>
name: "approveMeasureDrawer", <el-form-item label="测量附件">
components: { <div v-for="(file, index) in dataInfo.measureFiles.split(',')" :key="index">
ElImageViewer, <el-button
size="mini"
type="text"
icon="el-icon-paperclip"
@click="handledownload(file)"
>{{ file.substring(file.lastIndexOf("/") + 1) }}</el-button
>
</div>
</el-form-item>
<el-form-item label="测量结果" prop="measureResult">
<el-radio
v-model="form.measureResult"
v-for="dict in dict.type.project_checking_result"
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item>
<el-form-item label="审批意见" prop="comment">
<el-input
type="textarea"
:rows="3"
placeholder="请输入审批意见200字内"
v-model="form.comment"
/>
</el-form-item>
<div style="text-align: center;margin-bottom:20px;">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-form>
</el-drawer>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="previewList"
style="z-index: 2050"
/>
</div>
</template>
<script>
import { getProjectMeasure, updateProjectMeasure } from "@/api/project/projectMeasure";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
name: "approveMeasureDrawer",
components: {
ElImageViewer,
},
props: {
closeCallBack: {
type: Function,
}, },
props: { },
closeCallBack: { dicts: ["project_measure_type", "project_checking_result", "project_measure_info_type"],
type: Function, data() {
}, return {
showViewer: false,
open: false,
isOpen: false,
dataInfo: {
imageUrls: "",
},
title: "",
form: {},
rules: {
measureResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
fileTypes: ["pdf", "png", "jpg", "jpeg"],
};
},
computed: {},
mounted() {},
methods: {
getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },
dicts: ["project_measure_type", "project_checking_result", "project_measure_info_type"], onPreview(urls) {
data() { this.previewList = [];
return { urls.split(",").forEach((item) => {
showViewer: false, this.previewList.push(process.env.VUE_APP_BASE_API + item);
open: false, });
isOpen: false, this.showViewer = true;
dataInfo: {
imageUrls:""
},
title: "",
form: {},
rules: {
measureResult: [{ required: true, message: "请选择测量结果", trigger: "blur" }],
comment: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
{ max: 200, message: "审批意见最多200字符", trigger: "blur" },
],
},
//
loading: true,
previewList: [],
};
}, },
computed: {}, closeViewer() {
mounted() {}, this.showViewer = false;
methods: { },
getImageUrl(url) { show(options) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; this.title = options.typeName;
}, this.isOpen = true;
onPreview(urls) { this.form = {};
this.previewList = []; this.form.id = options.id;
urls.split(",").forEach((item) => { getProjectMeasure(options.id).then((res) => {
this.previewList.push(process.env.VUE_APP_BASE_API + item); this.dataInfo = res.data;
}); this.loading = false;
this.showViewer = true; });
}, },
closeViewer() { //
this.showViewer = false; cancel() {
}, this.isOpen = false;
show(options) { },
this.title = options.typeName; /** 提交按钮 */
this.isOpen = true; submitForm() {
this.form={}; this.$refs["form"].validate((valid) => {
this.form.id=options.id; if (valid) {
getProjectMeasure(options.id) //
.then((res) => { let msg = "合格";
this.dataInfo = res.data; if (this.form.measureResult == "1") {
this.loading = false; this.form.approveStatus = "4";
}); } else {
}, msg = "不合格";
// this.form.approveStatus = "3";
cancel() {
this.open = false;
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
//
let msg = "合格";
if(this.form.measureResult=="1"){
this.form.approveStatus="4";
}else{
msg = "不合格";
this.form.approveStatus="3";
}
this.$confirm('是否确认审批'+msg+'?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading=true;
updateProjectMeasure(this.form).then(res => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
}).catch(() => {
console.log("取消操作");
});
} }
}); this.$confirm("是否确认审批" + msg + "?", "提示", {
}, confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading = true;
updateProjectMeasure(this.form).then((res) => {
this.$modal.msgSuccess("审批成功");
this.loading = false;
//
this.$refs.drawer.closeDrawer();
});
})
.catch(() => {
console.log("取消操作");
});
}
});
}, },
}; handledownload(url) {
</script> let fileType = url.split(".");
if (
this.fileTypes.indexOf(fileType[fileType.length - 1].toLocaleLowerCase()) > -1
) {
window.open(process.env.VUE_APP_BASE_API + url);
} else {
this.$download.resource(url);
}
},
},
};
</script>

View File

@ -233,7 +233,7 @@
/> />
<el-table-column label="测量时间" align="center" prop="measureTime" width="160"> <el-table-column label="测量时间" align="center" prop="measureTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d} {h}:{i}") }}</span> <span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批状态" align="center" prop="approveStatus" width="120"> <el-table-column label="审批状态" align="center" prop="approveStatus" width="120">
@ -285,7 +285,6 @@
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" /> <dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
@ -375,6 +374,7 @@
v-model="form.measureType" v-model="form.measureType"
placeholder="请选择测量类型" placeholder="请选择测量类型"
style="width: 100%" style="width: 100%"
@change="selectMeasureType"
> >
<el-option <el-option
v-for="dict in dict.type.project_measure_type" v-for="dict in dict.type.project_measure_type"
@ -392,6 +392,7 @@
> >
<el-option <el-option
v-for="dict in dict.type.project_measure_info_type" v-for="dict in dict.type.project_measure_info_type"
v-show="showInfoType(dict)"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
@ -454,27 +455,15 @@
<el-date-picker <el-date-picker
clearable clearable
v-model="form.measureTime" v-model="form.measureTime"
type="datetime" type="date"
default-time="10:00:00" value-format="yyyy-MM-dd"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择测量时间" placeholder="请选择测量时间"
style="width: 100%" style="width: 100%"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="测量结果" prop="measureResult" v-if="false"> <el-form-item label="测量附件" prop="measureFiles">
<el-radio <file-upload v-model="form.measureFiles" :limit="9" @input="fileInput"/>
v-model="form.measureResult"
v-for="dict in dict.type.project_checking_result"
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item>
<el-form-item label="测量附件" prop="measureFiles" v-if="false">
<file-upload v-model="form.measureFiles" :limit="1" @input="fileInput" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -604,6 +593,20 @@ export default {
} }
this.form.measureFiles = fileUrls; this.form.measureFiles = fileUrls;
}, },
selectMeasureType(val){
this.form.measureInfo=null;
},
showInfoType(dict){
if(this.form.measureType){
if(this.form.measureType=='6'){
return dict.raw.remark == 'gjgc';
}else{
return !dict.raw.remark;
}
}else{
return false;
}
},
getImageUrl(url) { getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },

View File

@ -118,7 +118,7 @@
/> />
<el-table-column label="测量时间" align="center" prop="measureTime" width="160"> <el-table-column label="测量时间" align="center" prop="measureTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d} {h}:{i}") }}</span> <span>{{ parseTime(scope.row.measureTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -244,6 +244,7 @@
v-model="form.measureType" v-model="form.measureType"
placeholder="请选择测量类型" placeholder="请选择测量类型"
style="width: 100%" style="width: 100%"
@change="selectMeasureType"
> >
<el-option <el-option
v-for="dict in dict.type.project_measure_type" v-for="dict in dict.type.project_measure_type"
@ -261,6 +262,7 @@
> >
<el-option <el-option
v-for="dict in dict.type.project_measure_info_type" v-for="dict in dict.type.project_measure_info_type"
v-show="showInfoType(dict)"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
@ -323,27 +325,15 @@
<el-date-picker <el-date-picker
clearable clearable
v-model="form.measureTime" v-model="form.measureTime"
type="datetime" type="date"
default-time="10:00:00" value-format="yyyy-MM-dd"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择测量时间" placeholder="请选择测量时间"
style="width: 100%" style="width: 100%"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="测量结果" prop="measureResult" v-if="false"> <el-form-item label="测量附件" prop="measureFiles">
<el-radio <file-upload v-model="form.measureFiles" :limit="9" @input="fileInput"/>
v-model="form.measureResult"
v-for="dict in dict.type.project_checking_result"
:label="dict.value"
:key="dict.value"
border
size="small"
>{{ dict.label }}</el-radio
>
</el-form-item>
<el-form-item label="测量附件" prop="measureFiles" v-if="false">
<file-upload v-model="form.measureFiles" :limit="1" @input="fileInput" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -390,7 +380,7 @@ export default {
title: "", title: "",
isUnit: true, isUnit: true,
nodes: [], nodes: [],
form: {}, form: {measureType:"",measureInfo:""},
rules: { rules: {
imageUrls: [{ required: true, message: "请上传测量图片", trigger: "blur" }], imageUrls: [{ required: true, message: "请上传测量图片", trigger: "blur" }],
measureType: [{ required: true, message: "请选择测量类型", trigger: "blur" }], measureType: [{ required: true, message: "请选择测量类型", trigger: "blur" }],
@ -443,7 +433,6 @@ export default {
}, },
computed: {}, computed: {},
mounted() {}, mounted() {},
methods: { methods: {
fileInput(files) { fileInput(files) {
let fileUrls = null; let fileUrls = null;
@ -456,6 +445,20 @@ export default {
} }
this.form.measureFiles = fileUrls; this.form.measureFiles = fileUrls;
}, },
selectMeasureType(val){
this.form.measureInfo="";
},
showInfoType(dict){
if(this.form.measureType){
if(this.form.measureType=='6'){
return dict.raw.remark == 'gjgc';
}else{
return dict.raw.remark == null;
}
}else{
return false;
}
},
getImageUrl(url) { getImageUrl(url) {
return process.env.VUE_APP_BASE_API + url + ".min.jpg"; return process.env.VUE_APP_BASE_API + url + ".min.jpg";
}, },
@ -542,7 +545,8 @@ export default {
id: null, id: null,
projectId: null, projectId: null,
deptId: null, deptId: null,
insuranceType: null, insuranceType: "",
measureInfo: "",
insuranceNumber: null, insuranceNumber: null,
insuranceFile: null, insuranceFile: null,
insuranceState: null, insuranceState: null,

View File

@ -187,7 +187,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="上传文件" prop="fileData"> <el-form-item label="上传文件" prop="fileData">
<FileUpload @input="fileInput" :fileSize="200"/> <FileUpload @input="fileInput" :fileSize="200" :fileType="['pdf', 'doc', 'docx', 'xls', 'xlsx']"/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea"/> <el-input v-model="form.remark" placeholder="请输入备注" type="textarea"/>

View File

@ -8,6 +8,7 @@ import com.yanzhu.jh.work.service.IWorkFileService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -32,9 +33,11 @@ public class ProjectFilesController extends BaseController {
* workFile * workFile
*/ */
@GetMapping("/list") @GetMapping("/list")
public AjaxResult list(WorkFile workFile) public TableDataInfo list(WorkFile workFile)
{ {
return success(workFileService.selectWorkFileList(workFile)); startPage();
List<WorkFile> list = workFileService.selectWorkFileList(workFile);
return getDataTable(list);
} }
/** /**
@ -44,7 +47,17 @@ public class ProjectFilesController extends BaseController {
*/ */
@GetMapping("/findCountByType") @GetMapping("/findCountByType")
public AjaxResult findCountByType(WorkFile workFile){ public AjaxResult findCountByType(WorkFile workFile){
clearPage();
return success(workFileService.findCountByType(workFile)); return success(workFileService.findCountByType(workFile));
} }
/**
*
* @return
*/
@GetMapping("/readFile/{id}")
public AjaxResult workFileRead(@PathVariable("id") Long id){
return success(workFileService.openWorkFile(id));
}
} }