From 4d0a487dc5f6b8dc15a8177d519f76ebaeb0d2ee Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 13 三月 2025 17:19:39 +0800
Subject: [PATCH] 原材料下单样式修改
---
src/views/performance/manHour/workTimeConfig.vue | 251 +++++++++++++++++++++++++++++++------------------
1 files changed, 158 insertions(+), 93 deletions(-)
diff --git a/src/views/performance/manHour/workTimeConfig.vue b/src/views/performance/manHour/workTimeConfig.vue
index 590c182..bcee42c 100644
--- a/src/views/performance/manHour/workTimeConfig.vue
+++ b/src/views/performance/manHour/workTimeConfig.vue
@@ -4,97 +4,108 @@
<div class="search_thing">
<div class="search_label">缂栧彿锛�</div>
<div class="search_input">
- <el-input
- size="small"
- placeholder="璇疯緭鍏�"
- clearable
- v-model="queryParams.number"
- @keyup.enter.native="refreshTable()"
- ></el-input>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.number"
+ @keyup.enter.native="refreshTable()"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">瀹為獙瀹わ細</div>
- <el-select
- v-model="queryParams.laboratory"
- placeholder="鍏ㄩ儴"
- size="small"
- @change="refreshTable()"
- clearable
- >
- <el-option
- v-for="item in laboratoryList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="queryParams.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable>
+ <el-option v-for="item in laboratoryList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="search_thing">
<div class="search_label">閮ㄩ棬锛�</div>
<div class="search_input">
- <el-input
- size="small"
- placeholder="璇疯緭鍏�"
- clearable
- v-model="queryParams.department"
- @keyup.enter.native="refreshTable()"
- ></el-input>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.department"
+ @keyup.enter.native="refreshTable()"></el-input>
</div>
</div>
<div class="search_thing" style="padding-left: 30px">
<el-button size="small" @click="refresh()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTable()"
- >鏌� 璇�</el-button
- >
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
</div>
- <el-button
- size="small"
- type="primary"
- style="position: absolute; right: 50px"
- @click="openAdd"
- >鏂� 澧�</el-button
- >
+ <el-button size="small" type="primary" style="position: absolute; right: 50px" @click="openAdd('鏂板')"
+ v-if="checkPermi(['performance:manHour:workTimeConfig:add'])">鏂� 澧�</el-button>
</div>
<div class="table">
- <lims-table
- :tableData="tableData"
- :column="column"
- :page="page"
- :tableLoading="tableLoading"
- :height="'calc(100vh - 150px)'"
- @pagination="pagination"
- ></lims-table>
+ <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 290px)'"
+ :page="page" @pagination="pagination"></lims-table>
</div>
+ <!-- 鏂板/缂栬緫 -->
+ <el-dialog :title="title" :visible.sync="timeDia" width="500px">
+ <el-form :model="timeForm" ref="timeForm" :rules="timeRules" label-position="right" label-width="120px">
+ <el-form-item label="缂栧彿" prop="number">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="timeForm.number"></el-input>
+ </el-form-item>
+ <el-form-item label="杈呭姪椤圭洰鍚嶇О" prop="auxiliaryProject">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="timeForm.auxiliaryProject">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="閮ㄩ棬" prop="department">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="timeForm.department">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="瀹為獙瀹�" prop="laboratory">
+ <el-select v-model="timeForm.laboratory" size="small" clearable placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in laboratoryList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍗曚綅" prop="unit">
+ <el-select v-model="timeForm.unit" size="small" clearable placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏍稿噯宸ユ椂" prop="approvedWorkingHour">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="timeForm.approvedWorkingHour">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remarks">
+ <el-input size="small" placeholder="璇疯緭鍏�" type="textarea" :rows="2" clearable v-model="timeForm.remarks">
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="timeDia = false">鍙� 娑�</el-button>
+ <el-button :loading="uploading" type="primary" @click="submitProduct('timeForm')">纭� 璁�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
-import ValueTable from "@/components/Table/value-table.vue";
import limsTable from "@/components/Table/lims-table.vue";
-import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
import {
selectAuxiliaryWorkingHours,
- insertAuxiliaryWorkingHoursDay,
+ insertAuxiliaryWorkingHours,
obtainItemParameterList,
+ upAuxiliaryWorkingHours,
+ deleteAuxiliaryWorkingHours,
} from "@/api/performance/manHour";
export default {
components: {
- ValueTable,
limsTable,
},
+ dicts: ["sys_unit"],
data() {
return {
laboratoryList: [],
- partList: [],
- addPower: true,
queryParams: {},
tableData: [],
column: [
{ label: "缂栧彿", prop: "number" },
{ label: "杈呭姪椤圭洰鍚嶇О", prop: "auxiliaryProject", width: "120px" },
- { label: "瀹為獙瀹�", prop: "laboratory" },
+ {
+ label: "瀹為獙瀹�",
+ prop: "laboratory",
+ dataType: "tag",
+ formatData: (params) => {
+ return this.laboratoryList.find((m) => m.value == params).label;
+ },
+ },
{ label: "鍗曚綅", prop: "unit" },
{ label: "鏍稿噯宸ユ椂", prop: "approvedWorkingHour" },
{ label: "閮ㄩ棬", prop: "department" },
@@ -103,16 +114,17 @@
dataType: "action",
fixed: "right",
label: "鎿嶄綔",
- width: "160px",
operation: [
{
name: "缂栬緫",
type: "text",
clickFun: (row) => {
- this.handleEdit(row);
+ this.openAdd("缂栬緫", row);
},
showHide: (row) => {
- return this.checkPermi(["standard:model:edit"]);
+ return this.checkPermi([
+ "performance:manHour:workTimeConfig:edit",
+ ]);
},
},
{
@@ -122,7 +134,9 @@
this.handleDelete(row);
},
showHide: (row) => {
- return this.checkPermi(["standard:model:del"]);
+ return this.checkPermi([
+ "performance:manHour:workTimeConfig:del",
+ ]);
},
},
],
@@ -135,16 +149,31 @@
},
tableLoading: false,
unitList: [],
+ title: "鏂板",
+ timeDia: false,
+ timeForm: {},
+ timeRules: {
+ number: [{ required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: "blur" }],
+ auxiliaryProject: [
+ { required: true, message: "璇疯緭鍏ヨ緟鍔╅」鐩悕绉�", trigger: "blur" },
+ ],
+ laboratory: [
+ { required: true, message: "璇烽�夋嫨瀹為獙瀹�", trigger: "change" },
+ ],
+ unit: [{ required: true, message: "璇烽�夋嫨鍗曚綅", trigger: "change" }],
+ approvedWorkingHour: [
+ { required: true, message: "璇疯緭鍏ユ牳鍑嗗伐鏃�", trigger: "blur" },
+ ],
+ },
+ uploading: false,
};
},
mounted() {
- this.entityCopy = this.HaveJson(this.componentData.entity);
- this.getPower();
this.obtainItemParameterList();
this.selectEnumByCategoryForUnit();
+ this.getList();
},
methods: {
- checkPermi,
getList() {
this.tableLoading = true;
let param = { ...this.queryParams, ...this.page };
@@ -161,8 +190,9 @@
this.tableLoading = false;
});
},
- pagination(current, size) {
- this.page.current = current;
+ pagination({ page, limit }) {
+ this.page.current = page;
+ this.page.size = limit;
this.getList();
},
refresh() {
@@ -174,34 +204,15 @@
this.page.current = 1;
this.getList();
},
- getPower(radio) {
- let power = JSON.parse(sessionStorage.getItem("power"));
- let up = false;
- let del = false;
- let add = false;
- for (var i = 0; i < power.length; i++) {
- if (power[i].menuMethod == "upDeviceParameter") {
- up = true;
- }
- if (power[i].menuMethod == "delDeviceParameter") {
- del = true;
- }
- if (power[i].menuMethod == "addDeviceParameter") {
- add = true;
- }
+ openAdd(title, row) {
+ this.title = title;
+ if (row) {
+ this.timeForm = row;
+ this.timeForm.laboratory = Number(this.timeForm.laboratory);
+ } else {
+ this.timeForm = {};
}
- if (!up) {
- this.componentData.do.splice(1, 1);
- }
- if (!del) {
- this.componentData.do.splice(0, 1);
- }
- this.addPower = add;
- },
- openAdd() {
- // this.$refs.ValueTable0.openAddDia(
- // this.$api.auxiliaryWorkingHours.insertAuxiliaryWorkingHours
- // );
+ this.timeDia = true;
},
obtainItemParameterList() {
obtainItemParameterList().then((res) => {
@@ -220,6 +231,61 @@
this.unitList = response.data;
});
},
+ submitProduct(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ this.uploading = true;
+ if (this.title == "鏂板") {
+ insertAuxiliaryWorkingHours(this.timeForm)
+ .then((res) => {
+ this.uploading = false;
+ if (res.code != 200) {
+ return;
+ }
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.refresh();
+ this.timeDia = false;
+ })
+ .catch((err) => {
+ this.uploading = false;
+ });
+ } else {
+ upAuxiliaryWorkingHours(this.timeForm)
+ .then((res) => {
+ this.uploading = false;
+ if (res.code != 200) {
+ return;
+ }
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.refresh();
+ this.timeDia = false;
+ })
+ .catch((err) => {
+ this.uploading = false;
+ });
+ }
+ } else {
+ return false;
+ }
+ });
+ },
+ handleDelete(row) {
+ this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ deleteAuxiliaryWorkingHours({ id: row.id }).then((res) => {
+ console.log('res',res)
+ if (res.code == 200){
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.refresh();
+ }
+ });
+ })
+ .catch(() => { });
+ },
},
};
</script>
@@ -228,6 +294,7 @@
.work-time-config {
height: 100%;
}
+
.search {
background-color: #fff;
height: 80px;
@@ -250,11 +317,9 @@
.search_input {
width: calc(100% - 70px);
}
+
.table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 10px - 24px);
- padding: 20px;
+ padding: 10px;
+ padding-top: 0;
}
</style>
--
Gitblit v1.9.3