From 33cb3fe93bb5d67918f0b8fb169419407607c963 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期一, 17 七月 2023 14:40:47 +0800
Subject: [PATCH] 假期管理,计划停机。非计划停机管理界面的类型修改为下拉框,标准加工时间的界面的绘制和调取接口,测试
---
src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue | 5
src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue | 6
src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue | 7
src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue | 624 +++++++++++++++++++++
src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue | 5
src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue | 5
src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModalList.vue | 284 +++++++++
src/views/mdc/base/mdcStandardProcessDuration.vue | 122 ++++
src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue | 333 +++++++++++
src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue | 339 +++++++++++
10 files changed, 1,718 insertions(+), 12 deletions(-)
diff --git a/src/views/mdc/base/mdcStandardProcessDuration.vue b/src/views/mdc/base/mdcStandardProcessDuration.vue
new file mode 100644
index 0000000..a7f2a69
--- /dev/null
+++ b/src/views/mdc/base/mdcStandardProcessDuration.vue
@@ -0,0 +1,122 @@
+<template>
+ <div style="width: 100%; height: 100%;">
+ <a-card :bordered="false">
+ <a-row type="flex" :gutter="16">
+ <a-col :md="4">
+ <a-tabs :activeKey="activeKey" @change="tabChange">
+ <a-tab-pane key="1" tab="杞﹂棿灞傜骇" force-render>
+ <base-tree @getCurrSelected="changeSelectionNode"></base-tree>
+ </a-tab-pane>
+ <a-tab-pane key="2" tab="閮ㄩ棬灞傜骇">,
+ <depart-tree @getCurrSelectedDD="changeSelectionNodedd"
+ ></depart-tree>
+ </a-tab-pane>
+ </a-tabs>
+ </a-col>
+ <a-col :md="20">
+ <mdc-standard-process-duration-list ref="MdcStandardProcessDurationList" :nodePeople='selectPeople' :nodeTree = 'selectEquement' :Type="slectTypeTree"></mdc-standard-process-duration-list>
+ </a-col>
+ </a-row>
+ </a-card>
+ </div>
+
+</template>
+
+<script>
+ import { putAction, getAction } from '@/api/manage'
+ import { frozenBatch } from '@/api/api'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import JInput from '@/components/jeecg/JInput'
+ import BaseTree from '../common/BaseTree'
+ import MdcStandardProcessDurationList from './modules/mdcStandardProcessDuration/MdcStandardProcessDurationList'
+ import JSuperQuery from '@/components/jeecg/JSuperQuery'
+ import JThirdAppButton from '@/components/jeecgbiz/thirdApp/JThirdAppButton'
+ import DepartTree from './modules/DepartList/DepartListTree/DepartTree'
+ export default {
+ name: 'mdcStandardProcessDuration',
+ components: {
+ JThirdAppButton,
+ JInput,
+ BaseTree,
+ JSuperQuery,
+ DepartTree,
+ MdcStandardProcessDurationList
+ },
+ data() {
+ return {
+ activeKey: '1',
+ description: '璁惧淇℃伅',
+ selectEquementId: '',
+ selectEquement: {},
+ selectPeople:{},
+ slectTypeTree:"",
+ url: {
+ equipmentStatistics: '/mdc/equipment/equipmentStatistics'
+ }
+ }
+ },
+ created() {
+ },
+ methods: {
+ tabChange(val) {
+ // console.log(val);
+ this.activeKey = val
+ this.slectTypeTree = val
+ },
+ // changeSelection(val) {
+ // this.selectEquementId = val
+ // this.$refs.efficiencyList.pQuery(val)
+ // this.$refs.efficiencyList.searchQuery()
+ // },
+ changeSelectionNode(val) {
+ this.selectEquement = val
+ this.slectTypeTree = "1"
+ },
+ changeSelectionNodedd(val) {
+ this.selectPeople = val
+ this.slectTypeTree = "2"
+ }
+ }
+
+ }
+</script>
+<style scoped>
+ @import '~@assets/less/common.less';
+
+ .equipMessage {
+ width: 100%;
+ height: 10%;
+ }
+
+ .equipMessage table {
+ width: 60%;
+ height: 100%;
+ line-height: 50%;
+ }
+
+ .equipMessage table td {
+ text-align: center;
+ }
+
+ .equipMessage table td span {
+ display: inline-block;
+ width: 15px;
+ height: 15px;
+ }
+
+ .equipMessage table td .equipShutdown {
+ background-color: #808080;
+ }
+
+ .equipMessage table td .equipStandby {
+ background-color: #ffbf37;
+ }
+
+ .equipMessage table td .equipRun {
+ background-color: #19FE01;
+ }
+
+ .equipMessage table td .equipAlarm {
+ background-color: #FD0008;
+ }
+</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
index 6779340..f1f97e2 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
@@ -20,8 +20,9 @@
</a-col>
<a-col :span="12">
<a-form-item label="绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol">
- <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ョ被鍨�"
- v-decorator="['vacationType', validatorRules.vacationType]"/>
+ <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
+ :triggerChange="true" dictCode="vacation_type "
+ v-decorator="['vacationType', validatorRules.vacationType]" allow-clear/>
</a-form-item>
</a-col>
</a-row>
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
index f5d2f56..721902f 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
@@ -21,8 +21,9 @@
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol">
- <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ョ被鍨�"
- v-decorator="['vacationType', validatorRules.vacationType]"/>
+ <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
+ :triggerChange="true" dictCode="vacation_type "
+ v-decorator="['vacationType', validatorRules.vacationType]" allow-clear/>
</a-form-item>
</a-col>
<a-col :span="12">
diff --git a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
index 04ba466..05609ed 100644
--- a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
+++ b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
@@ -5,7 +5,10 @@
<a-row>
<a-col :span="24">
<a-form-model-item label="绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCloseType">
- <a-input v-model="model.planCloseType" placeholder="璇疯緭鍏ョ被鍨�" ></a-input>
+ <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
+ :triggerChange="true" dictCode="mdc_plan_type "
+ v-model="model.planCloseType" allow-clear/>
+
</a-form-model-item>
</a-col>
<a-col :span="24">
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
index 2b2f5fd..fef87aa 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
@@ -28,9 +28,9 @@
<a-row :gutter="24">
<a-col :span="24">
<a-form-item label="绫诲瀷" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
- <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ョ被鍨�"
- :triggerChange="true"
- v-decorator="['noplanType', validatorRules.noplanType]"/>
+ <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
+ :triggerChange="true" dictCode="mdc_noplan_type"
+ v-decorator="['noplanType', validatorRules.noplanType]" allow-clear/>
</a-form-item>
</a-col>
</a-row>
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
index 157980f..f760b2f 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
@@ -36,9 +36,9 @@
<a-row :gutter="24">
<a-col :span="24">
<a-form-item label="绫诲瀷" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
- <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ョ被鍨�"
- :triggerChange="true"
- v-decorator="['noplanType', validatorRules.noplanType]"/>
+ <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
+ :triggerChange="true" dictCode="mdc_noplan_type"
+ v-decorator="['noplanType', validatorRules.noplanType]" allow-clear/>
</a-form-item>
</a-col>
</a-row>
@@ -60,7 +60,6 @@
import pick from 'lodash.pick'
// import DeviceRepairListModel from './DeviceRepairListModel'
// import DeviceRepairEditListModel from './DeviceRepairEditListModel'
- // import JDate from './JDate'
import {
getAction,
postAction,
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
new file mode 100644
index 0000000..2da846d
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
@@ -0,0 +1,339 @@
+<template>
+ <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading"
+ :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
+ <a-spin :spinning="confirmLoading">
+ <a-form :form="form">
+ <a-row :gutter="24">
+ <a-col :span="12">
+ <a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
+ v-decorator="['equipmentId',validatorRules.equipmentId]"/>
+ </a-form-item>
+
+ </a-col>
+ <a-col :span="12">
+ <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ v-decorator="['equipmentName',validatorRules.equipmentName]"/>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-col :span="12">
+ <a-form-item label="闆朵欢鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ラ浂浠跺彿" v-decorator="['partsCode', validatorRules.partsCode]"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ユ壒娆″彿" v-decorator="['batchCode', validatorRules.batchCode]"></a-input>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-col :span="12">
+ <a-form-item label="绋嬪簭鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ョ▼搴忓彿" v-decorator="['sequenceNumber', validatorRules.sequenceNumber]"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-item label="鏃堕暱锛堝垎閽燂級" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ユ椂闀�" v-decorator="['duration', validatorRules.duration]"></a-input>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+ <a-textarea :disabled="disableSubmit" v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�" ></a-textarea>
+ </a-form-item>
+ </a-row>
+ </a-form>
+ </a-spin>
+ <!--<device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>-->
+ <!--<device-repair-edit-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model>-->
+ </a-modal>
+</template>
+
+<script>
+ import moment from 'moment'
+ import pick from 'lodash.pick'
+ // import DeviceRepairListModel from './DeviceRepairListModel'
+ // import DeviceRepairEditListModel from './DeviceRepairEditListModel'
+ // import JDate from './JDate'
+ import {
+ getAction,
+ postAction,
+ requestPut
+ } from '@/api/manage'
+ import {
+ duplicateCheck
+ } from '@/api/api'
+
+ export default {
+ name: 'MdcStandardProcessDurationModalEdit',
+ // components: {DeviceRepairListModel,JDate,DeviceRepairEditListModel},
+ props: {},
+ data() {
+ return {
+ readOnly:true,
+ title: '',
+ visible: false,
+ show: false,
+ model: {},
+ checked: false,
+ startData:"",
+ endData:"",
+ labelCol: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 6
+ }
+ },
+ wrapperCol: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 18
+ }
+ },
+ labelColLong: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 3
+ }
+ },
+ wrapperColLong: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 21
+ }
+ },
+ confirmLoading: false,
+ form: this.$form.createForm(this),
+ validatorRules: {
+ equipmentId:{
+ rules:[
+ {
+ required:true,
+ message: ""
+ },
+ ],
+ },
+ equipmentName:{
+ rules:[
+ {
+ required:true,
+ message: ""
+ },
+ ],
+ },
+ // mdcRepairType:{
+ // rules:[
+ // {
+ // required:true,
+ // message: ""
+ // },
+ // ],
+ // initialValue: '浼戠彮'
+ // }
+ },
+
+ url: {
+ add: '/mdc/mdcStandardProcessDuration/add',
+ edit: '/mdc/mdcStandardProcessDuration/edit'
+ },
+
+ disableSubmit: true,
+ partCategoryCascade: [],
+ cascadeDefaultValue: [],
+ editStart:''
+ }
+ },
+ created() {
+ },
+
+ methods: {
+ disabledDate(current){
+ //Can not slect days before today and today
+ // return current && current < moment().endOf("day");
+ return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+ },
+ moment,
+ // onChange(dates) {
+ // console.log(111)
+ // console.log(dates,dateStrings)
+ // // console.log('From: ', dates[0], ', to: ', dates[1]);
+ // // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]);
+ // // this.startTime = dateStrings[0];
+ // // this.endData = dateStrings[1];
+ // // console.log(this.startData,this.endData);
+ // },
+ onChangeEnd(dates, dateStrings){
+ this.endTime = dateStrings[0];
+ },
+ getDeviceRows(val) {
+ this.form.setFieldsValue({
+ equipmentId: val.equipmentId,
+ equipmentName: val.equipmentName,
+ // // equipmentModel: val.equipmentModel,
+ // // equipmentIp: val.equipmentIp,
+ // // dataPort: val.dataPort,
+ // // driveType: val.driveType
+ })
+ // var equipmentIds;
+ // for(var i = 0;i<val.length;i++){
+ // if (i == 0) {
+ // equipmentIds = val[i].equipmentId;
+ // } else {
+ // equipmentIds = equipmentIds + "," + val[i].equipmentId;
+ // }
+ // }
+ // console.log("========",equipmentIds);
+ // this.form.setFieldsValue({
+ // equipmentId: equipmentIds,
+ // })
+ },
+ deviceSearch() {
+ this.$refs.deviceRepairListModel.openPage()
+ this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧'
+ this.$refs.deviceRepairListModel.disableSubmit = false
+ },
+ //绾ц仈妗唎nChange浜嬩欢
+ // onChange(value) {
+ //
+ // },
+ getParentIdsById(id) {
+ let that = this
+ getAction(this.url.getParentIdsById, {
+ id: id
+ }).then((res) => {
+ if (res.success) {
+ that.form.setFieldsValue({
+ partCategoryId: res.result
+ })
+ }
+ })
+ },
+ add(node) {
+ let _this = this
+ this.visible = true
+ this.form.resetFields()
+ this.model = {}
+ this.$nextTick(() => {
+ // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title })
+ // _this.model.parentId = node.key
+ })
+ },
+ edit(record) {
+ this.form.resetFields()
+ this.model = Object.assign({}, record)
+ // this.editStart = (this.model.startTime).replace(/:/g,'');
+ this.visible = true
+ this.$nextTick(() => {
+ this.form.setFieldsValue(pick(this.model,'equipmentId', 'equipmentName','vacationDate', 'vacationType','notes'
+ ))
+ })
+ },
+ close() {
+ this.$emit('close')
+ this.visible = false
+ this.show = false
+ },
+ handleOk() {
+ const that = this
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.form.validateFields((err, values) => {
+ if (!err) {
+ that.confirmLoading = true
+ let formData = Object.assign(this.model, values)
+ let obj
+ if (!this.model.id) {
+ obj = postAction(this.url.add, formData)
+ } else {
+ obj = requestPut(this.url.edit, formData, {
+ id: this.model.id
+ })
+ }
+ obj.then((res) => {
+ if (res.success) {
+ that.$message.success("淇敼鎴愬姛")
+ // that.$message.success(res.message)
+ that.$emit('ok', res.result)
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false
+ that.close()
+ })
+ }
+ })
+ },
+ handleCancel() {
+ this.close()
+ },
+ // loadCascade() {
+ // getAction(this.url.loadCascadeData).then((res) => {
+ // if (res.success) {
+ // this.partCategoryCascade = res.result
+ // }
+ // })
+ // },
+ onCascadeChange(value, selectedOptions) {
+ this.cascadeDefaultValue = [...value]
+ },
+ filter(inputValue, path) {
+ return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1)
+ },
+ //楠岃瘉 缂栫爜
+ validateNum(rule, value, callback) {
+ var params = {
+ tableName: 'lxmes_base_part',
+ fieldName: 'num',
+ fieldVal: value,
+ dataId: this.model.id,
+ //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+ delFlag: 'true'
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('瀛樿揣缂栫爜宸插瓨鍦�!')
+ }
+ })
+ },
+ checkboxChange(e) {
+ this.checked = e.target.checked
+ }
+ }
+ }
+</script>
+
+<style scoped>
+ .ant-btn {
+ padding: 0 10px;
+ margin-left: 3px;
+ }
+
+ .ant-form-item-control {
+ line-height: 0px;
+ }
+
+ /** 涓昏〃鍗曡闂磋窛 */
+ .ant-form .ant-form-item {
+ margin-bottom: 10px;
+ }
+
+ /** Tab椤甸潰琛岄棿璺� */
+ .ant-tabs-content .ant-form-item {
+ margin-bottom: 0px;
+ }
+</style>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
new file mode 100644
index 0000000..7fa4ce5
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
@@ -0,0 +1,624 @@
+<template>
+ <a-card :bordered="false" class="device_list">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ <a-col :md="7" :sm="7">
+ <a-form-item label="鏃堕棿">
+ <a-range-picker @change="dateParamChange" v-model="dates" format="YYYY-MM-DD"/>
+ </a-form-item>
+ </a-col>
+ <a-col :md="4" :sm="4">
+ <a-form-item label="璁惧缂栧彿">
+ <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" v-model="queryParams.equipmentId"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :md="4" :sm="4" :xs="4">
+ <a-form-item label="璁惧鍚嶇О">
+ <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :md="2" :sm="3" :xs="3">
+ <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+ </a-col>
+ <a-col :md="2" :sm="2" :xs="2">
+ <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+ </a-col>
+ <!--<a-col :lg="2" :md="3" :sm="3" :xs="3">-->
+ <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+ <!--</a-col>-->
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator" style="display: inline;">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板
+ </a-button>
+ <!--<a-button type="primary" icon="download" @click="handleExportXls('鍋囨湡绠$悊')">瀵煎嚭</a-button>-->
+ <!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
+ <!--<a-button type="primary" icon="import">瀵煎叆</a-button>-->
+ <!--</a-upload>-->
+ <a-dropdown v-if="selectedRowKeys.length > 0">
+ <a-menu slot="overlay">
+ <a-menu-item key="1" @click="batchDel">
+ <a-icon type="delete"/>
+ 鍒犻櫎
+ </a-menu-item>
+ </a-menu>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
+ <a-icon type="down"/>
+ </a-button>
+ </a-dropdown>
+ </div>
+
+ <!-- table鍖哄煙-begin -->
+ <div id="DeviceList">
+ <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"
+ :scroll="{x:1000}" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ @change="handleTableChange">
+ <span slot="action" slot-scope="text, record">
+ <a @click="handleEdit(record)">缂栬緫</a>
+ <a-divider type="vertical" />
+ <a @click="handleDelete(record.id)">鍒犻櫎</a>
+ </span>
+ <!--瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず-->
+ <span slot="num" slot-scope="text" style="font-weight: bold">
+ <j-ellipsis :value="text" :length="8"/>
+ </span>
+ <span slot="name" slot-scope="text" style="font-weight: bold">
+ <j-ellipsis :value="text" :length="8"/>
+ </span>
+ <span slot="model" slot-scope="text" style="font-weight: bold">
+ <j-ellipsis :value="text" :length="8"/>
+ </span>
+ </a-table>
+ </div>
+ <!-- table鍖哄煙-end -->
+ <!--<device-repair-model></device-repair-model>-->
+ <mdc-standard-process-duration-modal ref="modalForm" @ok="modalFormOk"></mdc-standard-process-duration-modal>
+ <mdc-standard-process-duration-edit ref="modalFormedit" @ok="modalFormOk"></mdc-standard-process-duration-edit>
+
+ </a-card>
+</template>
+
+<script>
+ import moment from 'moment'
+ import $ from 'jquery'
+ import JDictSelectTag from '@/components/dict/JDictSelectTag'
+ import JDate from '../../../../../components/jeecg/JDate'
+ import {
+ requestPut,
+ deleteAction,
+ getAction
+ } from '@/api/manage'
+ import MdcStandardProcessDurationModal from './MdcStandardProcessDurationModal'
+ import MdcStandardProcessDurationEdit from './MdcStandardProcessDurationEdit'
+ // import DeviceRepairModelAdd from './DeviceRepairModelAdd'
+ // import DeviceRepairModelEdit from './DeviceRepairModelEdit'
+ import '@/components/table2excel/table2excel'
+ import {
+ JeecgListMixin
+ } from '@/mixins/JeecgListMixin'
+ import JInput from '@/components/jeecg/JInput'
+ import JEllipsis from '@/components/jeecg/JEllipsis'
+ import Tooltip from 'ant-design-vue/es/tooltip'
+ import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+ export default {
+ name: 'MdcStandardProcessDurationList',
+ mixins: [JeecgListMixin],
+ components: {
+ Tooltip,
+ MdcStandardProcessDurationModal,
+ MdcStandardProcessDurationEdit,
+ // DeviceRepairModelAdd,
+ // DeviceRepairModelEdit,
+ JDictSelectTag,
+ JInput,
+ JDate,
+ JEllipsis
+ },
+ props: { nodeTree: '', Type:'',nodePeople: '' },
+ data() {
+ return {
+ typeTree:"",
+ typeParent:1,
+ typeEquipment:1,
+ dates: [],
+ xianshi:"",
+ readOnly:true,
+ queryParam: {},
+ queryParams:{},
+ queryParamEquip:{},
+ queryParamPeople:{},
+ dataStartsoucre:[],
+ columns: [
+ {
+ title: '璁惧缂栧彿',
+ align: 'center',
+ dataIndex: 'equipmentId'
+ },
+ {
+ title: '璁惧鍚嶇О',
+ align: 'center',
+ dataIndex: 'equipmentName',
+ // defaultSortOrder:'descend',
+ // sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1}
+ },
+ {
+ title: '闆朵欢鍙�',
+ align: 'center',
+ dataIndex: 'partsCode',
+ // scopedSlots:{customRender:'startTime'},
+ // customRender:(text,row,index) => {
+ // return moment(text).format("YYYY-MM-DD HH:mm:ss")
+ // }
+ },
+ {
+ title: '鎵规鍙�',
+ align: 'center',
+ dataIndex: 'batchCode'
+ },
+ {
+ title: '绋嬪簭鍙�',
+ align: 'center',
+ dataIndex: 'sequenceNumber'
+ },
+ {
+ title: '鏃堕暱锛堝垎閽燂級',
+ align: 'center',
+ dataIndex: 'duration'
+ },
+ {
+ title: '澶囨敞',
+ align: 'center',
+ dataIndex: 'remark'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ scopedSlots: {customRender: 'action'},
+ align: "center",
+ width: 150
+ }
+ ],
+ url: {
+ list: '/mdc/mdcStandardProcessDuration/list',
+ delete: '/mdc/mdcStandardProcessDuration/delete',
+ deleteBatch: '/mdc/mdcStandardProcessDuration/deleteBatch',
+ getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
+ exportXlsUrl: "/mdc/MdcTorqueConfig/exportXls",
+ importExcelUrl: "/mdc/MdcTorqueConfig/importExcel",
+ }
+ }
+ },
+ watch:{
+ Type(valmath){
+ this.dataList = [];
+ this.queryParams.typeTree = valmath
+ // console.log(this.queryParams.typeTree)
+ },
+ nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
+ if (JSON.stringify(val) != '{}') {
+ if (val.equipmentId) {
+ this.queryParamEquip.parentId = ""
+ this.queryParams.equipmentId = val.equipmentId
+ this.queryParamEquip.equipmentId = val.equipmentId
+ } else {
+ this.queryParamEquip.parentId = val.key
+ this.queryParams.equipmentId = ''
+ }
+ this.searchQuery()
+ }
+ },
+ nodePeople(val){
+ if (JSON.stringify(val) != '{}') {
+ if (val.equipmentId) {
+ this.queryParamEquip.parentId = ""
+ this.queryParams.equipmentId = val.equipmentId
+ this.queryParamEquip.equipmentId = val.equipmentId
+ } else {
+ this.queryParamPeople.parentId = val.key
+ this.queryParams.equipmentId = ''
+ }
+ this.searchQuery()
+ }
+ }
+ },
+ computed: {
+ importExcelUrl: function(){
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+ },
+ },
+ methods: {
+ dateParamChange(v1, v2) {
+ // console.log(v1,v2)
+ this.queryParam.startTime = v2[0]
+ this.queryParam.endTime = v2[1]
+ // console.log(v2[0],v2[1])
+ },
+ onChange(value, dateString) {
+ // console.log('Selected Time: ', value);
+ // console.log('Formatted Selected Time: ', dateString);
+ },
+ onOk(value) {
+ console.log('onOk: ', value);
+ },
+ searchReset() {
+ if(this.queryParams.typeTree == "1"){
+ this.typeTree = this.queryParams.typeTree
+ this.typeParent = this.queryParams.parentId
+ this.typeEquipment = this.queryParams.equipmentId
+ this.queryParams = {}
+ this.queryParam = {}
+ this.dates = []
+ this.queryParams.typeTree = this.typeTree
+ this.queryParams.parentId = this.typeParent
+ if(this.queryParams.parentId != ""){
+ this.queryParams.equipmentId = ""
+ }else{
+ if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
+ this.queryParams.equipmentId = this.typeEquipment
+ }else{
+ this.queryParams.equipmentId = this.queryParamEquip.equipmentId
+ }
+
+ }
+
+ this.ipagination.current = 1
+ this.ResetloadData();
+ }else{
+ this.typeTree = this.queryParams.typeTree
+ this.typeParent = this.queryParams.parentId
+ // this.typeEquipment = this.queryParams.equipmentId
+ this.queryParams = {}
+ this.queryParam = {}
+ this.dates = []
+ this.queryParams.typeTree = this.typeTree
+ this.queryParams.parentId = this.typeParent
+ // this.queryParams.equipmentId = this.typeEquipment
+ this.ipagination.current = 1
+ this.ResetloadData();
+ }
+
+ },
+ ResetloadData() {
+ if(!this.url.list){
+ this.$message.error("璇疯缃畊rl.list灞炴��!")
+ return
+ }
+ //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+ var params = this.getQueryParams();//鏌ヨ鏉′欢
+ if(!params){
+ return false;
+ }
+ params.typeTree = this.queryParams.typeTree
+ params.parentId = this.queryParams.parentId
+ params.equipmentId = this.queryParams.equipmentId
+ this.loading = true;
+ getAction(this.url.list, params).then((res) => {
+ if (res.success) {
+ this.dataSource = res.result.records||res.result;
+ // this.initDeviceType(this.dataSource)
+ //update-begin---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ // this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ handleEdit: function (record) {
+ this.$refs.modalFormedit.edit(record);
+ this.$refs.modalFormedit.title = "缂栬緫";
+ this.$refs.modalFormedit.disableSubmit = false;
+ },
+ handleTableChange(pagination, filters, sorter) {
+ this.dataSource = []
+ //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
+ //TODO 绛涢��
+ // console.log(pagination)
+ if (Object.keys(sorter).length > 0) {
+ this.isorter.column = sorter.field;
+ this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
+ }
+ this.ipagination = pagination;
+ //鑾峰彇鏌ヨ鏉′欢
+ let sqp = {}
+ if(this.superQueryParams){
+ sqp['superQueryParams']=encodeURI(this.superQueryParams)
+ sqp['superQueryMatchType'] = this.superQueryMatchType
+ }
+ var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+ param.pageNo = this.ipagination.current;
+ param.pageSize = this.ipagination.pageSize;
+ param.field = this.getQueryField();
+ param.parentId = this.queryParams.parentId;
+ param.equipmentId = this.queryParams.equipmentId;
+ param.startTime = this.queryParam.startTime;
+ param.endTime = this.queryParam.endTime;
+ getAction(this.url.list,param).then((res) => {
+ if(res.success){
+ this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ searchQueryEdit(){
+ if(this.queryParams.typeTree == "1"){
+ this.queryParams.parentId = this.queryParamEquip.parentId
+ }else{
+ this.queryParams.parentId = this.queryParamPeople.parentId
+ this.queryParams.equipmentIds = ""
+ }
+ this.dataSource = [];
+ //鑾峰彇鏌ヨ鏉′欢
+ let sqp = {}
+ if(this.superQueryParams){
+ sqp['superQueryParams']=encodeURI(this.superQueryParams)
+ sqp['superQueryMatchType'] = this.superQueryMatchType
+ }
+ var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+ param.pageNo = this.ipagination.current;
+ param.pageSize = this.ipagination.pageSize;
+ param.field = this.getQueryField();
+ param.parentId = this.queryParams.parentId;
+ param.equipmentId = this.queryParams.equipmentId;
+ param.startTime = this.queryParam.startTime;
+ param.endTime = this.queryParam.endTime;
+ getAction(this.url.list,param).then((res) => {
+ if(res.success){
+ this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ searchQuery(){
+ if(this.queryParams.typeTree == "1"){
+ this.queryParams.parentId = this.queryParamEquip.parentId
+ // this.queryParams.equipmentId = this.queryParamEquip.equipmentId
+
+ }else{
+ this.queryParams.parentId = this.queryParamPeople.parentId
+
+ // this.queryParams.equipmentId = ""
+ }
+ this.dataSource = [];
+ //鑾峰彇鏌ヨ鏉′欢
+ let sqp = {}
+ if(this.superQueryParams){
+ sqp['superQueryParams']=encodeURI(this.superQueryParams)
+ sqp['superQueryMatchType'] = this.superQueryMatchType
+ }
+ var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
+ param.pageNo = 1;
+ param.pageSize = this.ipagination.pageSize;
+ param.field = this.getQueryField();
+ param.parentId = this.queryParams.parentId;
+ param.equipmentId = this.queryParams.equipmentId;
+ param.startTime = this.queryParam.startTime;
+ param.endTime = this.queryParam.endTime;
+ // console.log(param);
+ getAction(this.url.list,param).then((res) => {
+ if(res.success){
+ this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ loadData(arg) {
+ if(!this.url.list){
+ this.$message.error("璇疯缃畊rl.list灞炴��!")
+ return
+ }
+ //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+ if (arg === 1) {
+ this.ipagination.current = 1;
+ }
+ var params = this.getQueryParams();//鏌ヨ鏉′欢
+ if(!params){
+ return false;
+ }
+ this.loading = true;
+ getAction(this.url.list, params).then((res) => {
+ if (res.success) {
+ this.dataSource = res.result.records||res.result;
+ // this.initDeviceType(this.dataSource)
+ //update-begin---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ // this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ modalFormOk(val) {
+ // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+ this.searchQueryEdit();
+ // this.$emit('openBasetree','')
+ this.selectedRowKeys = []
+ },
+ handleDelete: function (id) {
+ if(!this.url.delete){
+ this.$message.error("璇疯缃畊rl.delete灞炴��!")
+ return
+ }
+ var that = this;
+ deleteAction(that.url.delete, {id: id}).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(1)
+ that.$message.success(res.message);
+ that.searchQuery();
+ } else {
+ that.$message.warning(res.message);
+ }
+ });
+ },
+ batchDel: function () {
+ if(!this.url.deleteBatch){
+ this.$message.error("璇疯缃畊rl.deleteBatch灞炴��!")
+ return
+ }
+ if (this.selectedRowKeys.length <= 0) {
+ this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+ return;
+ } else {
+ var ids = "";
+ for (var a = 0; a < this.selectedRowKeys.length; a++) {
+ ids += this.selectedRowKeys[a] + ",";
+ }
+ var that = this;
+ this.$confirm({
+ title: "纭鍒犻櫎",
+ content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
+ onOk: function () {
+ that.loading = true;
+ deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(that.selectedRowKeys.length)
+ that.$message.success(res.message);
+ that.loadData();
+ that.onClearSelected();
+ } else {
+ that.$message.warning(res.message);
+ }
+ }).finally(() => {
+ that.loading = false;
+ });
+ }
+ });
+ }
+ },
+ handleAdd() {
+ this.$refs.modalForm.add(this.node)
+ this.$refs.modalForm.title = '鏂板'
+ this.$refs.modalForm.disableSubmit = false
+ },
+ handleAddXIU() {
+ this.$refs.modalFormadd.add()
+ this.$refs.modalFormadd.title = '鏂板'
+ this.$refs.modalFormadd.disableSubmit = false
+ },
+ pQuery(parentId) {
+ this.queryParam.parentId = parentId[0]
+ if(this.selectedRowKeys.length >= 1) {
+ this.selectedRowKeys.length = 0
+ }
+ this.loadData()
+ },
+ onSelectChange(selectedRowKeys) {
+ this.selectedRowKeys = selectedRowKeys
+ },
+ initEquipment(id) {
+ let _this = this
+ getAction(this.url.getEquipmentByPid, { pid: id }).then((res) => {
+ if (res.success) {
+ if (res.result) {
+ _this.$set(this.queryParams, 'equipmentName', res.result.equipmentName)
+ _this.$set(this.queryParams, 'equipmentId', res.result.equipmentId)
+ _this.equipment = res.result
+ _this.searchQuery()
+ } else {
+ _this.$message.warning('璇烽厤缃澶囷紒')
+ }
+ }
+ })
+ },
+ exportExcel() {
+ $("#DeviceList").table2excel({
+ exclude: ".noExl",
+ name: "Excel Document Name",
+ filename: "鎵煩閰嶇疆",
+ exclude_img: true,
+ fileext: ".xls",
+ exclude_links: true,
+ exclude_inputs: true
+ });
+ },
+ },
+ created() {
+ this.queryParam.typeTree = "1"
+ }
+ }
+</script>
+
+<style lang="less" scoped>
+ @import '~@assets/less/common.less';
+
+ @media screen and (min-width: 1920px){
+ .device_list{
+ height: 811px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1680px) and (max-width: 1920px){
+ .device_list{
+ height: 811px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1400px) and (max-width: 1680px){
+ .device_list{
+ height: 663px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1280px) and (max-width: 1400px){
+ .device_list{
+ height: 564px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (max-width: 1280px){
+ .device_list{
+ height: 564px!important;
+ overflow: scroll;
+ }
+ }
+</style>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
new file mode 100644
index 0000000..bcec602
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
@@ -0,0 +1,333 @@
+<template>
+ <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading"
+ :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
+ <a-spin :spinning="confirmLoading">
+ <a-form :form="form">
+ <a-row :gutter="24">
+ <a-col :span="24">
+ <a-form-item label="璁惧缁�" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+ <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]"
+ @search="deviceSearch" enter-button/>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-col :span="12">
+ <a-form-item label="闆朵欢鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ラ浂浠跺彿" v-decorator="['partsCode', validatorRules.partsCode]"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ユ壒娆″彿" v-decorator="['batchCode', validatorRules.batchCode]"></a-input>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-col :span="12">
+ <a-form-item label="绋嬪簭鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ョ▼搴忓彿" v-decorator="['sequenceNumber', validatorRules.sequenceNumber]"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :span="12">
+ <a-form-item label="鏃堕暱锛堝垎閽燂級" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-input placeholder="璇疯緭鍏ユ椂闀�" v-decorator="['duration', validatorRules.duration]"></a-input>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ <a-row :gutter="24">
+ <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+ <a-textarea v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�" ></a-textarea>
+ </a-form-item>
+ </a-row>
+ </a-form>
+ </a-spin>
+ <mdc-standard-process-duration-modal-list ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></mdc-standard-process-duration-modal-list>
+
+ </a-modal>
+</template>
+
+<script>
+ import moment from 'moment'
+ import pick from 'lodash.pick'
+ import MdcStandardProcessDurationModalList from './MdcStandardProcessDurationModalList'
+ // import JDate from './JDate'
+ import {
+ getAction,
+ postAction,
+ requestPut
+ } from '@/api/manage'
+ import {
+ duplicateCheck
+ } from '@/api/api'
+
+ export default {
+ name: 'MdcStandardProcessDurationModal',
+ components: {MdcStandardProcessDurationModalList},
+ props: {},
+ data() {
+ return {
+ mesag:21,
+ readOnly:true,
+ title: '',
+ visible: false,
+ show: false,
+ model: {},
+ checked: false,
+ startData:"",
+ endData:"",
+ labelCol: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 6
+ }
+ },
+ wrapperCol: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 18
+ }
+ },
+ labelColLong: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 3
+ }
+ },
+ wrapperColLong: {
+ xs: {
+ span: 24
+ },
+ sm: {
+ span: 21
+ }
+ },
+ confirmLoading: false,
+ form: this.$form.createForm(this),
+ validatorRules: {
+ equipmentIds:{
+ rules:[
+ {
+ required:true,
+ message: "璇烽�夋嫨璁惧"
+ },
+ ],
+ },
+ },
+
+ url: {
+ add: '/mdc/mdcStandardProcessDuration/add',
+ edit: '/mdc/mdcStandardProcessDuration/edit'
+ },
+
+ disableSubmit: true,
+ partCategoryCascade: [],
+ cascadeDefaultValue: []
+ }
+ },
+ created() {
+ },
+
+ methods: {
+ // disabledDate(current){
+ // //Can not slect days before today and today
+ // // return current && current < moment().endOf("day");
+ // return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+ // },
+ moment,
+ // onChange(dates) {
+ // // console.log(111)
+ // // console.log(dates,dateStrings)
+ // // console.log('From: ', dates[0], ', to: ', dates[1]);
+ // // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]);
+ // // this.startTime = dateStrings[0];
+ // // this.endData = dateStrings[1];
+ // // console.log(this.startData,this.endData);
+ // },
+ onChangeEnd(dates, dateStrings){
+ this.endTime = dateStrings[0];
+ },
+ getDeviceRows(val) {
+ var equipmentIds;
+ for(var i = 0;i<val.length;i++){
+ if (i == 0) {
+ equipmentIds = val[i].equipmentId;
+ } else {
+ equipmentIds = equipmentIds + "," + val[i].equipmentId;
+ }
+ }
+ // console.log("========",equipmentIds);
+ this.form.setFieldsValue({
+ equipmentIds: equipmentIds,
+ })
+ // this.form.setFieldsValue({
+ // equipmentId: val.equipmentId,
+ // equipmentName: val.equipmentName,
+ // equipmentModel: val.equipmentModel,
+ // equipmentIp: val.equipmentIp,
+ // dataPort: val.dataPort,
+ // driveType: val.driveType
+ // })
+ },
+ deviceSearch() {
+ this.$refs.deviceRepairListModel.openPage()
+ this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧'
+ this.$refs.deviceRepairListModel.disableSubmit = false
+ },
+ //绾ц仈妗唎nChange浜嬩欢
+ // onChange(value) {
+ //
+ // },
+ getParentIdsById(id) {
+ let that = this
+ getAction(this.url.getParentIdsById, {
+ id: id
+ }).then((res) => {
+ if (res.success) {
+ that.form.setFieldsValue({
+ partCategoryId: res.result
+ })
+ }
+ })
+ },
+ add(node) {
+ let _this = this
+ this.visible = true
+ this.form.resetFields()
+ this.model = {}
+ this.$nextTick(() => {
+ // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title })
+ // _this.model.parentId = node.key
+ })
+ },
+ edit(record) {
+ this.form.resetFields()
+ this.model = Object.assign({}, record)
+ this.visible = true
+ this.$nextTick(() => {
+ this.form.setFieldsValue(pick(this.model, 'equipmentId', 'equipmentName', 'vacationDate', 'vacationType', 'notes',
+ ))
+ })
+ },
+ close() {
+ this.$emit('close')
+ this.visible = false
+ this.show = false
+ },
+ handleOk() {
+ const that = this
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.form.validateFields((err, values) => {
+ if (!err) {
+ that.confirmLoading = true
+ let formData = Object.assign(this.model, values)
+ // let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss');
+ // let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss');
+ // let startOne = start.replace(/:/g,'');
+ // let endOne = end.replace(/:/g,'');
+ // var data = new Date();
+ // let stertDate = moment(data).format("YYYY-MM-DD HH:mm:ss");
+ // let dataStart = stertDate.replace(/:/g,'');
+ // if(startOne < dataStart){
+ // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
+ // that.confirmLoading = false
+ // }else{
+ // if(startOne>=endOne){
+ // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+ // // console.log(this.model)
+ // // this.endTime = ''
+ // that.confirmLoading = false
+ // }else{
+ let obj
+ if (!this.model.id) {
+ obj = postAction(this.url.add, formData)
+ } else {
+ obj = requestPut(this.url.edit, formData, {
+ id: this.model.id
+ })
+ }
+ obj.then((res) => {
+ if (res.success) {
+ that.$message.success("娣诲姞鎴愬姛")
+ // that.$message.success(res.message)
+ that.$emit('ok', res.result)
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false
+ that.close()
+ })
+ }
+ // }
+
+ // }
+ })
+ },
+ handleCancel() {
+ this.close()
+ },
+ // loadCascade() {
+ // getAction(this.url.loadCascadeData).then((res) => {
+ // if (res.success) {
+ // this.partCategoryCascade = res.result
+ // }
+ // })
+ // },
+ onCascadeChange(value, selectedOptions) {
+ this.cascadeDefaultValue = [...value]
+ },
+ filter(inputValue, path) {
+ return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1)
+ },
+ //楠岃瘉 缂栫爜
+ validateNum(rule, value, callback) {
+ var params = {
+ tableName: 'lxmes_base_part',
+ fieldName: 'num',
+ fieldVal: value,
+ dataId: this.model.id,
+ //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+ delFlag: 'true'
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('瀛樿揣缂栫爜宸插瓨鍦�!')
+ }
+ })
+ },
+ checkboxChange(e) {
+ this.checked = e.target.checked
+ }
+ }
+ }
+</script>
+
+<style scoped>
+ .ant-btn {
+ padding: 0 10px;
+ margin-left: 3px;
+ }
+
+ .ant-form-item-control {
+ line-height: 0px;
+ }
+
+ /** 涓昏〃鍗曡闂磋窛 */
+ .ant-form .ant-form-item {
+ margin-bottom: 10px;
+ }
+
+ /** Tab椤甸潰琛岄棿璺� */
+ .ant-tabs-content .ant-form-item {
+ margin-bottom: 0px;
+ }
+</style>
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModalList.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModalList.vue
new file mode 100644
index 0000000..270c9d8
--- /dev/null
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModalList.vue
@@ -0,0 +1,284 @@
+<template>
+ <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="handleCancel"
+ cancelText="鍏抽棴">
+ <a-card :bordered="false">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ <a-col :md="6" :sm="6">
+ <a-form-item label="閮ㄩ棬" >
+ <!--<a-select v-model="queryParam.sectionPid" placeholder="璇烽�夋嫨閮ㄩ棬" :options="sectionPData" @change="initGroupOptions" />-->
+ <a-tree-select
+ v-model="value"
+ style="width: 100%"
+ :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+ :tree-data="treeData"
+ placeholder="璇烽�夋嫨閮ㄩ棬"
+ tree-default-expand-all
+ >
+ <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">-->
+ <!--Child Node1 {{ value }}-->
+ <!--</span>-->
+ </a-tree-select>
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="6" :sm="6">
+ <a-form-item label="杞﹂棿" >
+ <!--<a-select v-model="queryParam.sectionId" placeholder="璇烽�夋嫨杞﹂棿" :options="sectionData"/>-->
+ <a-tree-select
+ v-model="valueProduct"
+ style="width: 100%"
+ :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+ :tree-data="sectionData"
+ placeholder="璇烽�夋嫨杞﹂棿"
+ tree-default-expand-all
+ >
+ <!--<span v-if="key === '0-0-1'" slot="title" slot-scope="{ key, value }" style="color: #08c">-->
+ <!--Child Node1 {{ value }}-->
+ <!--</span>-->
+ </a-tree-select>
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="6" :sm="6">
+ <a-form-item label="璁惧缂栫爜">
+ <a-input placeholder="璇疯緭鍏ヨ澶囩紪鐮佹绱�" v-model="queryParam.equipmentId"></a-input>
+ </a-form-item>
+ </a-col>
+
+ <a-col :md="6" :sm="6">
+ <a-form-item label="璁惧鍚嶇О">
+ <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉版绱�" v-model="queryParam.equipmentName"></a-input>
+ </a-form-item>
+ </a-col>
+ </a-row>
+ </a-form>
+ </div>
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+ <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+ </div>
+ <!-- table鍖哄煙-begin -->
+ <div>
+ <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{聽 y: 300聽}" :columns="columns"
+ :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ @change="handleTableChange">
+ </a-table>
+ </div>
+ <!-- table鍖哄煙-end -->
+ </a-card>
+ </a-modal>
+</template>
+
+<script>
+ import {
+ ajaxGetSelectItems
+ } from '@/api/api'
+ import JDictSelectTag from '@/components/dict/JDictSelectTag'
+ import {
+ deleteAction,
+ requestPut,
+ getAction,
+ postAction
+ } from '@/api/manage'
+ import {
+ JeecgListMixin
+ } from '@/mixins/JeecgListMixin'
+ import JInput from '@/components/jeecg/JInput'
+ import JEllipsis from '@/components/jeecg/JEllipsis'
+ import Tooltip from 'ant-design-vue/es/tooltip'
+ import JDate from '@/components/jeecg/JDate'
+ import moment from 'moment'
+
+ export default {
+ name: 'DeviceRepairListModel',
+ mixins: [JeecgListMixin],
+ components: {
+ JDictSelectTag,
+ JEllipsis,
+ JInput,
+ Tooltip,
+ JDate
+ },
+ props: {
+ status: {
+ type: Number,
+ default: 1
+ }
+ },
+ data() {
+ return {
+ treeData:[],
+ readOnly:true,
+ title:'',
+ visible: false,
+ disableMixinCreated: true,
+ queryParam: {},
+ columns: [{
+ title: '璁惧缂栫爜',
+ align: 'center',
+ dataIndex: 'equipmentId',
+ },
+ {
+ title: '璁惧鍚嶇О',
+ align: 'center',
+ dataIndex: 'equipmentName',
+ },
+ {
+ title: '椹卞姩绫诲瀷',
+ align: 'center',
+ dataIndex: 'driveType',
+ },
+ {
+ title: '鏁版帶绯荤粺',
+ align: 'center',
+ dataIndex: 'controlSystem',
+ }
+ ],
+ sectionPData: [],
+ sectionData: [],
+ url: {
+ list: '/mdc/mdcEquipment/findEquipmentList',
+ loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
+ loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions'
+ },
+ value:undefined,
+ valueProduct:undefined
+ }
+ },
+ created() {
+
+ },
+ watch: {
+ value(value) {
+ // console.log(value);
+ this.queryParam.departId = value
+ },
+ valueProduct(value){
+ this.queryParam.productionId = value
+ }
+ },
+
+ methods: {
+ openPage() {
+ this.visible = true
+ this.onClearSelected()
+ this.dataSource = [];
+ this.queryParam = {
+ status: this.status
+ };
+ this.loadData();
+ this.initOptions();
+ this.initGroupOptions()
+ },
+ onSelectChange(selectedRowKeys, selectionRows) {
+ // this.SelectedList.push(selectedRowKeys);
+ this.selectedRowKeys = selectedRowKeys;
+ this.selectionRows = selectionRows
+ // this.SelectedList =[...this.SelectedList,...selectionRows];
+ // console.log(this.SelectedList);
+ },
+ loadData(arg) {
+ if(!this.url.list){
+ this.$message.error("璇疯缃畊rl.list灞炴��!")
+ return
+ }
+ //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+ if (arg === 1) {
+ this.ipagination.current = 1;
+ }
+ var params = this.getQueryParams();//鏌ヨ鏉′欢
+
+ if(!params){
+ return false;
+ }
+
+ this.loading = true;
+ getAction(this.url.list, params).then((res) => {
+ if (res.success) {
+ // console.log(res)
+ //update-begin---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ this.dataSource = res.result.records||res.result;
+ if(res.result.total)
+ {
+ this.ipagination.total = res.result.total;
+ }else{
+ this.ipagination.total = 0;
+ }
+ //update-end---author:zhangyafei Date:20201118 for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+ }else{
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ modalFormOk(val) {
+ // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+ this.loadData();
+ this.selectedRowKeys = [val.id];
+ },
+ searchQuery() {
+ this.loadData();
+ this.onClearSelected()
+ },
+ searchReset() {
+ this.queryParam = {
+ status: 1
+ };
+ this.loadData();
+ this.onClearSelected()
+ },
+ close() {
+ this.$emit('close')
+ this.visible = false
+ },
+ handleCancel() {
+ this.close()
+ },
+ handleOk() {
+ this.$emit('sendSelectionRows', this.selectionRows)
+ this.close()
+ },
+ initOptions() {
+ getAction(this.url.loadOptions).then(res => {
+ if (res.success) {
+ this.treeData = res.result
+ } else {
+ this.$message.warning(res.message)
+ }
+ })
+ },
+
+
+ initGroupOptions() {
+ getAction(this.url.loadProductionOptions).then(res => {
+ if (res.success) {
+ this.sectionData = res.result
+ } else {
+ this.$message.warning(res.message)
+ }
+ })
+ }
+ },
+ }
+</script>
+<style>
+ @import '~@assets/less/common.less';
+
+ .frozenRowClass {
+ color: #c9c9c9;
+ }
+
+ .success {
+ color: green;
+ }
+
+ .error {
+ color: red;
+ }
+</style>
--
Gitblit v1.9.3