qa-prevention-xgf-app/pages/hidden_rectification/rectification.vue

438 lines
13 KiB
Vue

<template>
<view class="content">
<view class="card">
<app-hidden-view
:hidden-id="hiddenId"
@throw-basic-info="info = $event.pd"
/>
<view class="card">
<u-form
ref="formRef"
label-position="left"
:model="form"
:rules="rules"
label-width="auto"
>
<u-form-item label="是否正常整改" prop="IS_NORMAL" required>
<u-radio-group v-model="form.IS_NORMAL" direction="horizontal">
<u-radio name="1" label="是" value="1"/>
<u-radio name="2" label="否" value="2"/>
</u-radio-group>
</u-form-item>
<u-line/>
<block v-if="form.IS_NORMAL === '2'">
<u-form-item
label="无法整改原因"
label-position="top"
prop="disposalPlan"
required
>
<u-textarea
v-model="form.disposalPlan"
placeholder="请输入无法整改原因"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
</block>
<block v-if="form.IS_NORMAL === '1'">
<u-divider text-position="left" text="隐患整改"></u-divider>
<u-form-item
label="隐患整改详细描述"
label-position="top"
prop="RECTIFYDESCR"
required
>
<u-textarea
v-model="form.RECTIFYDESCR"
placeholder="请输入隐患整改详细描述"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<app-time
v-model="form.RECTIFICATIONTIME"
prop="RECTIFICATIONTIME"
mode="date"
label="整改日期"
/>
<u-form-item label="投入资金(元)" prop="INVEST_FUNDS" required>
<u-input
v-model="form.INVEST_FUNDS"
placeholder="请输入投入资金"
border="none"
type="number"
input-align="right"
/>
</u-form-item>
<u-line/>
<app-upload
v-model="form.afterRectificationFile"
label="整改后照片"
prop="afterRectificationFile"
/>
<u-form-item label="是否有整改方案" prop="HAVESCHEME" required>
<u-radio-group v-model="form.HAVESCHEME" direction="horizontal">
<u-radio name="1" label="是"/>
<u-radio name="0" label="否"/>
</u-radio-group>
</u-form-item>
<u-line/>
<block v-if="form.HAVESCHEME === '1'">
<u-cell-group :border="false">
<u-cell title="排查日期" :value="info.CREATTIME"/>
<u-cell title="隐患清单" :value="info.LIST_NAME"/>
</u-cell-group>
<u-form-item
label="治理标准"
label-position="top"
prop="GOVERNSTANDARDS"
required
>
<u-textarea
v-model="form.GOVERNSTANDARDS"
placeholder="请输入治理标准"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="治理方法"
label-position="top"
prop="GOVERNMETHOD"
required
>
<u-textarea
v-model="form.GOVERNMETHOD"
placeholder="请输入治理方法"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="经费落实"
label-position="top"
prop="EXPENDITURE"
required
>
<u-textarea
v-model="form.EXPENDITURE"
placeholder="请输入经费落实"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="负责人员"
label-position="top"
prop="PRINCIPAL"
required
>
<u-textarea
v-model="form.PRINCIPAL"
placeholder="请输入负责人员"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="工时安排"
label-position="top"
prop="PROGRAMMING"
required
>
<u-textarea
v-model="form.PROGRAMMING"
placeholder="请输入工时安排"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="时限要求"
label-position="top"
prop="TIMELIMITFOR"
required
>
<u-textarea
v-model="form.TIMELIMITFOR"
placeholder="请输入时限要求"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="工作要求"
label-position="top"
prop="JOBREQUIREMENT"
required
>
<u-textarea
v-model="form.JOBREQUIREMENT"
placeholder="请输入工作要求"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<u-form-item
label="其它事项"
label-position="top"
prop="OTHERBUSINESS"
required
>
<u-textarea
v-model="form.OTHERBUSINESS"
placeholder="请输入其它事项"
border="none"
auto-height
/>
</u-form-item>
<u-line/>
<app-upload
v-model="form.programmeFile"
label="方案照片"
prop="programmeFile"
/>
</block>
</block>
<view class="mt-10">
<u-button
type="primary"
shape="circle"
text="提交"
:throttle-time="1000"
@click="fnSubmit"
/>
</view>
</u-form>
</view>
</view>
</view>
</template>
<script>
import AppHiddenView from '@/components/hidden_view/index.vue'
import AppTime from "@/components/time/index.vue";
import AppUpload from "@/components/upload/index.vue";
import AppDepartment from "@/components/department/index.vue";
import AppPersonnel from "@/components/personnel/index.vue";
import {fileUpload, setHiddenNuRectificationSubmit, setHiddenRectificationSubmit} from "@/api/api";
export default {
components: {
AppHiddenView,
AppTime,
AppUpload,
},
data() {
return {
hiddenId: '',
info: {},
form: {
IS_NORMAL: "1",
disposalPlan: "",
RECTIFYDESCR: "",
RECTIFICATIONTIME: "",
INVEST_FUNDS: "",
afterRectificationFile: [],
HAVESCHEME: "0",
GOVERNSTANDARDS: "",
GOVERNMETHOD: "",
EXPENDITURE: "",
PRINCIPAL: "",
PROGRAMMING: "",
TIMELIMITFOR: "",
JOBREQUIREMENT: "",
OTHERBUSINESS: "",
programmeFile: [],
},
rules: {
IS_NORMAL: {
type: "string",
required: true,
message: "请选择是否正常整改",
trigger: ["blur", "change"],
},
disposalPlan: {
type: "string",
required: true,
message: "请输入无法整改原因",
trigger: ["blur", "change"],
},
RECTIFYDESCR: {
type: "string",
required: true,
message: "请输入隐患整改详细描述",
trigger: ["blur", "change"],
},
RECTIFICATIONTIME: {
type: "string",
required: true,
message: "请选择整改日期",
trigger: ["blur", "change"],
},
INVEST_FUNDS: {
type: "number",
required: true,
message: "请输入投入资金",
trigger: ["blur", "change"],
},
afterRectificationFile: {
type: "array",
required: true,
message: "请上传整改后照片",
trigger: ["blur", "change"],
},
HAVESCHEME: {
type: "string",
required: true,
message: "请选择是否有整改方案",
trigger: ["blur", "change"],
},
GOVERNSTANDARDS: {
type: "string",
required: true,
message: "请输入治理标准",
trigger: ["blur", "change"],
},
GOVERNMETHOD: {
type: "string",
required: true,
message: "请输入治理方法",
trigger: ["blur", "change"],
},
EXPENDITURE: {
type: "string",
required: true,
message: "请输入经费落实",
trigger: ["blur", "change"],
},
PRINCIPAL: {
type: "string",
required: true,
message: "请输入负责人员",
trigger: ["blur", "change"],
},
PROGRAMMING: {
type: "string",
required: true,
message: "请输入工时安排",
trigger: ["blur", "change"],
},
TIMELIMITFOR: {
type: "string",
required: true,
message: "请输入时限要求",
trigger: ["blur", "change"],
},
JOBREQUIREMENT: {
type: "string",
required: true,
message: "请输入工作要求",
trigger: ["blur", "change"],
},
OTHERBUSINESS: {
type: "string",
required: true,
message: "请输入其它事项",
trigger: ["blur", "change"],
},
programmeFile: {
type: "array",
required: true,
message: "请上传方案照片",
trigger: ["blur", "change"],
},
}
}
},
onLoad(query) {
this.hiddenId = query.HIDDEN_ID
},
methods: {
async fnSubmit() {
const isValidate = await this.$refs.formRef.validate()
if (!isValidate) return;
if (this.form.IS_NORMAL === 1 || this.form.IS_NORMAL === "1") {
await setHiddenRectificationSubmit({
HIDDEN_ID: this.hiddenId,
...this.form,
SCREENINGDATE: this.info.CREATTIME,
LISTNAME: this.info.LIST_NAME,
IS_XGF: "1",
});
for (let i = 0; i < this.form.afterRectificationFile.length; i++) {
await this.fnUploadFile(
this.form.afterRectificationFile[i].url,
this.hiddenId,
4
);
}
for (let i = 0; i < this.form.programmeFile.length; i++) {
await this.fnUploadFile(this.form.programmeFile[i].url, this.hiddenId, 8);
}
uni.showToast({
icon: "none",
title: "提交成功",
});
setTimeout(() => {
uni.navigateBack();
}, 1000);
} else {
if (!this.form.disposalPlan) {
uni.showToast({
icon: "none",
title: "请输入无法整改原因",
});
}
const data = await setHiddenNuRectificationSubmit({
disposalPlan: this.form.disposalPlan,
HIDDEN_ID: this.hiddenId,
USER_ID: this.$store.getters.getUserInfo.USER_ID,
USERNAME: this.$store.getters.getUserInfo.USERNAME,
postMethod: 'application/json',
});
if (data.result === "success") {
uni.showToast({
icon: "none",
title: data.msg,
});
setTimeout(() => {
uni.navigateBack();
}, 1000);
} else {
uni.showToast({
icon: "none",
title: "系统异常:" + data.msg,
});
}
}
},
async fnUploadFile(filePath, FOREIGN_KEY, TYPE) {
await fileUpload({
filePath,
name: "file",
formData: {
foreignKey: FOREIGN_KEY,
corpInfoId: this.$store.getters.getUserInfo.CORPINFO_ID,
type: TYPE,
},
});
}
},
}
</script>
<style scoped lang="scss">
</style>