From ea1a8cf41c11f8f533cea594e1f1c03640cf4a96 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 29 四月 2024 16:26:28 +0800
Subject: [PATCH] 合并冲突
---
src/views/plan/productionschedul/index.vue | 873 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 562 insertions(+), 311 deletions(-)
diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue
index 0775072..ea426fd 100644
--- a/src/views/plan/productionschedul/index.vue
+++ b/src/views/plan/productionschedul/index.vue
@@ -1,228 +1,572 @@
<template>
<div class="mod-config">
<basic-container>
- <el-row>
- <el-col :span="12">
- <div style="height:80vh">
- <avue-crud :data="tableData" ref="crud" :option="option" :span-method="spanMethod"
- @refresh-change="getData"
- :page="page"
- @selection-change="selectionRow"
- :table-loading="loading">
- <template #menu="{ row, index }">
- <el-button type="text" icon="el-icon-delete" size="small" @click="deleteHandle(row, index)">鍒犻櫎</el-button>
- </template>
- </avue-crud>
- </div>
- </el-col>
- <el-col :span="12" style="padding-left: 10px">
- <div style="">
- <el-card>
- <div slot="header" class="clearfix">
- <span>璋冨害鏃堕棿绾�</span>
- <el-button style="float: right; padding: 3px 0" type="text">鎿嶄綔鎸夐挳</el-button>
- </div>
- <div style="height:70vh;overflow-y: scroll;">
- <el-timeline>
- <el-timeline-item
- placement="top"
- v-for="(item, index) in scheduleList"
- :key="index"
- :timestamp="item.planTime">
- <el-card style="width:95%;margin: 0;padding: 0px 10px;">
- <p style="font-weight: bold;">{{item.title}}</p>
- <p>瀹為檯鏃堕棿: {{ item.actualTime }}</p>
- </el-card>
- </el-timeline-item>
- </el-timeline>
- </div>
- </el-card>
- </div>
- </el-col>
- </el-row>
+ <ttable
+ :rowKey="'mid'"
+ :table="table"
+ :prelang="prelang"
+ :options="options"
+ @handleSelectionChange="selectionRow"
+ :ajaxFun="ajaxFun"
+ :paramObj="queryParams"
+ :mergeSpanArr="spanArr"
+ :selColValArr="paramSelArr"
+ :selCol="paramSelCol"
+ ref="ttable">
+ <template #toolbar>
+ <el-dropdown @command="changeTable">
+ <span :style="dropdownTitleStyle" class="el-dropdown-link">
+ {{dropdownTitle}}<i class="el-icon-arrow-down el-icon--right"></i>
+ </span>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="undone">寰呭畬鎴愯皟搴�</el-dropdown-item>
+ <el-dropdown-item command="done">宸插畬鎴愯皟搴�</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ <el-button v-if="showUnDownTable" @click="tagFinished" type="success">鏍囪宸插畬鎴�</el-button>
+ <el-button v-if="permissions.plan_productionschedul_edit_line && showUnDownTable"
+ @click="openEditDialog" type="primary">缂栬緫鏃堕棿绾�</el-button>
+ </template>
+ </ttable>
</basic-container>
+ <!-- 缂栬緫鏃堕棿绾� -->
+ <el-dialog
+ title="缂栬緫鏃堕棿绾�"
+ :visible.sync="dialogVisible"
+ top="5vh"
+ width="50%">
+ <div style="height:60vh;overflow-y: scroll;">
+ <el-timeline>
+ <el-timeline-item
+ placement="top"
+ v-for="(item, index) in scheduleEditList"
+ :key="index"
+ :timestamp="item.title">
+ <el-card shadow="hover" style="width:90%" :body-style="{padding:'20px 20px 5px 20px'}">
+ <el-row>
+ <el-col :span="3">
+ <p style="font-weight: bold;line-height: 50%;">璁″垝鏃堕棿: </p>
+ </el-col>
+ <el-col :span="21">
+ <el-date-picker
+ style="width:100%"
+ v-model="item.planTime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ placeholder="閫夋嫨璁″垝鏃堕棿">
+ </el-date-picker>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="3">
+ <p style="font-weight: bold;line-height: 50%;">瀹為檯鏃堕棿: </p>
+ </el-col>
+ <el-col :span="21">
+ <el-date-picker
+ style="width:100%"
+ v-model="item.actualTime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ placeholder="閫夋嫨瀹為檯鏃堕棿">
+ </el-date-picker>
+ </el-col>
+ </el-row>
+ </el-card>
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmEditSchedul">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <!-- 缂栬緫鐢熶骇杩囩▼鍜岀敓浜ф儏鍐� -->
+ <el-dialog
+ title="缂栬緫"
+ :visible.sync="editDialogVisible"
+ width="50%">
+ <el-form :model="editForm" label-width="120px">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鐢熶骇鎯呭喌:">
+ <el-input style="width:100%" placeholder="璇疯緭鍏ョ敓浜ф儏鍐�" type="textarea" :row="2" v-model="editForm.productionStatus"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鐢熶骇绋嬪害:">
+ <el-input style="width:100%" placeholder="璇疯緭鍏ョ敓浜х▼搴�" type="textarea" :row="2" v-model="editForm.productionRoutine"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="editDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmEdit()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <!-- 鏌ョ湅鏃堕棿绾� -->
+ <el-dialog
+ title="鏌ョ湅璋冨害鏃堕棿绾�"
+ top="5vh"
+ :visible.sync="showTimeLineDialog"
+ width="40%">
+ <el-card>
+ <div style="height:500px;overflow-y: scroll;">
+ <el-timeline>
+ <el-timeline-item
+ placement="top"
+ :color="(item.actualTime) ? '#34BD66' :null"
+ :icon="(item.planTime || item.actualTime) ? 'el-icon-circle-check' :null"
+ v-for="(item, index) in scheduleList"
+ :key="index"
+ :timestamp="item.title">
+ <el-card shadow="hover" :body-style="{margin: '0',padding:'0px 20px 0px 20px'}" style="width:90%;">
+ <p>
+ <span style="font-weight: bold;">璁″垝鏃堕棿: </span>
+ {{item.planTime}}
+ </p>
+ <p>
+ <span style="font-weight: bold;">瀹為檯鏃堕棿: </span>
+ {{ item.actualTime }}</p>
+ </el-card>
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ </el-card>
+ </el-dialog>
+ <!-- 鏌ョ湅鍙樻洿璁板綍 -->
+ <el-dialog
+ title="鍙樻洿璁板綍"
+ :visible.sync="showRecordsDialog"
+ width="60%">
+ <el-table border :data="recordsList">
+ <el-table-column type="index" width="50" label="搴忓彿" align="center"/>
+ <el-table-column prop="createTime" min-width="120" show-overflow-tooltip label="鎿嶄綔鏃堕棿" align="center"/>
+ <el-table-column prop="createUser" min-width="120" show-overflow-tooltip label="鎿嶄綔浜�" align="center"/>
+ <el-table-column prop="recordType" min-width="120" show-overflow-tooltip label="鎿嶄綔绫诲瀷" align="center"/>
+ <el-table-column prop="oldRecord" min-width="200" show-overflow-tooltip label="鏃у��" align="center"/>
+ <el-table-column prop="newRecord" min-width="200" show-overflow-tooltip label="鏂板��" align="center"/>
+ </el-table>
+ </el-dialog>
</div>
</template>
<script>
import {
fetchScheduleList,
+ fetchRecordsList,
fetchScheduleById,
+ fillTime,
+ deleteSchedul,
+ updateState,
+ checkTimeLines,
+ updateSchedul
} from '@/api//plan/productionschedul'
-import TableForm from './template-form'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
export default {
data() {
return {
+ queryParams: {
+ state: false
+ },
+ showRecordsDialog: false,
+ recordsList: [],
+ paramSelArr: [false],
+ paramSelCol: 'hasEdit',
+ ajaxFun: fetchScheduleList,
+ prelang: 'productSchedul',
+ options: {
+ height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+ stripe: true, // 鏄惁涓烘枒椹汗 table
+ highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+ border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+ lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+ fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+ multiSelect: true, //
+ seqNo: true,
+ isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+ isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+ isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
+ defaultOrderBy: { column: 'id', direction: 'asc' },
+ cancelRunCreated: false,
+ tableCellMerge: true
+ },
+ table: {
+ total: 0,
+ currentPage: 1,
+ pageSize: 20,
+ data: [],
+ // 鏍囬
+ column: [
+ {
+ minWidth: 120,
+ prop: 'projectName',
+ label: '椤圭洰鍚嶇О',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 100,
+ prop: 'contractNo',
+ label: '鍚堝悓鍙�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 120,
+ prop: 'orderTime',
+ label: '鎺ュ崟鏃ユ湡',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'date',
+ format: (row,columnValue)=> this.formatDate(row,columnValue)
+ },
+ {
+ minWidth: 120,
+ prop: 'customerName',
+ label: '瀹㈡埛鍚嶇О',
+ isTrue: true,
+ searchInfoType: 'text',
+ isSearch: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'deliveryDate',
+ label: '浜よ揣鏃ユ湡',
+ isTrue: true,
+ sort: true,
+ isSearch: true,
+ searchInfoType: 'date',
+ format: (row,columnValue)=> this.formatDate(row,columnValue)
+ },
+ {
+ minWidth: 120,
+ prop: 'productType',
+ label: '浜у搧绫诲瀷',
+ isTrue: true,
+ searchInfoType: 'text',
+ isSearch: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'product',
+ label: '浜у搧鍚�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ render: { fun: this.handleClickCell }
+ },
+ {
+ minWidth: 120,
+ prop: 'status',
+ label: '褰撳墠鐘舵��',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'select',
+ optList: ()=>{
+ return [
+ { label: '鏂囦欢绛惧彂', value: '鏂囦欢绛惧彂' },
+ { label: '涓嬭揪鐗╂枡闇�姹�', value: '涓嬭揪鐗╂枡闇�姹�' },
+ { label: '閲囪喘璇环+鍚堝悓绛捐', value: '閲囪喘璇环+鍚堝悓绛捐' },
+ { label: '鐗╂枡閲囪喘鍒拌揣', value: '鐗╂枡閲囪喘鍒拌揣' },
+ { label: '鐗╂枡鍒拌揣妫�楠�', value: '鐗╂枡鍒拌揣妫�楠�' },
+ { label: '棰嗘枡銆佽绠卞叆搴�', value: '棰嗘枡銆佽绠卞叆搴�' },
+ ]
+ }
+ },
+ {
+ minWidth: 120,
+ prop: 'time',
+ label: '涓存湡鏃堕棿',
+ isTrue: true,
+ sort: true,
+ isSearch: true,
+ searchInfoType: 'date',
+ format: (row,columnValue)=> this.formatDate(row,columnValue)
+ },
+ {
+ minWidth: 120,
+ prop: 'specs',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ label: '瑙勬牸鍨嬪彿',
+ },
+ {
+ minWidth: 120,
+ prop: 'unit',
+ label: '鍗曚綅',
+ searchInfoType: 'text',
+ isTrue: true,
+ isSearch: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'number',
+ label: '鏁伴噺',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 120,
+ prop: 'productionStatus',
+ label: '鐢熶骇鎯呭喌',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 120,
+ prop: 'productionRoutine',
+ label: '鐢熶骇绋嬪害',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 120,
+ prop: 'projectLeader',
+ label: '椤圭洰璐熻矗浜�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ },
+ {
+ minWidth: 150,
+ prop: 'remark',
+ label: '澶囨敞',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
+ }
+ ],
+ toolbar: [],
+ operator: null,
+ operatorConfig: {
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: 150,
+ minWidth: 150
+ }
+ },
+ dropdownTitleStyle: {
+ color: '#E84738',
+ fontWeight: 'bold'
+ },
+ showUnDownTable: true,
+ dropdownTitle: '寰呭畬鎴愯皟搴�',
+ showTimeLineDialog:false,
+ editForm:{
+ id: null,
+ productionRoutine: null,
+ productionStatus: null,
+ },
+ editDialogVisible: false,
+ dialogVisible: false,
scheduleList: [],
- typeOptions: [],
+ scheduleEditList: [],
multipleSelection: [],
loading: true,
- tableData: [],
- page: {
- total: 10,
- currentPage: 1,
- pageSize: 10
- },
- option: {
- height: 400,
- selection: true,
- columnBtn: false,
- index: true,
- rowKey: 'product',
- indexLabel: '搴忓彿',
- menuAlign: 'center',
- menuWidth: 100,
- editBtn: false,
- delBtn: false,
- addBtn: false,
- border: true,
- align: 'center',
- column: [
- {
- minWidth: 120,
- prop: 'projectName',
- label: '椤圭洰鍚嶇О',
- overHidden: true,
- },
- {
- minWidth: 100,
- prop: 'contractNo',
- label: '鍚堝悓鍙�',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'orderTime',
- label: '鎺ュ崟鏃ユ湡',
- overHidden: true,
- formatter: (row,columnValue)=> this.formatDate(row,columnValue)
- },
- {
- minWidth: 120,
- prop: 'customerName',
- label: '瀹㈡埛鍚嶇О',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'deliveryDate',
- label: '浜よ揣鏃ユ湡',
- overHidden: true,
- formatter: (row,columnValue)=> this.formatDate(row,columnValue)
- },
- {
- minWidth: 120,
- prop: 'productType',
- label: '浜у搧绫诲瀷',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'product',
- label: '浜у搧鍚�',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'specs',
- label: '瑙勬牸鍨嬪彿',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'unit',
- label: '鍗曚綅',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'number',
- label: '鏁伴噺',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'productionStatus',
- label: '鐢熶骇鎯呭喌',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'productionRoutine',
- label: '鐢熶骇绋嬪害',
- overHidden: true,
- },
- {
- minWidth: 120,
- prop: 'projectLeader',
- label: '椤圭洰璐熻矗浜�',
- overHidden: true,
- },
- {
- minWidth: 150,
- prop: 'remark',
- label: '澶囨敞',
- overHidden: true,
- }
- ],
- },
- spanArr: [{
- prop: 'projectName',
- span: []
- }, {
- prop: 'contractNo',
- span: []
- },
- {
- prop: 'orderTime',
- span: []
- },
- {
- prop: 'customerName',
- span: []
- },
- {
- prop: 'deliveryDate',
- span: []
- },
- {
- prop: 'productType',
- span: []
- },
- ],
+ spanArr: ['id','projectName', 'contractNo','orderTime','customerName','deliveryDate','productType'],
}
},
components: {
ttable,
- TableForm,
},
computed: {
...mapGetters(['permissions']),
},
created(){
+ this.showOperator()
this.loading = true
- this.getData()
- this.getParamType()
- this.rowSort()
- this.rowCalc()
- },
- beforeUpdate() {
- this.rowSort()
- this.rowCalc()
},
watch:{
-
- },
- mounted() {
-
- },
- beforeDestroy() {
+ editDialogVisible(newVal){
+ if(!newVal){
+ this.editForm = {
+ id: null,
+ productionRoutine: null,
+ productionStatus: null,
+ }
+ }
+ },
+ multipleSelection(newVal){
+ if(newVal.length==0){
+ this.scheduleList = []
+ }
+ }
},
methods: {
+ showChangeRecords(row){
+ this.recordsList = []
+ if(row){
+ fetchRecordsList(row.mid).then((res)=>{
+ if(res.status===200){
+ this.recordsList = res.data.data.records
+ }
+ }).catch((error)=>{
+ console.error(error);
+ })
+ }
+ this.showRecordsDialog = true
+ },
+ showOperator(){
+ this.table.operator = [{
+ text: '鍙樻洿璁板綍',
+ type: 'text',
+ size: 'small',
+ fun: this.showChangeRecords,
+ }]
+ if(this.showUnDownTable){
+ if(this.permissions.plan_productionschedul_edit){
+ this.table.operator.push({
+ text: '缂栬緫',
+ type: 'text',
+ size: 'small',
+ fun: this.editHandle,
+ show: {
+ key: 'hasEdit',
+ val: [true]
+ }
+ })
+ }
+ if(this.permissions.plan_productionschedul_del){
+ this.table.operator.push({
+ text: '鍒犻櫎',
+ type: 'text',
+ size: 'small',
+ fun: this.deleteHandle,
+ show: {
+ key: 'hasEdit',
+ val: [true]
+ }
+ })
+ }
+ }
+ },
+ handleClickCell(row){
+ this.getScheduleById(row.mid)
+ this.showTimeLineDialog = true
+ },
+ changeTable(command){
+ const _than = this
+ if(command === 'undone'){
+ this.dropdownTitle = '寰呭畬鎴愯皟搴�'
+ this.dropdownTitleStyle = {color:'#E84738',fontWeight: 'bold'}
+ this.showUnDownTable = true
+ this.queryParams.state = false
+
+ }else if(command === 'done'){
+ this.dropdownTitle = '宸插畬鎴愯皟搴�'
+ this.dropdownTitleStyle = {color:'#34BD66',fontWeight: 'bold'}
+ this.showUnDownTable = false
+ this.table.operator = null
+ this.queryParams.state = true
+ }
+ this.$nextTick(()=>{
+ _than.showOperator()
+ _than.getDataList()
+ })
+ },
+ tagFinished(){
+ if(this.multipleSelection.length < 1){
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ let ids = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
+ updateState(ids).then(res=>{
+ if(res.status===200){
+ this.$message.success("鏇存柊鎴愬姛")
+ this.getDataList()
+ }
+ }).catch(error=>{
+ console.error(error);
+ })
+ },
+ confirmEdit(){
+ const _than = this
+ updateSchedul(this.editForm).then(res=>{
+ if(res.status===200){
+ _than.$message.success("鏇存柊鎴愬姛")
+ _than.editDialogVisible = false
+ _than.getUnFinishedData()
+ }
+ }).catch(error=>{
+ console.error(error);
+ })
+ },
+ editHandle(row,index){
+ if(row){
+ this.editForm.id = row.mid
+ this.editForm.productionRoutine = row.productionRoutine
+ this.editForm.productionStatus = row.productionStatus
+ this.editDialogVisible = true
+ }
+ },
+ openEditDialog(){
+ if(this.multipleSelection.length<1){
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ let mIds = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
+ checkTimeLines(mIds).then(res=>{
+ if(res.data.data.length==1){
+ let dataList = this.initTimeLine(res.data.data[0])
+ this.scheduleEditList = dataList
+ this.dialogVisible = true
+ }else{
+ this.$message.error("閫変腑鏁版嵁鐨勮皟搴︽椂闂寸嚎涓嶄竴鑷�!")
+ }
+ }).catch(error=>{
+ console.error(error);
+ })
+ },
+ confirmEditSchedul(){
+ const _than = this
+ let data = this.scheduleEditList
+ let mIds = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
+ let obj = {
+ "documentActualTime": data[0].actualTime,
+ "documentPlanTime": data[0].planTime,
+ "bomActualTime": data[1].actualTime,
+ "bomPlanTime": data[1].planTime,
+ "contractActualTime": data[2].actualTime,
+ "contractPlanTime": data[2].planTime,
+ "arrivalActualTime": data[3].actualTime,
+ "arrivalPlanTime": data[3].planTime,
+ "checkActualTime": data[4].actualTime,
+ "checkPlanTime": data[4].planTime,
+ "productActualTime": data[5].actualTime,
+ "productPlanTime": data[5].planTime,
+ "mids": mIds,
+ }
+ fillTime(obj).then(res=>{
+ if(res.status===200){
+ _than.$message.success("鏇存柊鎴愬姛")
+ }else{
+ _than.$message.error("鏇存柊澶辫触")
+ }
+ _than.dialogVisible = false
+ _than.getDataList()
+ }).catch(error=>{
+ console.error(error);
+ })
+ },
initTimeLine(data){
- this.scheduleList = []
+ let scheduleList = []
if(data){
let arr = [
{
@@ -256,24 +600,21 @@
planTime: data.productPlanTime,
},
]
- this.scheduleList = arr
+ scheduleList = arr
+ return scheduleList
}
},
getScheduleById(id){
if(id){
fetchScheduleById(id).then(res=>{
- this.initTimeLine(res.data.data)
+ this.scheduleList = this.initTimeLine(res.data.data)
}).catch(error=>{
- console.log(error);
+ console.error(error);
})
}
},
selectionRow(val){
- if (val.length > 1) {
- const preVal = val.shift();
- this.$refs.crud.toggleRowSelection(preVal, false);
- }
- this.getScheduleById(val[0].id)
+ this.multipleSelection = val
},
formatDate(row, cellValue){
if (cellValue) {
@@ -285,137 +626,47 @@
return ''
},
// 鑾峰彇鏁版嵁鍒楄〃
- getData() {
- this.loading = true
- let param = {
- size: 20,
- current: 1,
- }
- fetchScheduleList(param).then((res) => {
- this.tableData = res.data.data.records
- this.page.total = res.data.data.total
- this.page.currentPage = res.data.data.records.pages
- this.scheduleList = []
- })
- this.loading = false
- },
- handleCurrentChange(val) {
- this.multipleSelection = val
+ getDataList(){
+ this.$refs.ttable.getDataList()
},
// 鍒犻櫎
deleteHandle(row,index) {
- this.$confirm('鏄惁纭鍒犻櫎', '鎻愮ず', {
+ const _than = this
+ _than.$confirm('鏄惁纭鍒犻櫎璇ョ敓浜ц皟搴︿俊鎭�', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(function() {
-
- })
- },
- //鍔ㄦ�佸悎骞舵柟娉�
- rowCalc() {
- this.spanArr.forEach((ele, index) => {
- let parent
- if (index !== 0) parent = this.spanArr[ele.parent || index - 1].span
- ele.span = this.rowSpan(ele.prop, parent)
- })
- },
- rowSort(list) {
- let propList = this.spanArr.map(ele => ele.prop)
- this.spanArr.forEach((ele, index) => {
- let key = ele.prop
- this.tableData = this.tableData.sort((a, b) => {
- let flag = true;
- for (let i = 0; i < index; i++) {
- let prop = this.spanArr[i].prop
- flag = flag && a[prop] == b[prop]
+ deleteSchedul(row.mid).then(res=>{
+ if(res.status===200){
+ _than.$message.success("鍒犻櫎鎴愬姛")
+ _than.getDataList()
}
- if (flag) {
- if (a[key] < b[key]) { return 1; }
- else if (a[key] > b[key]) { return -1; }
- return 0;
- }
- return 0;
+ }).catch(error=>{
+ console.error(error)
})
})
},
- rowSpan(key, parent) {
- let list = [];
- let position = 0;
- this.tableData.forEach((item, index) => {
- if (index === 0) {
- list.push(1)
- let position = 0;
- } else {
- if (this.tableData[index][key] === this.tableData[index - 1][key]) {
- if (parent && parent[index] !== 0) {
- list.push(1)
- position = index
- } else {
- list[position] += 1;
- list.push(0)
- }
- } else {
- list.push(1)
- position = index
- }
- }
- })
- return list
- },
- spanMethod({ row, column, rowIndex, columnIndex }) {
- for (let i = 0; i < this.spanArr.length; i++) {
- const ele = this.spanArr[i]
- if (column.property == ele.prop) {
- const _row = ele.span[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- }
- }
}
}
</script>
<style>
-.basic-template-table .el-table__body .el-table__row td:first-child .cell {
- padding-left: 0px;
- padding-right: 0px;
-}
-
-.basic-template-table .el-table__body .el-table__row:hover {
- cursor: move;
-}
-
-.basic-template-table .el-table__body .el-table__row:hover .icon {
- display: inline-block;
-}
-
-.basic-template-table .el-table__body .el-table__row .icon {
- color: rgba(0, 0, 0, 0.45);
- font-size: 12px;
- line-height: 18px;
+.unfinished-crud .avue-crud__tip{
display: none;
}
-
-.aufontAll {
- font-family: aufontAll !important;
- font-size: 14px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+.unfinished-crud .avue-crud__menu{
+ display: none;
}
-
-.h-icon-all-drag {
- background: url('/img/tz.png') center center no-repeat;
- background-size: cover;
- font-size: 14px;
+.finished-crud .avue-crud__tip{
+ display: none;
}
-.h-icon-all-drag:before {
- content: '\E63E';
- font-size: 14px;
- visibility: hidden;
+.finished-crud .avue-crud__menu{
+ display: none;
+}
+.avue-crud__pagination {
+ position: relative;
+ padding: 0px 0 0px 20px;
+ text-align: right;
+ z-index: 10;
}
</style>
--
Gitblit v1.9.3