From a1bf2d1b78d60e320c5b284d8e9f4afa5f3c28fb Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 09 四月 2024 22:02:54 +0800
Subject: [PATCH] update
---
src/views/console/base/Shiftsystem.vue | 32 ++++
.gitignore | 2
src/api/model/calender.js | 9 +
src/views/console/base/Dialog.vue | 262 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 300 insertions(+), 5 deletions(-)
diff --git a/.gitignore b/.gitignore
index 4c1f190..6ff6ad8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
.DS_Store
node_modules
/dist
-*.zip
+dist.zip
# local env files
.env.local
.env.*.local
diff --git a/src/api/model/calender.js b/src/api/model/calender.js
index 205ab5c..884e450 100644
--- a/src/api/model/calender.js
+++ b/src/api/model/calender.js
@@ -1,7 +1,7 @@
/*
* @Date: 2024-04-04 23:26:03
* @LastEditors: Sneed
- * @LastEditTime: 2024-04-09 20:39:23
+ * @LastEditTime: 2024-04-09 21:20:10
* @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/api/model/calender.js
*/
import config from "@/config"
@@ -29,4 +29,11 @@
return await http.get(`${this.url}${id}`, {},{});
},
},
+ getShiftsystemDetail: {
+ url: `${config.API_URL}/blade-system/param/detail?paramKey=system.shift.max`,
+ name: "鑾峰彇鐝埗淇℃伅闄愬埗",
+ get: async function(){
+ return await http.get(this.url, {},{});
+ },
+ },
}
\ No newline at end of file
diff --git a/src/views/console/base/Dialog.vue b/src/views/console/base/Dialog.vue
new file mode 100644
index 0000000..c383997
--- /dev/null
+++ b/src/views/console/base/Dialog.vue
@@ -0,0 +1,262 @@
+<template>
+ <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
+ <el-form :model="form" :rules="rules" :disabled="mode == 'show'" ref="dialogForm" label-width="120px"
+ label-position="center">
+ <el-row>
+ <el-col :span="24" style="padding:12px 0;">
+ 鐝埗璇︽儏
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐝埗缂栧彿" prop="userName">
+ <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅缂栧彿" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐝埗鍚嶇О" prop="userName">
+ <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐝埗棰滆壊" prop="userName">
+ <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐝埗鏃堕棿" prop="userName">
+ <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ 鐝1
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鐝鍚嶇О" prop="userName">
+ <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="鐝鏃堕棿" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="浼戞伅鏃舵1" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="浼戞伅鏃舵1" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="浼戞伅鏃舵1" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="浼戞伅鏃舵1" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="" prop="userName">
+ <el-time-picker style="width: 100%;" v-model="form.userName" format="HH:mm"
+ placeholder="Arbitrary time" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <el-button @click="visible = false">鍙� 娑�</el-button>
+ <el-button v-if="mode != 'show'" type="primary" :loading="isSaveing" @click="submit()">淇� 瀛�</el-button>
+ </template>
+ </el-dialog>
+</template>
+
+<script>
+import deepmerge from 'deepmerge'
+import http from "@/utils/request"
+export default {
+ emits: ['success', 'closed'],
+ props: {
+ option: {
+ type: Object
+ }
+ },
+ computed: {
+ options() {
+ let group = deepmerge([], this.option.group)
+ group[0].disabled = true
+ return {
+ ...this.option,
+ group,
+ calendarList: this.calendarList,
+ linkWays: this.linkWays,
+ work_type: this.work_type,
+ machining_type: this.machining_type
+ }
+ }
+ },
+ data() {
+ return {
+ mode: "add",
+ titleMap: {
+ add: '鏂板缓鐝埗',
+ edit: '缂栬緫鐝埗',
+ // show: '鏌ョ湅'
+ },
+ params: {},
+ visible: false,
+ isSaveing: false,
+ //琛ㄥ崟鏁版嵁
+ form: {
+ id: "",
+ userName: "",
+ avatar: "",
+ name: "",
+ dept: "",
+ group: []
+ },
+ //楠岃瘉瑙勫垯
+ rules: {
+ avatar: [
+ { required: true, message: '璇蜂笂浼犲ご鍍�' }
+ ],
+ userName: [
+ { required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�' }
+ ],
+ name: [
+ { required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�' }
+ ],
+ password: [
+ { required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�' },
+ {
+ validator: (rule, value, callback) => {
+ if (this.form.password2 !== '') {
+ this.$refs.dialogForm.validateField('password2');
+ }
+ callback();
+ }
+ }
+ ],
+ password2: [
+ { required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�' },
+ {
+ validator: (rule, value, callback) => {
+ if (value !== this.form.password) {
+ callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+ } else {
+ callback();
+ }
+ }
+ }
+ ],
+ dept: [
+ { required: true, message: '璇烽�夋嫨鎵�灞為儴闂�' }
+ ],
+ group: [
+ { required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change' }
+ ]
+ },
+ //鎵�闇�鏁版嵁閫夐」
+ calendarList: [],
+ work_type: [],
+ machining_type: [],
+ linkWays: [
+ {
+ label: '鍏宠仈鏈哄櫒',
+ value: '0'
+ }, {
+ label: '鍒涘缓鍚屽悕鏈哄櫒',
+ value: '1'
+ }
+ ]
+ }
+ },
+ created() {
+ this.$API.workstation.calendarList.get().then(res => {
+ this.calendarList = res.data
+ })
+ this.$API.system.dic.getDic.get({ code: 'work_type' }).then(res => {
+ this.work_type = res.data
+ })
+ this.$API.system.dic.getDic.get({ code: 'machining_type' }).then(res => {
+ this.machining_type = res.data
+ })
+ },
+ methods: {
+ //鏄剧ず
+ open(mode = 'add', params) {
+ this.mode = mode;
+ this.visible = true;
+ this.params = params
+ return this
+ },
+ //琛ㄥ崟鎻愪氦鏂规硶
+ submit() {
+ this.$refs.dialogForm.validate(async (valid) => {
+ if (valid) {
+ this.isSaveing = true;
+ var res = await this.$API.demo.post.post(this.form);
+ this.isSaveing = false;
+ if (res.code == 200) {
+ this.$emit('success', this.form, this.mode)
+ this.visible = false;
+ this.$message.success("鎿嶄綔鎴愬姛")
+ } else {
+ this.$alert(res.message, "鎻愮ず", { type: 'error' })
+ }
+ } else {
+ return false;
+ }
+ })
+ },
+ //琛ㄥ崟娉ㄥ叆鏁版嵁
+ setData(data) {
+ this.form.id = data.id
+ this.form.userName = data.userName
+ this.form.avatar = data.avatar
+ this.form.name = data.name
+ this.form.group = data.group
+ this.form.dept = data.dept
+
+ //鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
+ //Object.assign(this.form, data)
+ }
+ }
+}
+</script>
+
+<style></style>
diff --git a/src/views/console/base/Shiftsystem.vue b/src/views/console/base/Shiftsystem.vue
index 554122f..c8d8412 100644
--- a/src/views/console/base/Shiftsystem.vue
+++ b/src/views/console/base/Shiftsystem.vue
@@ -1,28 +1,50 @@
<!--
* @Date: 2024-04-09 20:19:46
* @LastEditors: Sneed
- * @LastEditTime: 2024-04-09 20:38:18
+ * @LastEditTime: 2024-04-09 21:57:50
* @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/Shiftsystem.vue
-->
<template>
<el-container>
<el-aside width="320px">
+ <el-button type="primary" @click="add">鏂板缓鐝埗</el-button>
<el-table :data="tableData" stripe style="width: 100%" @row-click="rowClick">
<el-table-column prop="code" label="鐝埗缂栧彿" />
<el-table-column prop="name" label="鐝埗鍚嶇О" />
</el-table>
</el-aside>
<el-container>
- 456
+ <ul>
+ <li>
+ <span>鐝埗缂栧彿</span>
+ {{ info.code }}
+ </li>
+ <li>
+ <span>鐝埗棰滆壊</span>
+ {{ info.code }}
+ </li>
+ <li>
+ <span>寮�濮�-缁撴潫鏃堕棿</span>
+ {{ info.code }}
+ </li>
+ </ul>
</el-container>
+ <Dialog ref="dialog" :option="{types,status,group}"></Dialog>
</el-container>
</template>
<script>
+import Dialog from './Dialog.vue'
export default {
+ components: {
+ Dialog
+ },
data () {
return {
- tableData: []
+ tableData: [],
+ info: {
+ code: ''
+ }
}
},
created () {
@@ -39,7 +61,11 @@
console.log(row)
this.$API.calender.getShiftsystemInfo.get({id: row.id}).then(res => {
console.log(res.data)
+ this.info = res.data
})
+ },
+ add () {
+ this.$refs.dialog.open()
}
},
}
--
Gitblit v1.9.3