{"remainingRequest":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\sfz-lh-fvue\\src\\views\\Normal\\BasicDataManagement\\components\\workUserContent.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\src\\views\\Normal\\BasicDataManagement\\components\\workUserContent.vue","mtime":1706123309640},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport {mapState} from 'vuex'\r\nimport store from '@/store/login'\r\nimport {TableMixin} from '@/mixins/tableMixin'\r\nimport workUserContent from '@/api/BasicDataManagement/workUser.js'\r\nimport tollStationManagement from '@/api/BasicDataManagement/tollStationManagement.js'\r\nimport workGroupContent from '@/api/BasicDataManagement/workGroup.js'\r\nimport moment from 'moment'\r\nimport utils from '@/utils.js'\r\nexport default {\r\n mixins: [TableMixin],\r\n data() {\r\n return {\r\n loadingCalendar: false,\r\n viewDate: {},\r\n worker: [],\r\n disabledDetils: false,\r\n currentPage: 1,\r\n tableMaxHeight: 400,\r\n loading: false,\r\n tableLoading: false,\r\n tableData: [],\r\n multipleSelection: [],\r\n params: {\r\n pageBean: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n },\r\n searchForm: {\r\n tollStationId: '',\r\n }, // 顶部搜索对象\r\n deleteIds: '', // 是否选中列表解锁删除按钮\r\n dialog: {\r\n title: '添加',\r\n visible: false,\r\n },\r\n allData: {\r\n pageBean: {\r\n page: 1,\r\n pageSize: -1,\r\n total: 0,\r\n },\r\n },\r\n dialogForm: {},\r\n disabled: false, // 是否禁止输入输入\r\n edit: false, // 是否是修改功能\r\n rules: {\r\n rankId: {\r\n required: true,\r\n message: '请选择班种',\r\n trigger: 'blur',\r\n },\r\n userId: {\r\n required: true,\r\n message: '请至少选择一名人员',\r\n trigger: 'blur',\r\n },\r\n responsId: {\r\n required: true,\r\n message: '请选择负责人',\r\n trigger: 'blur',\r\n },\r\n rankDate: {\r\n required: true,\r\n message: '请至少选择一天',\r\n trigger: 'blur',\r\n },\r\n },\r\n paibanday: '',\r\n tollStationData: [],\r\n chooseTollStation: {id: '', name: ''},\r\n rankData: [],\r\n TollStationRankData: [],\r\n dates: [],\r\n istongbuchoose: false,\r\n addData: [],\r\n showMonth: moment().format('YYYY-MM-DD'),\r\n calendarValue: new Date(),\r\n firstDay: '',\r\n dialogVisibleImport: false,\r\n importParams: {\r\n tollStationId: '',\r\n },\r\n }\r\n },\r\n created() {\r\n this.loadTollStation()\r\n this.loadWorkGroup(this.chooseTollStation.id)\r\n this.loadMonthData()\r\n\r\n this.$nextTick(() => {\r\n // 点击前一个月\r\n const prevBtn = document.querySelector(\r\n '.el-calendar__button-group .el-button-group>button:nth-child(1)'\r\n )\r\n prevBtn.addEventListener('click', (e) => {\r\n this.showMonth = moment(this.calendarValue).format('YYYY-MM-DD')\r\n this.loadMonthData()\r\n })\r\n\r\n // 点击下一个月\r\n const nextBtn = document.querySelector(\r\n '.el-calendar__button-group .el-button-group>button:nth-child(3)'\r\n )\r\n nextBtn.addEventListener('click', (e) => {\r\n this.showMonth = moment(this.calendarValue).format('YYYY-MM-DD')\r\n this.loadMonthData()\r\n })\r\n })\r\n },\r\n computed: mapState({\r\n headers: function () {\r\n return {\r\n Authorization: `Bearer ${store.state.currentUser.token}`,\r\n }\r\n },\r\n actionUrl: function () {\r\n return window.context.portal + '/bizRankUser/v1/import'\r\n },\r\n }),\r\n methods: {\r\n changeUser(value, type) {\r\n if (type == 'userName') {\r\n this.dialogForm[type] = []\r\n for (let i = 0; i < this.worker.length; i++) {\r\n for (let j = 0; j < value.length; j++) {\r\n if (this.worker[i].id == value[j]) {\r\n this.dialogForm[type].push(this.worker[i].fullname)\r\n }\r\n }\r\n }\r\n } else {\r\n this.dialogForm[type] = ''\r\n for (let i = 0; i < this.worker.length; i++) {\r\n if (this.worker[i].id == value) {\r\n this.dialogForm[type] = this.worker[i].fullname\r\n }\r\n }\r\n }\r\n },\r\n changeTollStation(id) {\r\n this.importParams.tollStationId = id\r\n this.chooseTollStation.id = id\r\n this.searchForm.rankId = ''\r\n let obj = []\r\n this.TollStationRankData = []\r\n for (let i = 0; i < this.rankData.length; i++)\r\n if (\r\n this.rankData[i].tollStationId == this.chooseTollStation.id\r\n ) {\r\n obj = {\r\n id: this.rankData[i].id,\r\n name: this.rankData[i].name,\r\n color: this.rankData[i].markColor,\r\n tollStationId: this.rankData[i].tollStationId,\r\n }\r\n this.TollStationRankData.push(obj)\r\n }\r\n },\r\n getTongbu() {\r\n if (this.istongbuchoose == false) {\r\n this.dialogForm.rankDate.length = 0\r\n this.dialogForm.rankDate.push(this.paibanday)\r\n }\r\n },\r\n // 获取收费站下人员\r\n loadWorker(id) {\r\n let querys = []\r\n querys.push({\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'station_id_',\r\n relation: 'AND',\r\n value: id,\r\n })\r\n this.params.pageBean = this.allData.pageBean\r\n this.params.querys = querys\r\n tollStationManagement.queryWorker(this.params).then((res) => {\r\n this.worker = res.rows\r\n })\r\n },\r\n // 获取班种数据\r\n loadWorkGroup() {\r\n workGroupContent.queryWorkGroup(this.allData).then((res) => {\r\n let obj = []\r\n this.rankData = res.data.rows\r\n if (this.chooseTollStation.id) {\r\n this.TollStationRankData = []\r\n for (let i = 0; i < this.rankData.length; i++) {\r\n if (\r\n this.rankData[i].tollStationId ==\r\n this.chooseTollStation.id\r\n ) {\r\n obj = {\r\n id: this.rankData[i].id,\r\n name: this.rankData[i].name,\r\n color: this.rankData[i].markColor,\r\n tollStationId: this.rankData[i].tollStationId,\r\n }\r\n this.TollStationRankData.push(obj)\r\n }\r\n }\r\n }\r\n })\r\n },\r\n // 获取收费站数据\r\n loadTollStation() {\r\n tollStationManagement.queryTollStation(this.allData).then((res) => {\r\n let obj = []\r\n for (let i = 0; i < res.data.rows.length; i++) {\r\n obj = {\r\n id: res.data.rows[i].id,\r\n name: res.data.rows[i].name,\r\n }\r\n this.tollStationData.push(obj)\r\n }\r\n this.searchForm.tollStationId = res.data.rows[0].id\r\n this.chooseTollStation.id = res.data.rows[0].id\r\n this.loadWorker(res.data.rows[0].id)\r\n this.loadMonthData()\r\n // 初始话上传的收费站id\r\n this.importParams.tollStationId = this.searchForm.tollStationId\r\n })\r\n },\r\n //获取排班数据\r\n // loadData() {\r\n // this.loadingCalendar = true\r\n // this.viewDate = {}\r\n // workUserContent.queryWorkUser(this.allData).then((res) => {\r\n // let workData = res.data.rows\r\n // workData.forEach((item) => {\r\n // if (this.viewDate[item.rankDate]) {\r\n // this.viewDate[item.rankDate].push(item)\r\n // } else {\r\n // this.viewDate[item.rankDate] = [item]\r\n // }\r\n // this.$set(this.viewDate, item.rankData, this.viewDate[item.rankDate])\r\n // })\r\n // this.loadingCalendar = false\r\n // })\r\n // },\r\n // 获取某月排班数据\r\n loadMonthData() {\r\n this.loadingCalendar = true\r\n this.viewDate = {}\r\n let month = parseInt(this.showMonth.slice(5, 7))\r\n let year = parseInt(this.showMonth.slice(0, 4))\r\n let date = new Date(year, month - 1)\r\n let y = date.getFullYear()\r\n let m = date.getMonth() + 1\r\n m = m < 10 ? '0' + m : m\r\n date.setDate(1)\r\n this.firstDay = date.getDate()\r\n this.firstDay =\r\n this.firstDay < 10 ? '0' + this.firstDay : this.firstDay\r\n this.firstday = [y, m, this.firstDay].join('-')\r\n if (this.searchForm.rankId) {\r\n workUserContent\r\n .queryMonthWorkUser(\r\n this.firstday,\r\n this.chooseTollStation.id,\r\n this.searchForm.rankId\r\n )\r\n .then((res) => {\r\n let workData = res.data\r\n this.viewDate = {}\r\n workData.forEach((item) => {\r\n if (this.viewDate[item.rankDate]) {\r\n this.viewDate[item.rankDate].push(item)\r\n } else {\r\n this.viewDate[item.rankDate] = [item]\r\n }\r\n this.$set(\r\n this.viewDate,\r\n item.rankData,\r\n this.viewDate[item.rankDate]\r\n )\r\n })\r\n this.loadingCalendar = false\r\n })\r\n } else {\r\n workUserContent\r\n .queryMonthWorkUser(\r\n this.firstday,\r\n this.chooseTollStation.id\r\n )\r\n .then((res) => {\r\n let workData = res.data\r\n workData.forEach((item) => {\r\n if (this.viewDate[item.rankDate]) {\r\n this.viewDate[item.rankDate].push(item)\r\n } else {\r\n this.viewDate[item.rankDate] = [item]\r\n }\r\n this.$set(\r\n this.viewDate,\r\n item.rankData,\r\n this.viewDate[item.rankDate]\r\n )\r\n })\r\n this.loadingCalendar = false\r\n })\r\n }\r\n },\r\n //添加\r\n handleAdd(day) {\r\n this.istongbuchoose = false\r\n this.paibanday = day.day\r\n let month = parseInt(this.paibanday.slice(5, 7))\r\n let year = parseInt(this.paibanday.slice(0, 4))\r\n this.getDates(year, month)\r\n this.edit = false\r\n this.disabledDetils = false\r\n this.dialogForm = {\r\n tollStationId: this.chooseTollStation.id,\r\n rankDate: [],\r\n userName: [],\r\n responsName: '',\r\n }\r\n this.dialogForm.rankDate.push(this.paibanday)\r\n this.dialog.title = '添加'\r\n this.dialog.visible = true\r\n },\r\n // 编辑\r\n handleEdit(rows, day) {\r\n this.istongbuchoose = false\r\n this.$refs.form.clearValidate()\r\n this.edit = true\r\n this.disabledDetils = false\r\n let obj = utils.deepClone(rows)\r\n // let obj = JSON.parse(JSON.stringify(rows))\r\n this.paibanday = day\r\n obj.userName = obj.userName.split('、')\r\n obj.userId = obj.userId.split('、')\r\n obj.rankDate = [this.paibanday]\r\n let month = parseInt(this.paibanday.slice(5, 7))\r\n let year = parseInt(this.paibanday.slice(0, 4))\r\n this.getDates(year, month)\r\n this.dialogForm = {\r\n ...obj,\r\n }\r\n this.dialog.title = '编辑'\r\n this.dialog.visible = true\r\n },\r\n // 弹层关闭\r\n handleDialogClose() {\r\n this.dialog.visible = false\r\n this.istongbuchoose = false\r\n },\r\n // 表单提交保存\r\n submit() {\r\n this.$refs.form.validate((valid) => {\r\n this.istongbuchoose = false\r\n this.dialogForm.userName = this.dialogForm.userName.join('、')\r\n this.dialogForm.userId = this.dialogForm.userId.join('、')\r\n var rankDate = ''\r\n rankDate = this.dialogForm.rankDate\r\n for (let i = 0; i < this.rankData.length; i++) {\r\n if (this.dialogForm.rankId == this.rankData[i].id) {\r\n this.dialogForm.rankName = this.rankData[i].name\r\n }\r\n }\r\n this.dialogForm.rankDate = ''\r\n for (let i = 0; i < rankDate.length; i++) {\r\n this.dialogForm.rankDate = rankDate[i]\r\n this.addData[i] = JSON.parse(\r\n JSON.stringify(this.dialogForm)\r\n )\r\n }\r\n\r\n for (let i = 0; i < this.addData.length; i++) {\r\n if (this.addData[i].rankDate !== this.paibanday) {\r\n delete this.addData[i].id\r\n }\r\n }\r\n\r\n if (valid) {\r\n this.loading = true\r\n workUserContent\r\n .batchAdd(this.addData)\r\n .then((res) => {\r\n if (res.data.state) {\r\n this.dialog.visible = false\r\n this.loadMonthData()\r\n }\r\n if (!res.errorMsg) {\r\n this.$message({\r\n message: !this.edit\r\n ? '添加成功'\r\n : '修改成功',\r\n type: 'success',\r\n })\r\n this.editVisible = false\r\n this.$refs.form.resetFields()\r\n this.dialogForm = {}\r\n this.addData = []\r\n }\r\n this.loading = false\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n })\r\n } else {\r\n return false\r\n }\r\n })\r\n },\r\n // 表单取消\r\n cancel() {\r\n this.dialog.visible = false\r\n this.istongbuchoose = false\r\n },\r\n // 获取当前月的日期\r\n getDates(year, month) {\r\n this.dates = []\r\n var currentMonthDays = new Date(year, month, 0).getDate()\r\n let weekList = [\r\n '星期日',\r\n '星期一',\r\n '星期二',\r\n '星期三',\r\n '星期四',\r\n '星期五',\r\n '星期六',\r\n ]\r\n var startDate = new Date(year, month - 1, 1)\r\n\r\n // for (var i = startDate.getDate(); i <= endDate.getDate(); i++) {\r\n // dates.push(new Date(year, month - 1, i))\r\n // }\r\n for (let day = 1; day <= currentMonthDays; day++) {\r\n // 截至当前日期为止\r\n // 年月日(yyyy-MM-dd)\r\n\r\n this.dates.push({\r\n day:\r\n year +\r\n '-' +\r\n (month < 10 ? '0' + month : month) +\r\n '-' +\r\n (day < 10 ? '0' + day : day),\r\n week: weekList[new Date(startDate.setDate(day)).getDay()],\r\n })\r\n }\r\n },\r\n // 重置\r\n clearSearchForm() {\r\n this.advanced()\r\n this.isAdvanced = false\r\n this.searchForm.rankId = ''\r\n this.handleSearch()\r\n },\r\n // 顶部搜索\r\n handleSearch() {\r\n this.loadWorker(this.chooseTollStation.id)\r\n this.loadMonthData()\r\n },\r\n handleDelete(id) {\r\n this.$confirm(\r\n this.$t('common.sureDelete'),\r\n this.$t('common.tips'),\r\n {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'warning',\r\n }\r\n ).then(() => {\r\n workUserContent.deleteOne(id).then((res) => {\r\n this.loadMonthData()\r\n if (!res.errorMsg) {\r\n this.$message({\r\n message: '删除成功',\r\n type: 'success',\r\n })\r\n }\r\n })\r\n })\r\n },\r\n // 下载\r\n download() {\r\n let port =\r\n ':' + window.location.port ? ':' + window.location.port : ''\r\n let baseURL =\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n port\r\n\r\n window.open(baseURL + '/tempFile/排班信息导入模板.xls')\r\n },\r\n // 导入\r\n handleImport() {\r\n this.dialogVisibleImport = true\r\n },\r\n handleClose(done) {\r\n done()\r\n },\r\n // 文件上传成功\r\n importSuccess(response, file, fileList) {\r\n this.dialogVisibleImport = false\r\n },\r\n importError(err) {\r\n console.log(err.Error)\r\n let message = '上传失败,请重试!'\r\n if (err) {\r\n let error = err.toString().replace('Error: ', '') //转字符串\r\n let data = JSON.parse(error)\r\n message = data.message\r\n }\r\n this.$message.error(message)\r\n },\r\n },\r\n}\r\n",null]}