|
|
|
|
@ -83,25 +83,59 @@ export default {
|
|
|
|
|
ref={`expand-form${$index}`}
|
|
|
|
|
props={{ model: row._form }}
|
|
|
|
|
rules={{
|
|
|
|
|
socre: [{ required: true, message: "请输入自评值", trigger: "blur" }],
|
|
|
|
|
evaluation_main: [{ required: true, message: "请输入评价要点及评分规则", trigger: "blur" }],
|
|
|
|
|
socre: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.type === 1) {
|
|
|
|
|
callback()
|
|
|
|
|
} else {
|
|
|
|
|
if (value) {
|
|
|
|
|
callback()
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("请输入自评值"))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
evaluation_main: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.type === 1) {
|
|
|
|
|
callback()
|
|
|
|
|
} else {
|
|
|
|
|
if (value) {
|
|
|
|
|
callback()
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("请输入评价要点及评分规则"))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
result: [{ required: true, message: "请输入实际完成值", trigger: "blur" }],
|
|
|
|
|
}}
|
|
|
|
|
label-width="120px"
|
|
|
|
|
>
|
|
|
|
|
<el-form-item label="评价要点及评分规则" prop="evaluation_main" required={true}>
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
autosize={{
|
|
|
|
|
minRows: 3,
|
|
|
|
|
}}
|
|
|
|
|
v-model={row._form.evaluation_main}
|
|
|
|
|
size="small"
|
|
|
|
|
placeholder="请输入评价要点及评分规则"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
{
|
|
|
|
|
this.type !== 1 ? (
|
|
|
|
|
<el-form-item label="评价要点及评分规则" prop="evaluation_main" required={true}>
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
autosize={{
|
|
|
|
|
minRows: 3,
|
|
|
|
|
}}
|
|
|
|
|
v-model={row._form.evaluation_main}
|
|
|
|
|
size="small"
|
|
|
|
|
placeholder="请输入评价要点及评分规则"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<el-form-item label="实际完成值" prop="result" required={true}>
|
|
|
|
|
<el-form-item label={ this.type === 1 ? "半年实际执行值" : "实际完成值" } prop="result" required={true}>
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
autosize={{
|
|
|
|
|
@ -109,65 +143,99 @@ export default {
|
|
|
|
|
}}
|
|
|
|
|
v-model={row._form.result}
|
|
|
|
|
size="small"
|
|
|
|
|
placeholder="请输入实际完成值"
|
|
|
|
|
placeholder={ this.type === 1 ? "请输入半年实际执行值" : "请输入实际完成值" }
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="得分" prop="socre" required={true}>
|
|
|
|
|
<el-input-number
|
|
|
|
|
precision={2}
|
|
|
|
|
controls={false}
|
|
|
|
|
vModel={row._form.socre}
|
|
|
|
|
size="small"
|
|
|
|
|
min={0}
|
|
|
|
|
max={100}
|
|
|
|
|
placeholder="请输入自评值"
|
|
|
|
|
></el-input-number>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
{
|
|
|
|
|
this.type !== 1 ? (
|
|
|
|
|
<el-form-item label="得分" prop="socre" required={true}>
|
|
|
|
|
<el-input-number
|
|
|
|
|
precision={2}
|
|
|
|
|
controls={false}
|
|
|
|
|
vModel={row._form.socre}
|
|
|
|
|
size="small"
|
|
|
|
|
min={0}
|
|
|
|
|
max={100}
|
|
|
|
|
placeholder="请输入自评值"
|
|
|
|
|
></el-input-number>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<el-form-item label="备注及未完成指标原因分析">
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
autosize={{
|
|
|
|
|
minRows: 3,
|
|
|
|
|
}}
|
|
|
|
|
v-model={row._form.remark}
|
|
|
|
|
size="small"
|
|
|
|
|
placeholder="请输入备注及未完成指标原因分析"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
{
|
|
|
|
|
this.type !== 1 ? (
|
|
|
|
|
<el-form-item label="备注及未完成指标原因分析">
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
autosize={{
|
|
|
|
|
minRows: 3,
|
|
|
|
|
}}
|
|
|
|
|
v-model={row._form.remark}
|
|
|
|
|
size="small"
|
|
|
|
|
placeholder="请输入备注及未完成指标原因分析"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<el-form-item label="文件" required={true}>
|
|
|
|
|
<el-upload
|
|
|
|
|
style="width: 300px"
|
|
|
|
|
ref={`expand-form-upload${$index}`}
|
|
|
|
|
multiple={true}
|
|
|
|
|
headers={{
|
|
|
|
|
Authorization: "Bearer " + getToken(),
|
|
|
|
|
}}
|
|
|
|
|
before-upload={this.uploadBefore}
|
|
|
|
|
props={{
|
|
|
|
|
onSuccess: (response, file, fileList) => {
|
|
|
|
|
this.successHandle(response, file, fileList, row);
|
|
|
|
|
},
|
|
|
|
|
onRemove: (file, fileList) => {
|
|
|
|
|
this.removeHande(file, fileList, row);
|
|
|
|
|
},
|
|
|
|
|
}}
|
|
|
|
|
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,image/*,application/x-rar-compressed,application/zip,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf"
|
|
|
|
|
action={this.action}
|
|
|
|
|
file-list={row._fileList}
|
|
|
|
|
>
|
|
|
|
|
<el-button slot="trigger" size="small" type="primary">
|
|
|
|
|
选取文件
|
|
|
|
|
</el-button>
|
|
|
|
|
<div slot="tip" className="el-upload__tip">
|
|
|
|
|
支持文件格式:.rar .zip .doc .docx .xlsx .pdf .png .jpg
|
|
|
|
|
<br />
|
|
|
|
|
单个文件不能超过50Mb
|
|
|
|
|
</div>
|
|
|
|
|
</el-upload>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
{
|
|
|
|
|
this.type === 1 ? (
|
|
|
|
|
<el-form-item label="是否偏差">
|
|
|
|
|
<el-switch v-model={row._form.is_deviation} active-text="是" active-value={1} inactive-text="否" inactive-value={0}></el-switch>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
this.type === 1 ? (
|
|
|
|
|
<el-form-item label="完成可能性">
|
|
|
|
|
<el-select size="small" v-model={row._form.end_possibility}>
|
|
|
|
|
{
|
|
|
|
|
["确定能", "有可能", "完全不可能"].map((item, index) => (
|
|
|
|
|
<el-option key={index} label={item} value={index}></el-option>
|
|
|
|
|
))
|
|
|
|
|
}
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
this.type !== 1 ? (
|
|
|
|
|
<el-form-item label="文件" required={true}>
|
|
|
|
|
<el-upload
|
|
|
|
|
style="width: 300px"
|
|
|
|
|
ref={`expand-form-upload${$index}`}
|
|
|
|
|
multiple={true}
|
|
|
|
|
headers={{
|
|
|
|
|
Authorization: "Bearer " + getToken(),
|
|
|
|
|
}}
|
|
|
|
|
before-upload={this.uploadBefore}
|
|
|
|
|
props={{
|
|
|
|
|
onSuccess: (response, file, fileList) => {
|
|
|
|
|
this.successHandle(response, file, fileList, row);
|
|
|
|
|
},
|
|
|
|
|
onRemove: (file, fileList) => {
|
|
|
|
|
this.removeHande(file, fileList, row);
|
|
|
|
|
},
|
|
|
|
|
}}
|
|
|
|
|
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,image/*,application/x-rar-compressed,application/zip,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf"
|
|
|
|
|
action={this.action}
|
|
|
|
|
file-list={row._fileList}
|
|
|
|
|
>
|
|
|
|
|
<el-button slot="trigger" size="small" type="primary">
|
|
|
|
|
选取文件
|
|
|
|
|
</el-button>
|
|
|
|
|
<div slot="tip" className="el-upload__tip">
|
|
|
|
|
支持文件格式:.rar .zip .doc .docx .xlsx .pdf .png .jpg
|
|
|
|
|
<br />
|
|
|
|
|
单个文件不能超过50Mb
|
|
|
|
|
</div>
|
|
|
|
|
</el-upload>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
) : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button
|
|
|
|
|
@ -176,7 +244,7 @@ export default {
|
|
|
|
|
["click"]: (e) => {
|
|
|
|
|
this.$refs[`expand-form${$index}`].validate((valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
if (!row._fileList || row._fileList.length === 0) {
|
|
|
|
|
if ((!row._fileList || row._fileList.length === 0) && this.type !== 1) {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: "warning",
|
|
|
|
|
message: "请上传文件",
|
|
|
|
|
@ -353,6 +421,8 @@ export default {
|
|
|
|
|
result: "",
|
|
|
|
|
remark: "",
|
|
|
|
|
type: this.type,
|
|
|
|
|
is_deviation: 0,
|
|
|
|
|
end_possibility: 1,
|
|
|
|
|
file_ids: [],
|
|
|
|
|
plan_id: this.getPlanId(),
|
|
|
|
|
plan_target_id: item.id,
|
|
|
|
|
@ -390,7 +460,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
tableItem () {
|
|
|
|
|
let temp = this.table
|
|
|
|
|
let temp = this.type
|
|
|
|
|
return [
|
|
|
|
|
...this.table,
|
|
|
|
|
{
|
|
|
|
|
|