Merge branch 'master' of http://www.beijingsoft.cn:9090/r/smart-web
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import config from "@/config" |
| | | import http from "@/utils/request" |
| | | |
| | | export default { |
| | | getList: { |
| | | url: `${config.API_URL}/blade-cps/shift-off-day/page`, |
| | | name: "è·å伿¯æ¥å表", |
| | | get: async function(params){ |
| | | return await http.post(this.url, params); |
| | | }, |
| | | getUrl () { |
| | | return this.url |
| | | } |
| | | }, |
| | | insert: { |
| | | url: `${config.API_URL}/blade-cps/shift-off-day/insert`, |
| | | name: "æ·»å 伿¯æ¥", |
| | | post: async function(params){ |
| | | return await http.post(this.url, params); |
| | | }, |
| | | |
| | | }, |
| | | update: { |
| | | url: `${config.API_URL}/blade-cps/shift-off-day/update`, |
| | | name: "æ´æ°ä¼æ¯æ¥", |
| | | post: async function(params){ |
| | | return await http.put(this.url, params); |
| | | }, |
| | | |
| | | }, |
| | | |
| | | } |
| | |
| | | <!-- |
| | | * @Date: 2024-04-04 22:45:43 |
| | | * @LastEditors: Sneed |
| | | * @LastEditTime: 2024-04-06 15:05:06 |
| | | * @LastEditTime: 2024-04-07 20:31:00 |
| | | * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/CalenderTab.vue |
| | | --> |
| | | <template> |
| | |
| | | <el-button type="primary">å é¤</el-button> |
| | | </el-header> |
| | | <el-main> |
| | | <Calendar disable-page-swipe :nav-visibility="''" :attributes='attributes'/> |
| | | <Calendar :rows="12" disable-page-swipe :nav-visibility="''" :attributes='attributes'/> |
| | | </el-main> |
| | | </el-container> |
| | | </el-container> |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | <style lang="scss"> |
| | | .card { |
| | | cursor: pointer; |
| | | margin: 12px 12px 12px 0; |
| | | } |
| | | .vc-arrow { |
| | | display: none!important;; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <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="13"> |
| | | <el-form-item label="年份" prop="year"> |
| | | <el-select style="width: 240px;" v-model="form.year"> |
| | | <el-option v-for="(item, index) in option.years" :key="index" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="13"> |
| | | <el-form-item label="æ¥æ" prop="date"> |
| | | <el-date-picker value-format="YYYY-MM-DD" style="width: 240px;" v-model="form.date" type="daterange" |
| | | range-separator="è³" start-placeholder="å¼å§" end-placeholder="ç»æ" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="13"> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input style="width: 240px;" v-model="form.remark" type="textarea"></el-input> |
| | | </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 |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | mode: "add", |
| | | titleMap: { |
| | | add: 'æ°å»ºä¼æ¯æ¥', |
| | | edit: 'ç¼è¾ä¼æ¯æ¥', |
| | | // show: 'æ¥ç' |
| | | }, |
| | | visible: false, |
| | | isSaveing: false, |
| | | //è¡¨åæ°æ® |
| | | form: { |
| | | id: '', |
| | | remark: "", |
| | | year: '', |
| | | date: '' |
| | | }, |
| | | //éªè¯è§å |
| | | rules: { |
| | | year: [ |
| | | { required: true, message: 'è¯·éæ©' } |
| | | ], |
| | | date: [ |
| | | { required: true, message: 'è¯·éæ©' } |
| | | ], |
| | | |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | //æ¾ç¤º |
| | | open(mode = 'add', params) { |
| | | this.mode = mode; |
| | | this.visible = true; |
| | | this.isSaveing = false; |
| | | if (params) { |
| | | let {remark,year,startOffDay,endOffDay,id} = params |
| | | this.form.remark = remark |
| | | this.form.year = year |
| | | this.form.date = [startOffDay,endOffDay] |
| | | this.form.id = id |
| | | |
| | | } else { |
| | | this.form.remark = '' |
| | | this.form.year = '' |
| | | this.form.date = [] |
| | | this.form.id = '' |
| | | } |
| | | return this |
| | | }, |
| | | //表åæäº¤æ¹æ³ |
| | | submit() { |
| | | this.$refs.dialogForm.validate(async (valid) => { |
| | | if (valid) { |
| | | this.isSaveing = true; |
| | | let {remark,year,id} = this.form |
| | | let [startOffDay = '',endOffDay = ''] = this.form.date |
| | | let data = { |
| | | endOffDay, |
| | | remark, |
| | | startOffDay, |
| | | year, |
| | | id |
| | | } |
| | | console.log('------',this.form.id) |
| | | let key = this.form.id ? 'update' : 'insert' |
| | | var res = await this.$API.time[key].post(data); |
| | | 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 { |
| | | this.isSaveing = false; |
| | | return false; |
| | | } |
| | | }) |
| | | }, |
| | | //è¡¨åæ³¨å
¥æ°æ® |
| | | setData(data) { |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | * @Date: 2024-04-07 20:43:26 |
| | | * @LastEditors: Sneed |
| | | * @LastEditTime: 2024-04-07 22:50:04 |
| | | * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/master/time/day-off/index.vue |
| | | --> |
| | | <template> |
| | | <el-container> |
| | | <el-header> |
| | | <el-button :disabled="selections.length == 0"> |
| | | å é¤ |
| | | </el-button> |
| | | <el-button @click="table_add"> |
| | | å建 |
| | | </el-button> |
| | | <el-select style="width: 200px;margin-left: auto;" v-model="year"> |
| | | <el-option v-for="(item, index) in years" :key="index" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | <el-date-picker style="width: 200px;flex: 0 0 auto;margin-left: 8px;" v-model="date" type="daterange" |
| | | range-separator="è³" start-placeholder="å¼å§" end-placeholder="ç»æ" /> |
| | | </el-header> |
| | | <el-main> |
| | | <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick" ref="table" :params="params" |
| | | :apiObj="apiObj" @selection-change="selectionChange" stripe> |
| | | <el-table-column type="selection" width="50"></el-table-column> |
| | | <el-table-column label="æå±å¹´ä»½" prop="year"></el-table-column> |
| | | <el-table-column label="æ¥æ" prop="startOffDay"> |
| | | <template #default="scope"> |
| | | <span>{{ scope.row.startOffDay }}-{{ scope.row.endOffDay }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="伿¯æ¥è¯´æ" prop="remark"></el-table-column> |
| | | <el-table-column label="æä½" fixed="right" align="right" width="160"> |
| | | <template #default="scope"> |
| | | <el-button-group> |
| | | <el-button text type="primary" size="small" |
| | | @click="table_edit(scope.row, scope.$index)">ç¼è¾</el-button> |
| | | <el-popconfirm title="ç¡®å®å é¤åï¼" @confirm="table_del(scope.row, scope.$index, '0')"> |
| | | <template #reference> |
| | | <el-button text type="primary" size="small">å é¤</el-button> |
| | | </template> |
| | | </el-popconfirm> |
| | | </el-button-group> |
| | | </template> |
| | | </el-table-column> |
| | | </scTable> |
| | | </el-main> |
| | | <Dialog @success="success" ref="dialog" :option="{ |
| | | years |
| | | }"></Dialog> |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import Dialog from './Dialog.vue' |
| | | export default { |
| | | components: { |
| | | Dialog |
| | | }, |
| | | data() { |
| | | return { |
| | | year: '', |
| | | date: '', |
| | | apiObj: '', |
| | | selections: [], |
| | | years: [] |
| | | } |
| | | }, |
| | | created() { |
| | | let startYear = 2020 |
| | | let years = [] |
| | | for (var i = 0; i < 100; i++) { |
| | | years.push(startYear + i) |
| | | } |
| | | this.years = years; |
| | | this.apiObj = this.$API.time.getList |
| | | }, |
| | | methods: { |
| | | table_add () { |
| | | this.$refs.dialog.open() |
| | | }, |
| | | table_edit (row) { |
| | | this.$refs.dialog.open('edit', row) |
| | | }, |
| | | table_del () { |
| | | }, |
| | | dataChange () {}, |
| | | rowClick () {}, |
| | | selectionChange (selections) { |
| | | this.selections = selections |
| | | }, |
| | | success () { |
| | | this.$refs.table.reload() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |