Merge branch 'master' of https://e.coding.net/ctcdevteam/ehs/ehs_web
fix: edu/train
This commit is contained in:
commit
d1844a2104
|
@ -86,6 +86,39 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
checktaskset: {
|
||||
list: {
|
||||
name: "列表",
|
||||
req: async function(data){
|
||||
return await http.get(
|
||||
`${config.API_URL}/dpm/checktaskset/`,
|
||||
data
|
||||
);
|
||||
}
|
||||
},
|
||||
create: {
|
||||
name: "创建",
|
||||
req: async function(data){
|
||||
return await http.post(
|
||||
`${config.API_URL}/dpm/checktaskset/`,
|
||||
data);
|
||||
}
|
||||
},
|
||||
delete: {
|
||||
name: "删除",
|
||||
req: async function(id){
|
||||
return await http.delete(
|
||||
`${config.API_URL}/dpm/checktaskset/${id}/`);
|
||||
}
|
||||
},
|
||||
toggle: {
|
||||
name: "变更",
|
||||
req: async function(id){
|
||||
return await http.put(
|
||||
`${config.API_URL}/dpm/checktaskset/${id}/toggle/`);
|
||||
}
|
||||
},
|
||||
},
|
||||
checkwork: {
|
||||
list: {
|
||||
name: "列表",
|
||||
|
|
|
@ -184,4 +184,4 @@ export const schedulePeriodEnum = new EnumFactory({
|
|||
'minutes': '分钟',
|
||||
'hours': '小时',
|
||||
'days': '天',
|
||||
}, parseInt)
|
||||
})
|
|
@ -20,15 +20,21 @@
|
|||
width="80"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="期限(h)"
|
||||
label="限期(h)"
|
||||
prop="expire"
|
||||
width="80"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="启用"
|
||||
prop="enabled"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
><template #default="scope">
|
||||
<el-icon v-if="scope.row.enabled" color="green"
|
||||
><CircleCheckFilled
|
||||
/></el-icon>
|
||||
<el-icon v-else color="red"
|
||||
><CircleCloseFilled
|
||||
/></el-icon>
|
||||
</template></el-table-column>
|
||||
<el-table-column
|
||||
label="派发次数"
|
||||
prop="total_run_count"
|
||||
|
@ -38,6 +44,40 @@
|
|||
label="最近派发"
|
||||
prop="last_run_at"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-popconfirm
|
||||
title="确定停用/启用吗?"
|
||||
@confirm="table_toggle(scope.row, scope.$index)"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
v-auth="'checktaskset.update'"
|
||||
type="warning"
|
||||
icon="el-icon-opportunity"
|
||||
></el-button
|
||||
>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
<el-popconfirm
|
||||
title="确定删除吗?"
|
||||
@confirm="table_del(scope.row, scope.$index)"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
v-auth="'checktaskset.delete'"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
></el-button
|
||||
>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -52,18 +92,27 @@ export default {
|
|||
riskLevelEnum,
|
||||
manageLevelEnum,
|
||||
riskTypeEnum,
|
||||
apiObj: this.$API.dpm.risk.list,
|
||||
apiObj: this.$API.dpm.checktaskset.list,
|
||||
params: { riskpoint: this.rpId },
|
||||
query: {
|
||||
search: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {},
|
||||
created() {},
|
||||
mounted() {},
|
||||
computed: {},
|
||||
watch: {},
|
||||
components: {},
|
||||
methods: {
|
||||
handleQuery() {
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
table_del(row) {
|
||||
this.$API.dpm.checktaskset.delete.req(row.id).then(() => {
|
||||
this.handleQuery();
|
||||
});
|
||||
},
|
||||
table_toggle(row) {
|
||||
this.$API.dpm.checktaskset.toggle.req(row.id).then(res=>{
|
||||
this.handleQuery();
|
||||
})
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -9,11 +9,61 @@
|
|||
hideDo
|
||||
style="height: 400px"
|
||||
>
|
||||
<el-table-column
|
||||
label="排序"
|
||||
prop="sort"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="名称"
|
||||
prop="name"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="等级"
|
||||
prop="level"
|
||||
width="100"
|
||||
><template #default="scope"
|
||||
><el-tag
|
||||
:type="riskLevelEnum[scope.row.level]?.type"
|
||||
>{{
|
||||
riskLevelEnum[scope.row.level]?.text
|
||||
}}</el-tag
|
||||
>
|
||||
</template></el-table-column>
|
||||
<el-table-column
|
||||
label="LECD值"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{scope.row.riskl}}*{{scope.row.riske}}*{{scope.row.riskc}}={{scope.row.riskd}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="80">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
@click="table_edit(scope.row)"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
></el-button>
|
||||
<el-popconfirm
|
||||
title="确定删除吗?"
|
||||
@confirm="
|
||||
table_del(scope.row, scope.$index)
|
||||
"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
></el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -33,11 +83,19 @@ export default {
|
|||
},
|
||||
};
|
||||
},
|
||||
methods: {},
|
||||
created() {},
|
||||
mounted() {},
|
||||
computed: {},
|
||||
watch: {},
|
||||
components: {},
|
||||
methods: {
|
||||
handleQuery() {
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
table_edit(row) {
|
||||
this.$emit("updateRisk", row);
|
||||
},
|
||||
table_del(row) {
|
||||
this.$API.dpm.risk.delete.req(row.id).then(() => {
|
||||
this.handleQuery();
|
||||
this.$message.success("删除成功");
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
<template>
|
||||
<el-form>
|
||||
<el-form :model="saveForm" label-width="120px" ref="saveForm">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目/步骤" required>
|
||||
<el-input v-model="saveForm.name" type="textarea" :rows="1"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="检查标准">
|
||||
<el-input v-model="saveForm.standard" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="危害因素">
|
||||
<el-input v-model="saveForm.hazard_factors" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="可能后果">
|
||||
<el-select v-model="saveForm.results" multiple>
|
||||
<el-option v-for="item in resultOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="lecd判定" required>
|
||||
<el-input-number :min="0" :precision="1" :step="0.1" controls-position="right" v-model="saveForm.riskl" placeholder="L值"/>
|
||||
<el-input-number :min="0" :precision="1" :step="0.1" controls-position="right" v-model="saveForm.riske" placeholder="E值" style="margin-left: 2px"/>
|
||||
<el-input-number :min="0" :precision="1" :step="0.1" controls-position="right" v-model="saveForm.riskc" placeholder="C值" style="margin-left: 2px"/>
|
||||
<span style="margin-left: 6px">D值: <span v-if="saveForm.riskl*saveForm.riske*saveForm.riskc">{{saveForm.riskl*saveForm.riske*saveForm.riskc}}</span></span>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" required>
|
||||
<el-input-number :min="0" controls-position="right" v-model="saveForm.sort"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工程技术措施" required>
|
||||
<el-input v-model="saveForm.measure_tech" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="管理措施" required>
|
||||
<el-input v-model="saveForm.measure_manage" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="培训教育措施" required>
|
||||
<el-input v-model="saveForm.measure_edu" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="个体防护措施" required>
|
||||
<el-input v-model="saveForm.measure_protect" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="应急处置措施" required>
|
||||
<el-input v-model="saveForm.measure_emer" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 10px">
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="formSaving"
|
||||
@click="formSubmit()"
|
||||
>保 存</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
const defaultForm = {};
|
||||
export default {
|
||||
props:{
|
||||
riskpoint: {type: String, default: ""}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
saveForm: Object.assign({"riskpoint": this.riskpoint}, defaultForm),
|
||||
formSaving: false,
|
||||
resultOptions:[],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getResultOptions();
|
||||
},
|
||||
methods:{
|
||||
setData(data){
|
||||
this.saveForm = data;
|
||||
},
|
||||
getResultOptions() {
|
||||
this.$API.system.dict.list.req({page: 0, type__code: "accident_result"}).then(res=>{
|
||||
this.resultOptions = res;
|
||||
})
|
||||
},
|
||||
formSubmit(){
|
||||
this.formSaving = true;
|
||||
if (this.saveForm.id) {
|
||||
this.$API.dpm.risk.update
|
||||
.req(this.saveForm.id, this.saveForm)
|
||||
.then((res) => {
|
||||
this.formSaving = false;
|
||||
this.$message.success("更新成功");
|
||||
this.$emit("riskConfirm");
|
||||
})
|
||||
.catch((e) => {
|
||||
this.formSaving = false;
|
||||
});
|
||||
} else {
|
||||
this.$API.dpm.risk.create
|
||||
.req(this.saveForm)
|
||||
.then((res) => {
|
||||
this.formSaving = false;
|
||||
this.$message.success("创建成功");
|
||||
this.$emit("riskConfirm");
|
||||
})
|
||||
.catch((err) => {
|
||||
this.formSaving = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -174,11 +174,14 @@
|
|||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<Risk
|
||||
ref="riskTable"
|
||||
:rpId="rowData.id"
|
||||
v-if="defaultX == '风险列表' && rowData.id"
|
||||
style="height: 100%"
|
||||
@updateRisk="updateRisk"
|
||||
></Risk>
|
||||
<CheckTaskSet
|
||||
ref="checktasksetTable"
|
||||
:rpId="rowData.id"
|
||||
v-if="defaultX == '排查任务配置' && rowData.id"
|
||||
style="height: 100%"
|
||||
|
@ -330,7 +333,10 @@
|
|||
/>
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="排查备注" prop="note" required>
|
||||
<el-form-item label="有效期(h)" prop="expire">
|
||||
<el-input-number :min="0" controls-position="right" v-model="saveForm2.expire"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="排查备注" prop="note">
|
||||
<el-input
|
||||
v-model="saveForm2.note"
|
||||
clearable
|
||||
|
@ -348,7 +354,10 @@
|
|||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="choseMyScheduleDialog" title="选择策略">
|
||||
<MySchedule></MySchedule>
|
||||
<MySchedule @scheduleChose="scheduleChose"></MySchedule>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="riskDialog" title="新增/编辑" width="90%">
|
||||
<RiskForm ref="riskForm" :riskpoint="rowData.id" @riskConfirm="riskConfirm"></RiskForm>
|
||||
</el-dialog>
|
||||
</el-container>
|
||||
</template>
|
||||
|
@ -357,9 +366,10 @@ import { riskLevelEnum, manageLevelEnum, riskTypeEnum } from "@/utils/enum.js";
|
|||
import Risk from "./risk.vue";
|
||||
import CheckTaskSet from "./checktaskset.vue";
|
||||
import MySchedule from "@/views/sys/myschedule.vue";
|
||||
import RiskForm from "./risk_form.vue";
|
||||
const defaultForm = {};
|
||||
export default {
|
||||
components: { Risk, CheckTaskSet, MySchedule},
|
||||
components: { Risk, CheckTaskSet, MySchedule, RiskForm},
|
||||
data() {
|
||||
return {
|
||||
riskTypeEnum,
|
||||
|
@ -368,13 +378,14 @@ export default {
|
|||
formSaving: false,
|
||||
saveDialog: false,
|
||||
saveDialog2: false,
|
||||
riskDialog: false,
|
||||
choseMyScheduleDialog: false,
|
||||
query: {
|
||||
search: "",
|
||||
},
|
||||
apiObj: this.$API.dpm.riskpoint.list,
|
||||
saveForm: Object.assign({}, defaultForm),
|
||||
saveForm2: {},
|
||||
saveForm2: {"expire": 0},
|
||||
deptOptions: [],
|
||||
rowData: {},
|
||||
xoptions: ["风险列表", "排查任务配置"],
|
||||
|
@ -386,8 +397,27 @@ export default {
|
|||
this.getAreaOptions();
|
||||
},
|
||||
methods: {
|
||||
updateRisk(row) {
|
||||
this.riskDialog = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.riskForm.setData(row);
|
||||
});
|
||||
},
|
||||
riskConfirm(){
|
||||
this.riskDialog = false;
|
||||
this.$refs.riskTable.handleQuery();
|
||||
},
|
||||
risk_add() {
|
||||
this.riskDialog = true;
|
||||
},
|
||||
scheduleChose(item){
|
||||
this.saveForm2.myschedule = item.id;
|
||||
this.saveForm2.myschedule_name = item.name;
|
||||
this.choseMyScheduleDialog = false;
|
||||
},
|
||||
checktaskset_add() {
|
||||
this.saveDialog2 = true;
|
||||
this.saveForm2 = {"expire": 0};
|
||||
},
|
||||
rowClick(row) {
|
||||
this.rowData = row;
|
||||
|
@ -426,7 +456,27 @@ export default {
|
|||
this.handleQuery();
|
||||
});
|
||||
},
|
||||
formSubmit2() {
|
||||
this.$refs.saveForm2.validate((valid)=>{
|
||||
if(valid){
|
||||
this.formSaving = true;
|
||||
this.$API.dpm.checktaskset.create
|
||||
.req(this.saveForm2)
|
||||
.then((res) => {
|
||||
this.formSaving = false;
|
||||
this.$message.success("创建成功");
|
||||
this.$refs.checktasksetTable.handleQuery();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.formSaving = false;
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
formSubmit() {
|
||||
this.$refs.saveForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.formSaving = true;
|
||||
if (this.saveForm.id) {
|
||||
this.$API.dpm.riskpoint.update
|
||||
|
@ -452,7 +502,8 @@ export default {
|
|||
.catch((err) => {
|
||||
this.formSaving = false;
|
||||
});
|
||||
}
|
||||
}}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
></el-table-column>
|
||||
<el-table-column
|
||||
label="进行中"
|
||||
prop="can_attend"
|
||||
width="80"
|
||||
>
|
||||
<template #default="scope">
|
||||
|
|
|
@ -863,7 +863,7 @@ export default {
|
|||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list
|
||||
// .req({ page: 0, belong_dept__name: "检验管理部" })
|
||||
// .req({ page: 0,posts__name:'检验' })
|
||||
.req({ page: 0 })
|
||||
.then((res) => {
|
||||
that.userList = res;
|
||||
|
|
|
@ -1,310 +1,446 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
title="性能检验"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
<el-main style="padding: 0 20px 20px 20px">
|
||||
<el-form
|
||||
ref="dialogForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="160px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="检验类型" prop="testitem">
|
||||
<el-select
|
||||
v-model="form.testitem"
|
||||
placeholder="检验类型"
|
||||
clearable
|
||||
style="width:100%"
|
||||
disabled
|
||||
>
|
||||
<el-option
|
||||
v-for="item in behaviors"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="实验日期" prop="test_date">
|
||||
<el-date-picker
|
||||
v-model="form.test_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width:100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="样品编号" prop="sample_number">
|
||||
<el-input v-model="form.sample_number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='透过率'">
|
||||
<el-form-item label="样品厚度/mm" prop="val_hd">
|
||||
<el-input-number v-model="form.val_hd" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='中温粘度'||activeName=='膨胀'">
|
||||
<el-form-item label="规格型号" prop="specification">
|
||||
<el-input v-model="form.specification"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='析晶'">
|
||||
<el-form-item label="样品数量" prop="sample_count">
|
||||
<el-input-number v-model="form.sample_count" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='高温粘度'">
|
||||
<el-form-item label="样品密度" prop="sample_density">
|
||||
<el-input v-model="form.sample_density"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="检验员" prop="test_user">
|
||||
<el-select
|
||||
v-model="form.test_user"
|
||||
placeholder="检验员"
|
||||
clearable
|
||||
filterable
|
||||
style="width:100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='析晶'">
|
||||
<el-form-item label="实验温度及保温时间" prop="sample_density">
|
||||
<el-input v-model="form.sample_number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='高温粘度'">
|
||||
<el-form-item label="升至最高温度/℃" prop="val_zgwd">
|
||||
<el-input-number v-model="form.val_zgwd" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="仪器状态" prop="equip_state">
|
||||
<el-select
|
||||
v-model="form.equip_state"
|
||||
placeholder="仪器状态"
|
||||
clearable style="width:100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in stateOptios"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='折射率'">
|
||||
<el-form-item label="折射率(589nm)" prop="val_zsl">
|
||||
<el-input-number v-model="form.val_zsl" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='透过率'">
|
||||
<el-form-item label="透过率(550nm)" prop="val_tgl">
|
||||
<el-input-number v-model="form.val_tgl" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='中温粘度'">
|
||||
<el-form-item label="Ts/℃" prop="val_ts">
|
||||
<el-input-number v-model="form.val_ts" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='膨胀'">
|
||||
<el-form-item label="30-300℃膨胀系数" prop="val_pzxs">
|
||||
<el-input-number v-model="form.val_pzxs" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='膨胀'">
|
||||
<el-form-item label="Tg/℃" prop="val_tg">
|
||||
<el-input-number v-model="form.val_tg" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='膨胀'">
|
||||
<el-form-item label="Tf/℃" prop="val_tf">
|
||||
<el-input-number v-model="form.val_tf" :min="0" style="width:100%" controls-position="right">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName=='析晶'">
|
||||
<el-form-item label="析晶状态" prop="val_xj">
|
||||
<el-select
|
||||
v-model="form.val_xj"
|
||||
placeholder="析晶状态"
|
||||
clearable style="width:100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in xjOptios"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.note" placeholder="备注"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer v-if="this.mode!=='show'">
|
||||
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="性能检验"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
<el-main style="padding: 0 20px 20px 20px">
|
||||
<el-form
|
||||
ref="dialogForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="160px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="检验类型" prop="testitem">
|
||||
<el-select
|
||||
v-model="form.testitem"
|
||||
placeholder="检验类型"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
disabled
|
||||
>
|
||||
<el-option
|
||||
v-for="item in behaviors"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="实验日期" prop="test_date">
|
||||
<el-date-picker
|
||||
v-model="form.test_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="样品编号" prop="sample_number">
|
||||
<el-input
|
||||
v-model="form.sample_number"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '透过率'">
|
||||
<el-form-item label="样品厚度/mm" prop="val_hd">
|
||||
<el-input-number
|
||||
v-model="form.val_hd"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col
|
||||
:md="12"
|
||||
:sm="24"
|
||||
v-if="
|
||||
activeName == '中温粘度' || activeName == '膨胀'
|
||||
"
|
||||
>
|
||||
<el-form-item label="规格型号" prop="specification">
|
||||
<el-input
|
||||
v-model="form.specification"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '析晶'">
|
||||
<el-form-item label="样品数量" prop="sample_count">
|
||||
<el-input-number
|
||||
v-model="form.sample_count"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col
|
||||
:md="12"
|
||||
:sm="24"
|
||||
v-if="activeName == '高温粘度'"
|
||||
>
|
||||
<el-form-item
|
||||
label="样品密度"
|
||||
prop="sample_density"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.sample_density"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="检验员" prop="test_user">
|
||||
<el-select
|
||||
v-model="form.test_user"
|
||||
placeholder="检验员"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '析晶'">
|
||||
<el-form-item
|
||||
label="实验温度及保温时间"
|
||||
prop="sample_density"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.sample_number"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col
|
||||
:md="12"
|
||||
:sm="24"
|
||||
v-if="activeName == '高温粘度'"
|
||||
>
|
||||
<el-form-item
|
||||
label="升至最高温度/℃"
|
||||
prop="val_zgwd"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="form.val_zgwd"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="仪器状态" prop="equip_state">
|
||||
<el-select
|
||||
v-model="form.equip_state"
|
||||
placeholder="仪器状态"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in stateOptios"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '折射率'">
|
||||
<el-form-item label="折射率(589nm)" prop="val_zsl">
|
||||
<el-input-number
|
||||
v-model="form.val_zsl"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '透过率'">
|
||||
<el-form-item label="透过率(550nm)" prop="val_tgl">
|
||||
<el-input-number
|
||||
v-model="form.val_tgl"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col
|
||||
:md="12"
|
||||
:sm="24"
|
||||
v-if="activeName == '中温粘度'"
|
||||
>
|
||||
<el-form-item label="Ts/℃" prop="val_ts">
|
||||
<el-input-number
|
||||
v-model="form.val_ts"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '膨胀'">
|
||||
<el-form-item
|
||||
label="30-300℃膨胀系数"
|
||||
prop="val_pzxs"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="form.val_pzxs"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '膨胀'">
|
||||
<el-form-item label="Tg/℃" prop="val_tg">
|
||||
<el-input-number
|
||||
v-model="form.val_tg"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '膨胀'">
|
||||
<el-form-item label="Tf/℃" prop="val_tf">
|
||||
<el-input-number
|
||||
v-model="form.val_tf"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="activeName == '析晶'">
|
||||
<el-form-item label="析晶状态" prop="val_xj">
|
||||
<el-select
|
||||
v-model="form.val_xj"
|
||||
placeholder="析晶状态"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in xjOptios"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="备注">
|
||||
<el-input
|
||||
v-model="form.note"
|
||||
placeholder="备注"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer v-if="this.mode !== 'show'">
|
||||
<el-button type="primary" :loading="isSaveing" @click="submit"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
props: {
|
||||
activeId: { type: String, default: "" },
|
||||
activeName: { type: String, default: "" },
|
||||
emits: ["success", "closed"],
|
||||
props: {
|
||||
activeId: { type: String, default: "" },
|
||||
activeName: { type: String, default: "" },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {},
|
||||
rules: {
|
||||
belong_dept: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择所属部门",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
test_date: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择检验日期",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
test_user: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择操作人",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
check_user: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择专检人",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
test_group: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择检测工序集",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
is_ok: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择是否合格",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
stateOptios: [
|
||||
{ id: "R", name: "正常" },
|
||||
{ id: "T", name: "异常" },
|
||||
],
|
||||
xjOptios: [
|
||||
{ id: "S", name: "析晶" },
|
||||
{ id: "K", name: "不析晶" },
|
||||
{ id: "θ", name: "未化" },
|
||||
],
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
userList: [],
|
||||
options: [],
|
||||
processOptions: [],
|
||||
deptOptions: [],
|
||||
selectionFilters: [],
|
||||
setFiltersVisible: false,
|
||||
belong_dept_options: [],
|
||||
group: [],
|
||||
behaviors: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.activeId);
|
||||
console.log(this.activeName);
|
||||
this.form.testitem = this.activeId;
|
||||
this.getTextItem();
|
||||
this.getProcess();
|
||||
this.getUserList();
|
||||
this.getDeptOptions();
|
||||
},
|
||||
methods: {
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
this.mode = mode;
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
//获取检验项目
|
||||
getTextItem() {
|
||||
let that = this;
|
||||
that.$API.qm.getTestItem
|
||||
.get({ tag: "performance", page: 0 })
|
||||
.then((res) => {
|
||||
that.behaviors = res;
|
||||
});
|
||||
},
|
||||
//获取部门列表
|
||||
getDeptOptions() {
|
||||
this.$API.system.dept.list
|
||||
.req({ page: 0, type__in: "dept" })
|
||||
.then((res) => {
|
||||
this.deptOptions = res;
|
||||
});
|
||||
},
|
||||
//获取员工
|
||||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list
|
||||
.req({ page: 0, posts__name: "检验" })
|
||||
.then((res) => {
|
||||
that.userList = res;
|
||||
});
|
||||
},
|
||||
getProcess() {
|
||||
let that = this;
|
||||
this.$API.mtm.process.list.req({ page: 0 }).then((res) => {
|
||||
that.processOptions = res;
|
||||
});
|
||||
},
|
||||
handleClick() {},
|
||||
//提交
|
||||
submit() {
|
||||
this.$refs.dialogForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.isSaveing = true;
|
||||
try {
|
||||
var res;
|
||||
if (this.mode == "add") {
|
||||
res = await this.$API.qm.ptest.create.req(
|
||||
this.form
|
||||
);
|
||||
} else if (this.mode == "edit") {
|
||||
res = await this.$API.qm.ptest.update.req(
|
||||
this.form.id,
|
||||
this.form
|
||||
);
|
||||
}
|
||||
this.isSaveing = false;
|
||||
this.$emit("success");
|
||||
this.visible = false;
|
||||
this.$message.success("操作成功");
|
||||
} catch (err) {
|
||||
//可以处理校验错误
|
||||
this.isSaveing = false;
|
||||
return err;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
Object.assign(this.form, data);
|
||||
this.form.test_group = this.form.split(",");
|
||||
},
|
||||
//设置过滤项
|
||||
setFilters(filters) {
|
||||
this.selectionFilters = filters;
|
||||
this.setFiltersVisible = true;
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
|
||||
},
|
||||
rules: {
|
||||
belong_dept: [{required: true, message: "请选择所属部门", trigger: "blur"}],
|
||||
test_date: [{required: true, message: "请选择检验日期", trigger: "blur"}],
|
||||
test_user: [{required: true, message: "请选择操作人", trigger: "blur"}],
|
||||
check_user: [{required: true, message: "请选择专检人", trigger: "blur"}],
|
||||
test_group:[{required: true, message: "请选择检测工序集", trigger: "blur"}],
|
||||
is_ok: [{required: true, message: "请选择是否合格", trigger: "blur"}],
|
||||
},
|
||||
stateOptios:[
|
||||
{id:'R',name:'正常'},
|
||||
{id:'T',name:'异常'},
|
||||
],
|
||||
xjOptios:[
|
||||
{id:'S',name:'析晶'},
|
||||
{id:'K',name:'不析晶'},
|
||||
{id:'θ',name:'未化'},
|
||||
],
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
userList:[],
|
||||
options: [],
|
||||
processOptions: [],
|
||||
deptOptions: [],
|
||||
selectionFilters: [],
|
||||
setFiltersVisible: false,
|
||||
belong_dept_options: [],
|
||||
group: [],
|
||||
behaviors:[],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.activeId)
|
||||
console.log(this.activeName)
|
||||
this.form.testitem = this.activeId;
|
||||
this.getTextItem();
|
||||
this.getProcess();
|
||||
this.getUserList();
|
||||
this.getDeptOptions();
|
||||
},
|
||||
methods: {
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
this.mode = mode;
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
//获取检验项目
|
||||
getTextItem(){
|
||||
let that = this;
|
||||
that.$API.qm.getTestItem.get({tag:'performance',page:0}).then(res=>{
|
||||
that.behaviors = res;
|
||||
})
|
||||
},
|
||||
//获取部门列表
|
||||
getDeptOptions() {
|
||||
this.$API.system.dept.list.req({ page: 0, type__in: 'dept' }).then((res) => {
|
||||
this.deptOptions = res;
|
||||
});
|
||||
},
|
||||
//获取员工
|
||||
getUserList(){
|
||||
let that = this;
|
||||
this.$API.system.user.list.req({page:0,belong_dept__name:'检验管理部'}).then(res=>{
|
||||
that.userList = res;
|
||||
});
|
||||
},
|
||||
getProcess(){
|
||||
let that = this;
|
||||
this.$API.mtm.process.list.req({page:0}).then(res=>{
|
||||
that.processOptions = res;
|
||||
})
|
||||
},
|
||||
handleClick(){},
|
||||
//提交
|
||||
submit() {
|
||||
this.$refs.dialogForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.isSaveing = true;
|
||||
try {
|
||||
var res;
|
||||
if (this.mode == "add") {
|
||||
res = await this.$API.qm.ptest.create.req(this.form);
|
||||
} else if (this.mode == "edit") {
|
||||
res = await this.$API.qm.ptest.update.req(this.form.id,this.form);
|
||||
}
|
||||
this.isSaveing = false;
|
||||
this.$emit("success");
|
||||
this.visible = false;
|
||||
this.$message.success("操作成功");
|
||||
} catch (err) {
|
||||
//可以处理校验错误
|
||||
this.isSaveing = false;
|
||||
return err;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
Object.assign(this.form, data);
|
||||
this.form.test_group = this.form.split(',')
|
||||
},
|
||||
//设置过滤项
|
||||
setFilters(filters) {
|
||||
this.selectionFilters = filters;
|
||||
this.setFiltersVisible = true;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
<style></style>
|
||||
|
|
|
@ -280,7 +280,7 @@ export default {
|
|||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list
|
||||
.req({ page: 0, depts__name: "检验管理部" })
|
||||
.req({ page: 0, posts__name: "检验" })
|
||||
.then((res) => {
|
||||
that.userList = res.results;
|
||||
});
|
||||
|
|
|
@ -390,7 +390,7 @@ export default {
|
|||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list
|
||||
.req({ page: 0, belong_dept__name: "检验管理部" })
|
||||
.req({ page: 0, posts__name: "检验" })
|
||||
.then((res) => {
|
||||
that.userList = res;
|
||||
});
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="listApi" row-key="id" :params="listApiParams" @selection-change="selectionChange" stripe :paginationLayout="'prev, pager, next'">
|
||||
<!-- <el-table-column type="selection" width="50"></el-table-column> -->
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="名称" prop="name" width="360"></el-table-column>
|
||||
<el-table-column label="标识" prop="code"></el-table-column>
|
||||
<el-table-column label="排序" prop="sort"></el-table-column>
|
||||
|
@ -257,7 +257,7 @@
|
|||
this.isSaveing = false;
|
||||
if(res.name){
|
||||
this.visibleDicType = false;
|
||||
this.getDic();
|
||||
this.getDicType();
|
||||
this.$message.success("操作成功")
|
||||
}else{
|
||||
this.$alert(res.message, "提示", {type: 'error'})
|
||||
|
@ -364,7 +364,7 @@
|
|||
}else{
|
||||
that.$message.success("操作成功");
|
||||
that.visibleDicItem = false;
|
||||
that.getDicType();
|
||||
that.$refs.table.refresh()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<template>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="table_add"
|
||||
></el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="table_add"
|
||||
></el-button>
|
||||
<el-divider></el-divider>
|
||||
<scTable
|
||||
ref="table"
|
||||
|
@ -14,72 +14,176 @@
|
|||
hidePagination
|
||||
hideDo
|
||||
style="height: 400px"
|
||||
@row-click="rowClick"
|
||||
>
|
||||
<el-table-column label="类型" prop="name" width="80"></el-table-column>
|
||||
<el-table-column label="类型" prop="name" width="80">
|
||||
<template #default="scope"
|
||||
>{{ scheduleTypeEnum[scope.row.type]?.text }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="名称"
|
||||
prop="name"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-popconfirm
|
||||
title="确定删除吗?"
|
||||
@confirm="table_del(scope.row, scope.$index)"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
v-auth="'myschedule.delete'"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
></el-button
|
||||
>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
<el-dialog title="创建/编辑" v-model="dialogVisible" width="80%">
|
||||
<el-form-item label="策略类型" prop="note" required>
|
||||
<el-select
|
||||
v-model="saveForm.type"
|
||||
>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="策略式" required>
|
||||
每隔
|
||||
<el-input-number
|
||||
v-model="saveForm.interval_.every"
|
||||
:min="1"
|
||||
style="margin-left: 4px"
|
||||
></el-input-number>
|
||||
<el-select
|
||||
v-model="saveForm.interval_.period"
|
||||
>
|
||||
<el-option
|
||||
v-for="e in schedulePeriodEnum.values"
|
||||
:key="e.key"
|
||||
:value="e.key"
|
||||
:label="e.text"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-dialog>
|
||||
<el-dialog title="创建/编辑" v-model="dialogVisible" width="80%">
|
||||
<el-form :model="saveForm" label-width="100px" ref="saveForm">
|
||||
<el-form-item label="策略类型" required>
|
||||
<el-select v-model="saveForm.type">
|
||||
<el-option
|
||||
v-for="e in scheduleTypeEnum.values"
|
||||
:key="e.key"
|
||||
:value="e.key"
|
||||
:label="e.text"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-divider />
|
||||
<el-form-item label="策略式" required v-if="saveForm.type == 10">
|
||||
<div style="display: flex">
|
||||
每隔
|
||||
<el-input-number
|
||||
v-model="saveForm.interval_.every"
|
||||
:min="1"
|
||||
style="margin-left: 4px"
|
||||
></el-input-number>
|
||||
<el-select
|
||||
v-model="saveForm.interval_.period"
|
||||
style="width: 200px; margin-left: 4px"
|
||||
placeholder="间隔"
|
||||
>
|
||||
<el-option
|
||||
v-for="e in schedulePeriodEnum.values"
|
||||
:key="e.key"
|
||||
:value="e.key"
|
||||
:label="e.text"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="策略式" required v-if="saveForm.type == 20">
|
||||
<div style="width: 100%">
|
||||
<div style="display: flex">
|
||||
<span style="margin-right: 4px; width: 100px">分钟</span
|
||||
><el-input
|
||||
v-model="saveForm.crontab_.minute"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="display: flex; margin-top: 4px">
|
||||
<span style="margin-right: 4px; width: 100px">小时</span
|
||||
><el-input v-model="saveForm.crontab_.hour"></el-input>
|
||||
</div>
|
||||
<div style="display: flex; margin-top: 4px">
|
||||
<span style="margin-right: 4px; width: 100px"
|
||||
>每周的天</span
|
||||
><el-input
|
||||
v-model="saveForm.crontab_.day_of_week"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="display: flex; margin-top: 4px">
|
||||
<span style="margin-right: 4px; width: 100px"
|
||||
>每月的天</span
|
||||
><el-input
|
||||
v-model="saveForm.crontab_.day_of_month"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="display: flex; margin-top: 4px">
|
||||
<span style="margin-right: 4px; width: 100px"
|
||||
>每年的月</span
|
||||
><el-input
|
||||
v-model="saveForm.crontab_.month_of_year"
|
||||
></el-input>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="formSaving"
|
||||
@click="formSubmit()"
|
||||
>保 存</el-button
|
||||
>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { scheduleTypeEnum, schedulePeriodEnum } from "@/utils/enum.js";
|
||||
const defaultForm = {
|
||||
interval_: {},
|
||||
crontab_: {}
|
||||
}
|
||||
interval_: {},
|
||||
crontab_: {},
|
||||
};
|
||||
export default {
|
||||
name: "myschedule",
|
||||
data() {
|
||||
return {
|
||||
schedulePeriodEnum, scheduleTypeEnum,
|
||||
dialogVisible: false,
|
||||
schedulePeriodEnum,
|
||||
scheduleTypeEnum,
|
||||
formSaving: false,
|
||||
dialogVisible: false,
|
||||
apiObj: this.$API.system.myschedule.list,
|
||||
query: {
|
||||
search: "",
|
||||
},
|
||||
saveForm: Object.assign({}, defaultForm)
|
||||
params: {},
|
||||
saveForm: Object.assign({}, defaultForm),
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
table_add(){
|
||||
this.dialogVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.saveForm = Object.assign({}, defaultForm)
|
||||
});
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
computed: {},
|
||||
watch: {},
|
||||
components: {},
|
||||
rowClick(item) {
|
||||
console.log(item)
|
||||
this.$emit("scheduleChose", item);
|
||||
},
|
||||
handleQuery() {
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
table_add() {
|
||||
this.dialogVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.saveForm = Object.assign({}, defaultForm);
|
||||
});
|
||||
},
|
||||
table_del(row) {
|
||||
this.$API.system.myschedule.delete.req(row.id).then(() => {
|
||||
this.$message.success("操作成功");
|
||||
this.handleQuery();
|
||||
});
|
||||
},
|
||||
formSubmit() {
|
||||
this.formSaving = true;
|
||||
this.$refs.saveForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$API.system.myschedule.create
|
||||
.req(this.saveForm)
|
||||
.then(() => {
|
||||
this.handleQuery();
|
||||
this.dialogVisible = false;
|
||||
this.$message.success("操作成功");
|
||||
});
|
||||
}
|
||||
this.formSaving = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue