From 522048130f147c2e8fbfb2798bfa83f3da5b4eed Mon Sep 17 00:00:00 2001 From: gaosp <gaosp> Date: 星期二, 16 一月 2024 22:23:17 +0800 Subject: [PATCH] 更新设备保养 --- src/container/maintenance/index.vue | 336 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 237 insertions(+), 99 deletions(-) diff --git a/src/container/maintenance/index.vue b/src/container/maintenance/index.vue index b651ca1..000ef15 100644 --- a/src/container/maintenance/index.vue +++ b/src/container/maintenance/index.vue @@ -1,110 +1,232 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed - * @LastEditTime: 2024-01-06 21:21:35 + * @LastEditTime: 2024-01-16 22:23:01 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/maintenance/index.vue --> <template> <div class="maintenance"> - <div class="nav">璁惧淇濆吇/鏃ュ父淇濆吇</div> - <List> + <div class="nav">璁惧淇濆吇/{{navName}}</div> + <List ref="list" url="/maintain/pageQuery"> <template slot="search"> <div class="item"> <span>缁熶竴缂栧彿</span> - <el-input class="item-value" v-model="query.no"></el-input> + <el-input class="item-value" v-model="queryInfo.uuid"></el-input> </div> <div class="item"> <span>璁惧鍚嶇О</span> - <!-- <el-input class="item-value" v-model="query.no"></el-input> --> - <el-select class="item-value" v-model="query.no" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select class="item-value" v-model="queryInfo.machineName" placeholder="璇烽�夋嫨"> + <el-option v-for="item in machineList" :key="item.id" :label="item.machineName" :value="item.id"> </el-option> </el-select> </div> - <div class="item"> + <!-- <div class="item"> <span>璁惧鍨嬪彿</span> - <el-input class="item-value" v-model="query.no"></el-input> + <el-input class="item-value" v-model="queryInfo.type"></el-input> </div> <div class="item"> <span>璁惧瑙勬牸</span> - <el-input class="item-value" v-model="query.no"></el-input> - </div> + <el-input class="item-value" v-model="queryInfo.specification"></el-input> + </div> --> <div class="item"> <span>浣跨敤閮ㄩ棬</span> - <el-input class="item-value" v-model="query.no"></el-input> + <el-select class="item-value" v-model="queryInfo.department"> + <el-option v-for="item in departmentlist" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> </div> - <div class="item"> + <!-- <div class="item"> <span>瀹夎浣嶇疆</span> - <el-input class="item-value" v-model="query.no"></el-input> - </div> + <el-input class="item-value" v-model="queryInfo.location"></el-input> + </div> --> <div class="item"> <span>璁″垝寮�濮嬫棩鏈�</span> - <!-- <el-input class="item-value" v-model="query.no"></el-input> --> - <el-date-picker - class="item-value" - v-model="query.no" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions"> + <el-date-picker class="item-value" v-model="queryInfo.planStartDate" align="right" type="date" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </div> <div class="item"> <span>璁″垝瀹屾垚鏃ユ湡</span> - <el-date-picker - class="item-value" - v-model="query.no" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions"> + <el-date-picker class="item-value" v-model="queryInfo.planFinishDate" align="right" type="date" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </div> <div class="item"> - <div class="query btn">鏌ヨ</div> + <el-button type="primary" size="small" @click="query">鏌ヨ</el-button> </div> <div class="item"> - <div class="reset btn">閲嶇疆</div> + <el-button type="primary" size="small" @click="reset">閲嶇疆</el-button> </div> </template> + <template slot="table-tool"> + <el-button type="primary" size="mini" @click="addDevice(1)">娣诲姞</el-button> + </template> <template slot="columns"> - <el-table-column - prop="date" - label="鏃ユ湡" - width="180"> + <!-- <el-table-column + type="selection" + align="center" + width="55"> + </el-table-column> --> + <!-- <el-table-column align="center" label="缁熶竴缂栧彿" prop="uuid"> + </el-table-column> --> + <el-table-column align="center" label="璁惧鍚嶇О" width="150" :show-overflow-tooltip="true" prop="machineName"> </el-table-column> - <el-table-column - prop="name" - label="濮撳悕" - width="180"> + <el-table-column align="center" label="璁惧鍨嬪彿" prop="type"> </el-table-column> - <el-table-column - prop="address" - label="鍦板潃"> + <el-table-column align="center" label="璁惧瑙勬牸" prop="specification"> + </el-table-column> + <el-table-column align="center" label="浣跨敤鍗曚綅" prop="department"> + </el-table-column> + <el-table-column align="center" label="淇濆吇鑰�" prop="userName"> + </el-table-column> + <el-table-column align="center" label="淇濆吇鍛ㄦ湡" prop="period"> + </el-table-column> + <el-table-column align="center" label="淇濆吇绫诲瀷" prop="style"> + <template slot-scope="scope"> + <span>{{ scope.row.style === "1" ? "鏃ュ父淇濆吇" : scope.row.style === "2" ? "涓�绾т繚鍏�" : + scope.row.style === "3" ? "浜岀骇淇濆吇" : "涓夌骇淇濆吇" }}</span> + </template> + </el-table-column> + <el-table-column align="center" width="110" label="鏄惁鍚堟牸" prop="isQualified"> + <template slot-scope="scope"> + <span>{{ scope.row.isQualified === "1" ? "鍚堟牸" : "涓嶅悎鏍�" }}</span> + </template> + </el-table-column> + <el-table-column align="center" width="120" :show-overflow-tooltip="true" label="璁″垝寮�濮嬫椂闂�"> + <template slot-scope="scope"> + <span v-if="scope.row.startDateFrom">{{ scope.row.startDateFrom + '~' + scope.row.startDateTo }}</span> + <span v-else></span> + </template> + </el-table-column> + <el-table-column align="center" width="120" :show-overflow-tooltip="true" label="璁″垝瀹屾垚鏃堕棿"> + <template slot-scope="scope"> + <span v-if="scope.row.completeDateFrom">{{ scope.row.completeDateFrom + '~' + + scope.row.completeDateTo }}</span> + <span v-else></span> + </template> + </el-table-column> + <el-table-column align="center" width="150" :show-overflow-tooltip="true" label="淇濆吇鍐呭涓庡瓨鍦ㄩ棶棰�" prop="detail"> + </el-table-column> + <el-table-column align="center" label="鎿嶄綔" prop="editor"> + <template slot-scope="scope"> + <el-button size="mini" type="text" @click="addDevice(2, scope.row, $event)">缂栬緫</el-button> + <el-button size="mini" type="text" @click="deleteHandle(scope.row)">鍒犻櫎</el-button> + </template> </el-table-column> </template> </List> + <DailyMAddD ref="dailyMAddD" @reflash="submitForm" :styleValue="queryInfo.style" :styleName="navName" :departmentlist="departmentlist" :machineList="machineList" :userList="userList"></DailyMAddD> </div> </template> <script> - import List from '../list/index.vue' - export default { - components: { - List +import List from '../list/index.vue' +import { getUseDpts,getRequest } from '@/api/Api' +import { userList } from '@/api/MdcApi' +import DailyMAddD from './dailyMAdd.vue' +export default { + components: { + List, + DailyMAddD + }, + computed: { + navName () { + let names = ['鏃ュ父淇濆吇','涓�绾т繚鍏�','浜岀骇淇濆吇','涓夌骇淇濆吇'] + return names[this.$route.params.style-1] }, - data () { - return { - query: { - no: '' - }, - options: [{}] - } + }, + watch: { + $route () { + this.queryInfo.style = this.$route.params.style + this.query() } - } + }, + data() { + return { + departmentlist: [], + userList: [], + machineList: [], + queryInfo: { + uuid: '', + machineName: '', + style: 1, + type: '', + specification: '', + department: '', + location: '', + planStartDate: '', + planFinishDate: '', + }, + + } + }, + mounted() { + this.init() + this.query() + }, + methods: { + init () { + // 鏌ヨ浣跨敤閮ㄩ棬 + getUseDpts().then(res => { + this.departmentlist = res.data.map(item => { + return { + value: item.id, + label: item.name + } + }) + }) + getRequest('machineList', { + }).then(res => { + this.machineList = res.data.list + console.log(res) + }) + getRequest('userList', { + }).then(res => { + this.userList = res.data.list + }) + }, + + query() { + this.$refs.list.pageQuery(this.queryInfo) + }, + reset() { + Object.keys(this.queryInfo).forEach(key => { + this.queryInfo[key] = '' + }) + }, + addDevice(n, row, event) { + if (n === 1) {//娣诲姞 + this.$nextTick(() => { + this.$refs.dailyMAddD.init(n) + }) + } else { + this.$nextTick(() => { + this.$refs.dailyMAddD.init(n, row) + }) + } + }, + deleteHandle(row) { + this.$confirm('纭畾瑕佹案涔呭垹闄ゆ椤�?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + getRequest('maintainDel', { ids: [row.id] }).then(res => { + this.$message({ + type: 'success', + message: '鍒犻櫎鎴愬姛锛�' + }) + this.query(); + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }) + }) + }) + }, + submitForm() { + + } + }, +} </script> <style lang="scss"> .maintenance { @@ -115,51 +237,67 @@ border: 1px solid #435F9E; } } + + .el-button--mini { + background: transparent; + } + + .el-button--primary { + background-color: transparent; + } } </style> <style lang="scss" scoped> - .maintenance { - width: 100%; - height: 100%; - overflow: hidden; - color: #FFF; +.maintenance { + width: 100%; + height: 100%; + overflow: hidden; + color: #FFF; + display: flex; + flex-direction: column; + + .nav { + padding: 10px 30px; + font-size: 14px; + } + + .item { + margin-top: 20px; + margin-left: 50px; display: flex; - flex-direction: column; - .nav { - padding: 10px 30px; + align-items: center; + + span { + width: 120px; + font-size: 16px; + font-family: PingFangSC, PingFang SC; + color: #C6DCE0; + text-align: right; + padding-right: 20px; } - .item { - margin-top: 20px; - margin-left: 50px; - display: flex; - align-items: center; - span { - width: 120px; - font-size: 16px; - font-family: PingFangSC, PingFang SC; - color: #C6DCE0; - text-align: right; - padding-right: 20px; - } - .item-value { - width: 200px; - border: 1px solid #435F9E; - } - .btn { - line-height: 1.5; - width: 100px; - text-align: center; - font-size: 16px; - cursor: pointer; - } - .reset { - background: #AAB6BA; - color: #FFF; - } - .query { - background: #5DD1FC; - color: #FFF; - } + + .item-value { + width: 200px; + border: 1px solid #435F9E; + } + + .btn { + line-height: 1.5; + width: 100px; + text-align: center; + font-size: 16px; + cursor: pointer; + } + + .reset { + background: #AAB6BA; + color: #FFF; + } + + .query { + background: #5DD1FC; + color: #FFF; } } +} </style> \ No newline at end of file -- Gitblit v1.9.3