|
@@ -1,448 +1,447 @@
|
|
|
-<template>
|
|
|
|
|
- <view class="content">
|
|
|
|
|
- <view class="param">
|
|
|
|
|
- <view class="proMiao">任务名称</view>
|
|
|
|
|
- <input class="proINname" v-model="data.taskName" placeholder="请输入任务名称"/>
|
|
|
|
|
- <view class="proMiao">评分标准</view>
|
|
|
|
|
- <textarea class="proINname proIMi" v-model="data.scoreStandard" placeholder="请输入评分标准"/>
|
|
|
|
|
- <view class="proMiao">附件</view>
|
|
|
|
|
- <view class="upload-img">
|
|
|
|
|
- <uni-file-picker limit="3"
|
|
|
|
|
- @select='selectUpload'
|
|
|
|
|
- @delete="deleteHandle"
|
|
|
|
|
- :auto-upload='false'
|
|
|
|
|
- file-extname='pdf,docx,jpg,png,jpeg'
|
|
|
|
|
- file-mediatype="all"
|
|
|
|
|
- @success='uploadSuccess'
|
|
|
|
|
- @fail='uploadFail'
|
|
|
|
|
- :list-styles='listStyles'
|
|
|
|
|
- v-model='fileList2'
|
|
|
|
|
- ></uni-file-picker>
|
|
|
|
|
- </view>
|
|
|
|
|
- <span style="margin: 20rpx 0 0 20rpx;">支持pdf/word/xlsx格式,单个文件大小不超过5MB</span>
|
|
|
|
|
- <view class="proMiao">评分上限</view>
|
|
|
|
|
- <input class="proINname" placeholder="请输入评分上限" type="number" v-model="data.scoreLimit"/>
|
|
|
|
|
- <view class="proMiao">权重</view>
|
|
|
|
|
- <input class="proINname" placeholder="请输入权重" type="digit" v-model="data.weight"/>
|
|
|
|
|
- <view class="proMiao">任务负责人</view>
|
|
|
|
|
- <view @click="toggle()">
|
|
|
|
|
- <view class="proINname" v-if="peopleValue==''">请选择任务负责人</view>
|
|
|
|
|
- <view class="proINname" v-else>{{peopleValue}}</view>
|
|
|
|
|
- <!-- <uni-data-select class="proINname" :disabled="true"
|
|
|
|
|
- v-model="peopleValue" placeholder="请选择主办人"
|
|
|
|
|
- :localdata="rangePeople"
|
|
|
|
|
- ></uni-data-select> -->
|
|
|
|
|
- </view>
|
|
|
|
|
-
|
|
|
|
|
- <view class="proMiao">提醒时间</view>
|
|
|
|
|
- <uni-datetime-picker class="proINname" type="datetime" v-model="data.remindTime" @change="changeLog" />
|
|
|
|
|
- <view class="proMiao">预警时间</view>
|
|
|
|
|
- <uni-datetime-picker class="proINname" type="datetime" v-model="data.warnTime" @change="changeLog" />
|
|
|
|
|
- <view class="proMiao">任务周期</view>
|
|
|
|
|
- <uni-datetime-picker class="proINname" v-model="datetimerange" type="datetimerange" rangeSeparator="至" />
|
|
|
|
|
- <!-- 操作键 -->
|
|
|
|
|
- <view class="project">
|
|
|
|
|
- <view class="butt queren" @click="updateRen">保存</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view style="width: 100%;height: 60rpx;"></view>
|
|
|
|
|
-
|
|
|
|
|
- <!-- 任务负责人弹出框-->
|
|
|
|
|
- <uni-popup ref="popup" background-color="#fff">
|
|
|
|
|
- <view class="popup-content">
|
|
|
|
|
- <view class="popup-title">
|
|
|
|
|
- <view @click="quPopup">取消</view>
|
|
|
|
|
- <view>选择任务负责人</view>
|
|
|
|
|
- <view style="color: rgba(0, 97, 255, 1);" @click="selectPeo">确定</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <scroll-view scroll-y="true" class="scroll_view_style">
|
|
|
|
|
- <view class="popup-list">
|
|
|
|
|
- <radio-group @change="radioChange" v-for="(item,index) in people" :key="index">
|
|
|
|
|
- <view class="l-line"></view>
|
|
|
|
|
- <view class="l-kuang">
|
|
|
|
|
- <view class="l-circle"></view>
|
|
|
|
|
- <view style="margin-left: 20rpx;width: 320px;">
|
|
|
|
|
- <view style="font-size: 28rpx;">{{item.userName}}</view>
|
|
|
|
|
- <view style="font-size: 24rpx;">{{item.department}}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <label class="l-label">
|
|
|
|
|
- <view>
|
|
|
|
|
- <radio :id="item.userName" :value="item.userName" :checked="index==peopleCruuent"></radio>
|
|
|
|
|
- </view>
|
|
|
|
|
- </label>
|
|
|
|
|
-
|
|
|
|
|
- </view>
|
|
|
|
|
- </radio-group>
|
|
|
|
|
- </view>
|
|
|
|
|
- </scroll-view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </uni-popup>
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+<template>
|
|
|
|
|
+ <view class="content">
|
|
|
|
|
+ <view class="param">
|
|
|
|
|
+ <view class="proMiao">任务名称</view>
|
|
|
|
|
+ <input class="proINname" v-model="data.taskName" placeholder="请输入任务名称"/>
|
|
|
|
|
+ <view class="proMiao">评分标准</view>
|
|
|
|
|
+ <textarea class="proINname proIMi" v-model="data.scoreStandard" placeholder="请输入评分标准"/>
|
|
|
|
|
+ <view class="proMiao">附件</view>
|
|
|
|
|
+ <view class="upload-img">
|
|
|
|
|
+ <uni-file-picker limit="3"
|
|
|
|
|
+ @select='selectUpload'
|
|
|
|
|
+ @delete="deleteHandle"
|
|
|
|
|
+ :auto-upload='false'
|
|
|
|
|
+ file-extname='pdf,docx,jpg,png,jpeg,doc,docm,dot,dotm,dotx,xlsx,xls,csv,xlsm,slxb,xlt,xltx'
|
|
|
|
|
+ file-mediatype="all"
|
|
|
|
|
+ @success='uploadSuccess'
|
|
|
|
|
+ @fail='uploadFail'
|
|
|
|
|
+ :list-styles='listStyles'
|
|
|
|
|
+ v-model='fileList2'
|
|
|
|
|
+ ></uni-file-picker>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <span style="margin: 20rpx 0 0 20rpx;">支持pdf,docx,jpg,png,jpeg,doc,docm,dot,dotm,dotx,xlsx,xls,csv,xlsm,slxb,xlt,xltx格式,单个文件大小不超过5MB</span>
|
|
|
|
|
+ <view class="proMiao">评分上限</view>
|
|
|
|
|
+ <input class="proINname" placeholder="请输入评分上限" type="number" v-model="data.scoreLimit"/>
|
|
|
|
|
+ <view class="proMiao">权重</view>
|
|
|
|
|
+ <input class="proINname" placeholder="请输入权重" type="digit" v-model="data.weight"/>
|
|
|
|
|
+ <view class="proMiao">任务负责人</view>
|
|
|
|
|
+ <view @click="toggle()">
|
|
|
|
|
+ <view class="proINname" v-if="peopleValue==''">请选择任务负责人</view>
|
|
|
|
|
+ <view class="proINname" v-else>{{peopleValue}}</view>
|
|
|
|
|
+ <!-- <uni-data-select class="proINname" :disabled="true"
|
|
|
|
|
+ v-model="peopleValue" placeholder="请选择主办人"
|
|
|
|
|
+ :localdata="rangePeople"
|
|
|
|
|
+ ></uni-data-select> -->
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <view class="proMiao">提醒时间</view>
|
|
|
|
|
+ <uni-datetime-picker class="proINname" type="datetime" v-model="data.remindTime" @change="changeLog" />
|
|
|
|
|
+ <view class="proMiao">预警时间</view>
|
|
|
|
|
+ <uni-datetime-picker class="proINname" type="datetime" v-model="data.warnTime" @change="changeLog" />
|
|
|
|
|
+ <view class="proMiao">任务周期</view>
|
|
|
|
|
+ <uni-datetime-picker class="proINname" v-model="datetimerange" type="datetimerange" rangeSeparator="至" />
|
|
|
|
|
+ <!-- 操作键 -->
|
|
|
|
|
+ <view class="project">
|
|
|
|
|
+ <view class="butt queren" @click="updateRen">保存</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view style="width: 100%;height: 60rpx;"></view>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 任务负责人弹出框-->
|
|
|
|
|
+ <uni-popup ref="popup" background-color="#fff">
|
|
|
|
|
+ <view class="popup-content">
|
|
|
|
|
+ <view class="popup-title">
|
|
|
|
|
+ <view @click="quPopup">取消</view>
|
|
|
|
|
+ <view>选择任务负责人</view>
|
|
|
|
|
+ <view style="color: rgba(0, 97, 255, 1);" @click="selectPeo">确定</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <scroll-view scroll-y="true" class="scroll_view_style">
|
|
|
|
|
+ <view class="popup-list">
|
|
|
|
|
+ <radio-group @change="radioChange" v-for="(item,index) in people" :key="index">
|
|
|
|
|
+ <view class="l-line"></view>
|
|
|
|
|
+ <view class="l-kuang">
|
|
|
|
|
+ <view class="l-circle"></view>
|
|
|
|
|
+ <view style="margin-left: 20rpx;width: 320px;">
|
|
|
|
|
+ <view style="font-size: 28rpx;">{{item.userName}}</view>
|
|
|
|
|
+ <view style="font-size: 24rpx;">{{item.department}}</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <label class="l-label">
|
|
|
|
|
+ <view>
|
|
|
|
|
+ <radio :id="item.userName" :value="item.userName" :checked="index==peopleCruuent"></radio>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </label>
|
|
|
|
|
+
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </radio-group>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </scroll-view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-popup>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
-<script>
|
|
|
|
|
- import configdata from '@/common/config.js'
|
|
|
|
|
- export default {
|
|
|
|
|
- data() {
|
|
|
|
|
- return {
|
|
|
|
|
- data:{},
|
|
|
|
|
- renwuName:'',//任务名称
|
|
|
|
|
- projectId:'',//项目id
|
|
|
|
|
- scoreStandard:'',//评价标准
|
|
|
|
|
- scoreLimit:'',//评分上限
|
|
|
|
|
- weight:'',//权重
|
|
|
|
|
- remindTime: '',//提醒时间
|
|
|
|
|
- warnTime:'',//预警时间
|
|
|
|
|
- datetimerange: [],
|
|
|
|
|
- people:[],
|
|
|
|
|
- peopleCruuent:'',
|
|
|
|
|
- peopleValue:'',
|
|
|
|
|
- peopleId:'',
|
|
|
|
|
- // 附件
|
|
|
|
|
- fileList: [],
|
|
|
|
|
- fileList2: [],
|
|
|
|
|
- fileList22:'',
|
|
|
|
|
- listStyles: {
|
|
|
|
|
- "borderStyle": {
|
|
|
|
|
- "width": "0", // 边框宽度
|
|
|
|
|
- },
|
|
|
|
|
- "border": false, // 是否显示边框
|
|
|
|
|
- "dividline": false
|
|
|
|
|
- },
|
|
|
|
|
-
|
|
|
|
|
- page:1,
|
|
|
|
|
- size:10,
|
|
|
|
|
- totalCount:0,
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- onLoad(option) {
|
|
|
|
|
- console.log(JSON.parse(decodeURIComponent(option.data)))
|
|
|
|
|
- console.log(JSON.parse(decodeURIComponent(option.people)))
|
|
|
|
|
- this.data=JSON.parse(decodeURIComponent(option.data))
|
|
|
|
|
- this.people=JSON.parse(decodeURIComponent(option.people))
|
|
|
|
|
- // this.getPeople()
|
|
|
|
|
- this.peopleValue=this.data.headerName
|
|
|
|
|
- this.peopleId=this.data.header
|
|
|
|
|
- this.datetimerange[0]=this.data.startTime
|
|
|
|
|
- this.datetimerange[1]=this.data.endTime
|
|
|
|
|
- var image=[]
|
|
|
|
|
- image=this.data.fileUrl.split(',')
|
|
|
|
|
- this.fileList2 =image.map(item =>{
|
|
|
|
|
- return {
|
|
|
|
|
- name: item
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- this.fileList22=image.join(",")
|
|
|
|
|
- console.log(this.fileList2)
|
|
|
|
|
- },
|
|
|
|
|
- methods: {
|
|
|
|
|
- // 任务负责人弹框
|
|
|
|
|
- toggle() {
|
|
|
|
|
- console.log('dd')
|
|
|
|
|
- // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
|
|
|
|
- this.$refs.popup.open('bottom')
|
|
|
|
|
- // this.getPeople()
|
|
|
|
|
- },
|
|
|
|
|
- //取消弹框
|
|
|
|
|
- quPopup(){
|
|
|
|
|
- this.$refs.popup.close()
|
|
|
|
|
- },
|
|
|
|
|
- //确定负责人
|
|
|
|
|
- selectPeo(){
|
|
|
|
|
- this.$refs.popup.close()
|
|
|
|
|
- this.peopleValue=this.people[this.peopleCruuent].userName
|
|
|
|
|
- this.peopleId=this.people[this.peopleCruuent].id
|
|
|
|
|
- },
|
|
|
|
|
- // 选择负责人
|
|
|
|
|
- radioChange: function(evt) {
|
|
|
|
|
- console.log(evt)
|
|
|
|
|
- for (let i = 0; i < this.people.length; i++) {
|
|
|
|
|
- if (this.people[i].userName === evt.detail.value) {
|
|
|
|
|
- this.peopleCruuent = i;
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- //选择负责人
|
|
|
|
|
- getPeople(){
|
|
|
|
|
- // this.people=[]
|
|
|
|
|
- uni.showLoading({
|
|
|
|
|
- title: '加载中',
|
|
|
|
|
- mask: true, // 是否显示透明蒙层,防止触摸穿透
|
|
|
|
|
- });
|
|
|
|
|
- this.$Request.postJson('/api/sysUser/queryPage?page='+this.page+'&rows='+this.size,{
|
|
|
|
|
- "userName": null, // 姓名
|
|
|
|
|
- "roleName": null, // 角色名称
|
|
|
|
|
- "department": null, // 部门
|
|
|
|
|
- "createBy": "", // 创建时间-开始日期
|
|
|
|
|
- "updateBy": "" // 创建时间-结束日期
|
|
|
|
|
- }).then(res => {
|
|
|
|
|
- if (res.code==200) {
|
|
|
|
|
- this.totalCount = res.data.total
|
|
|
|
|
- if (this.page == 1) {
|
|
|
|
|
- console.log('哈')
|
|
|
|
|
- this.people = res.data.rows
|
|
|
|
|
- } else {
|
|
|
|
|
- this.people = this.people.concat(res.data.rows)
|
|
|
|
|
- }
|
|
|
|
|
- console.log(this.people,'人')
|
|
|
|
|
- }
|
|
|
|
|
- uni.hideLoading();
|
|
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
- //修改任务
|
|
|
|
|
- updateRen(){
|
|
|
|
|
- let that = this
|
|
|
|
|
- if (!that.data.taskName) {
|
|
|
|
|
- that.$queue.showToast("请输入任务名称");
|
|
|
|
|
- }else if (!that.data.scoreStandard) {
|
|
|
|
|
- that.$queue.showToast("请输入评分标准");
|
|
|
|
|
- }else if (!that.data.scoreLimit) {
|
|
|
|
|
- that.$queue.showToast("请输入评分上限");
|
|
|
|
|
- }else if (!that.data.weight) {
|
|
|
|
|
- that.$queue.showToast("请输入权重");
|
|
|
|
|
- }else if (!that.data.remindTime) {
|
|
|
|
|
- that.$queue.showToast("请选择提醒时间");
|
|
|
|
|
- }else if (!that.data.warnTime) {
|
|
|
|
|
- that.$queue.showToast("请选择预警时间");
|
|
|
|
|
- }else if (!that.datetimerange) {
|
|
|
|
|
- that.$queue.showToast("请选择周期");
|
|
|
|
|
- } else if (!that.peopleId) {
|
|
|
|
|
- that.$queue.showToast("请选择任务负责人");
|
|
|
|
|
- }else {
|
|
|
|
|
- uni.showLoading({
|
|
|
|
|
- title: '加载中',
|
|
|
|
|
- mask: true, // 是否显示透明蒙层,防止触摸穿透
|
|
|
|
|
- });
|
|
|
|
|
- var data={
|
|
|
|
|
- "id": that.data.id,
|
|
|
|
|
- "taskName": that.data.taskName, // 任务名称
|
|
|
|
|
- "projectId": that.data.projectId, // 项目ID
|
|
|
|
|
- "scoreStandard": that.data.scoreStandard, // 评价标准
|
|
|
|
|
- "fileUrl": that.fileList22, // 附件
|
|
|
|
|
- "scoreLimit": that.data.scoreLimit, // 评分上限
|
|
|
|
|
- "weight": that.data.weight, // 权重
|
|
|
|
|
- "remindTime": that.data.remindTime, // 提醒时间
|
|
|
|
|
- "warnTime": that.data.warnTime, // 预警时间
|
|
|
|
|
- "header": that.peopleId, // 负责人
|
|
|
|
|
- "startTime": that.datetimerange[0], // 周期-起始时间
|
|
|
|
|
- "endTime": that.datetimerange[1] // 周期-结束时间
|
|
|
|
|
- }
|
|
|
|
|
- that.$Request.postJson('/api/sysTask/update',data).then(res => {
|
|
|
|
|
- if (res.code==200) {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '修改成功',
|
|
|
|
|
- icon: 'none',
|
|
|
|
|
- duration:800
|
|
|
|
|
- });
|
|
|
|
|
- uni.hideLoading()
|
|
|
|
|
-
|
|
|
|
|
- setTimeout(function() {
|
|
|
|
|
- uni.switchTab({
|
|
|
|
|
- url:'/pages/project/index'
|
|
|
|
|
- })
|
|
|
|
|
- }, 1000)
|
|
|
|
|
- } else {
|
|
|
|
|
- uni.hideLoading();
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: res.message,
|
|
|
|
|
- icon: 'none',
|
|
|
|
|
- duration:800
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- // 上传附件
|
|
|
|
|
- uploadSuccess(e) {
|
|
|
|
|
- console.log('上传成功', e)
|
|
|
|
|
- },
|
|
|
|
|
- uploadFail(e) {
|
|
|
|
|
- console.log('上传失败:', e)
|
|
|
|
|
- },
|
|
|
|
|
- //删除文件
|
|
|
|
|
- deleteHandle(index){
|
|
|
|
|
- console.log(index)
|
|
|
|
|
- this.fileList2.splice(index.index,1)
|
|
|
|
|
- // console.log(this.fileList2)
|
|
|
|
|
- this.fileList22=this.fileList2.join(",")
|
|
|
|
|
- },
|
|
|
|
|
- async selectUpload(e) {
|
|
|
|
|
- console.log('上传:', e)
|
|
|
|
|
- let data = new FormData();
|
|
|
|
|
- data.set("file", e.tempFiles[0].file);
|
|
|
|
|
- let res = await this.$axios({
|
|
|
|
|
- method: "post",
|
|
|
|
|
- url: this.config('APIHOST1') + "/api/sysFile/upload",
|
|
|
|
|
- headers: {
|
|
|
|
|
- tokenW: localStorage.getItem("token"),
|
|
|
|
|
- "Content-Type": "multipart/form-data"
|
|
|
|
|
- },
|
|
|
|
|
- data: data,
|
|
|
|
|
- });
|
|
|
|
|
- // return res
|
|
|
|
|
- console.log(res, "图片上传成功");
|
|
|
|
|
- if (res.data.code == 200) {
|
|
|
|
|
- console.log(this.fileList)
|
|
|
|
|
- this.fileList2.push(res.data.data);
|
|
|
|
|
- this.fileList22=this.fileList2.join(",")
|
|
|
|
|
- // console.log(this.fileList2.join(","))
|
|
|
|
|
- } else if(res.message=="登录凭证已过去,请重新登录"){
|
|
|
|
|
- uni.removeStorageSync("tokenW")
|
|
|
|
|
- uni.removeStorageSync("roleId")
|
|
|
|
|
- uni.showModal({
|
|
|
|
|
- title: '提示',
|
|
|
|
|
- content: '用户信息失效,请重新登录!',
|
|
|
|
|
- showCancel: false, // 是否显示取消按钮,默认为 true // 是否显示取消按钮,默认为 true
|
|
|
|
|
- success: function(res) {
|
|
|
|
|
- if (res.confirm) {
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- }else {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: res.message,
|
|
|
|
|
- icon: 'none',
|
|
|
|
|
- duration:800
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- config: function (name) {
|
|
|
|
|
- var info = null
|
|
|
|
|
- if (name) {
|
|
|
|
|
- var name2 = name.split('.') //字符分割
|
|
|
|
|
- if (name2.length > 1) {
|
|
|
|
|
- info = configdata[name2[0]][name2[1]] || null
|
|
|
|
|
- } else {
|
|
|
|
|
- info = configdata[name] || null
|
|
|
|
|
- }
|
|
|
|
|
- if (info == null) {
|
|
|
|
|
- let web_config = cache.get('web_config')
|
|
|
|
|
- if (web_config) {
|
|
|
|
|
- if (name2.length > 1) {
|
|
|
|
|
- info = web_config[name2[0]][name2[1]] || null
|
|
|
|
|
- } else {
|
|
|
|
|
- info = web_config[name] || null
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return info
|
|
|
|
|
- },
|
|
|
|
|
- }
|
|
|
|
|
|
|
+<script>
|
|
|
|
|
+ import configdata from '@/common/config.js'
|
|
|
|
|
+ export default {
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ data:{},
|
|
|
|
|
+ renwuName:'',//任务名称
|
|
|
|
|
+ projectId:'',//项目id
|
|
|
|
|
+ scoreStandard:'',//评价标准
|
|
|
|
|
+ scoreLimit:'',//评分上限
|
|
|
|
|
+ weight:'',//权重
|
|
|
|
|
+ remindTime: '',//提醒时间
|
|
|
|
|
+ warnTime:'',//预警时间
|
|
|
|
|
+ datetimerange: [],
|
|
|
|
|
+ people:[],
|
|
|
|
|
+ peopleCruuent:'',
|
|
|
|
|
+ peopleValue:'',
|
|
|
|
|
+ peopleId:'',
|
|
|
|
|
+ // 附件
|
|
|
|
|
+ fileList: [],
|
|
|
|
|
+ fileList2: [],
|
|
|
|
|
+ fileList22:'',
|
|
|
|
|
+ listStyles: {
|
|
|
|
|
+ "borderStyle": {
|
|
|
|
|
+ "width": "0", // 边框宽度
|
|
|
|
|
+ },
|
|
|
|
|
+ "border": false, // 是否显示边框
|
|
|
|
|
+ "dividline": false
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ page:1,
|
|
|
|
|
+ size:10,
|
|
|
|
|
+ totalCount:0,
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ onLoad(option) {
|
|
|
|
|
+ console.log(JSON.parse(decodeURIComponent(option.data)))
|
|
|
|
|
+ console.log(JSON.parse(decodeURIComponent(option.people)))
|
|
|
|
|
+ this.data=JSON.parse(decodeURIComponent(option.data))
|
|
|
|
|
+ this.people=JSON.parse(decodeURIComponent(option.people))
|
|
|
|
|
+ // this.getPeople()
|
|
|
|
|
+ this.peopleValue=this.data.headerName
|
|
|
|
|
+ this.peopleId=this.data.header
|
|
|
|
|
+ this.datetimerange[0]=this.data.startTime
|
|
|
|
|
+ this.datetimerange[1]=this.data.endTime
|
|
|
|
|
+ var image=[]
|
|
|
|
|
+ image=this.data.fileUrl.split(',')
|
|
|
|
|
+ this.fileList2 =image.map(item =>{
|
|
|
|
|
+ return {
|
|
|
|
|
+ name: item
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ this.fileList22=image.join(",")
|
|
|
|
|
+ console.log(this.fileList2)
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ // 任务负责人弹框
|
|
|
|
|
+ toggle() {
|
|
|
|
|
+ console.log('dd')
|
|
|
|
|
+ // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
|
|
|
|
+ this.$refs.popup.open('bottom')
|
|
|
|
|
+ // this.getPeople()
|
|
|
|
|
+ },
|
|
|
|
|
+ //取消弹框
|
|
|
|
|
+ quPopup(){
|
|
|
|
|
+ this.$refs.popup.close()
|
|
|
|
|
+ },
|
|
|
|
|
+ //确定负责人
|
|
|
|
|
+ selectPeo(){
|
|
|
|
|
+ this.$refs.popup.close()
|
|
|
|
|
+ this.peopleValue=this.people[this.peopleCruuent].userName
|
|
|
|
|
+ this.peopleId=this.people[this.peopleCruuent].id
|
|
|
|
|
+ },
|
|
|
|
|
+ // 选择负责人
|
|
|
|
|
+ radioChange: function(evt) {
|
|
|
|
|
+ console.log(evt)
|
|
|
|
|
+ for (let i = 0; i < this.people.length; i++) {
|
|
|
|
|
+ if (this.people[i].userName === evt.detail.value) {
|
|
|
|
|
+ this.peopleCruuent = i;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ //选择负责人
|
|
|
|
|
+ getPeople(){
|
|
|
|
|
+ // this.people=[]
|
|
|
|
|
+ uni.showLoading({
|
|
|
|
|
+ title: '加载中',
|
|
|
|
|
+ mask: true, // 是否显示透明蒙层,防止触摸穿透
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$Request.postJson('/api/sysUser/queryPage?page='+this.page+'&rows='+this.size,{
|
|
|
|
|
+ "userName": null, // 姓名
|
|
|
|
|
+ "roleName": null, // 角色名称
|
|
|
|
|
+ "department": null, // 部门
|
|
|
|
|
+ "createBy": "", // 创建时间-开始日期
|
|
|
|
|
+ "updateBy": "" // 创建时间-结束日期
|
|
|
|
|
+ }).then(res => {
|
|
|
|
|
+ if (res.code==200) {
|
|
|
|
|
+ this.totalCount = res.data.total
|
|
|
|
|
+ if (this.page == 1) {
|
|
|
|
|
+ console.log('哈')
|
|
|
|
|
+ this.people = res.data.rows
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.people = this.people.concat(res.data.rows)
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(this.people,'人')
|
|
|
|
|
+ }
|
|
|
|
|
+ uni.hideLoading();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ //修改任务
|
|
|
|
|
+ updateRen(){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ if (!that.data.taskName) {
|
|
|
|
|
+ that.$queue.showToast("请输入任务名称");
|
|
|
|
|
+ }else if (!that.data.scoreStandard) {
|
|
|
|
|
+ that.$queue.showToast("请输入评分标准");
|
|
|
|
|
+ }else if (!that.data.scoreLimit) {
|
|
|
|
|
+ that.$queue.showToast("请输入评分上限");
|
|
|
|
|
+ }else if (!that.data.weight) {
|
|
|
|
|
+ that.$queue.showToast("请输入权重");
|
|
|
|
|
+ }else if (!that.data.remindTime) {
|
|
|
|
|
+ that.$queue.showToast("请选择提醒时间");
|
|
|
|
|
+ }else if (!that.data.warnTime) {
|
|
|
|
|
+ that.$queue.showToast("请选择预警时间");
|
|
|
|
|
+ }else if (!that.datetimerange) {
|
|
|
|
|
+ that.$queue.showToast("请选择周期");
|
|
|
|
|
+ } else if (!that.peopleId) {
|
|
|
|
|
+ that.$queue.showToast("请选择任务负责人");
|
|
|
|
|
+ }else {
|
|
|
|
|
+ uni.showLoading({
|
|
|
|
|
+ title: '加载中',
|
|
|
|
|
+ mask: true, // 是否显示透明蒙层,防止触摸穿透
|
|
|
|
|
+ });
|
|
|
|
|
+ var data={
|
|
|
|
|
+ "id": that.data.id,
|
|
|
|
|
+ "taskName": that.data.taskName, // 任务名称
|
|
|
|
|
+ "projectId": that.data.projectId, // 项目ID
|
|
|
|
|
+ "scoreStandard": that.data.scoreStandard, // 评价标准
|
|
|
|
|
+ "fileUrl": that.fileList22, // 附件
|
|
|
|
|
+ "scoreLimit": that.data.scoreLimit, // 评分上限
|
|
|
|
|
+ "weight": that.data.weight, // 权重
|
|
|
|
|
+ "remindTime": that.data.remindTime, // 提醒时间
|
|
|
|
|
+ "warnTime": that.data.warnTime, // 预警时间
|
|
|
|
|
+ "header": that.peopleId, // 负责人
|
|
|
|
|
+ "startTime": that.datetimerange[0], // 周期-起始时间
|
|
|
|
|
+ "endTime": that.datetimerange[1] // 周期-结束时间
|
|
|
|
|
+ }
|
|
|
|
|
+ that.$Request.postJson('/api/sysTask/update',data).then(res => {
|
|
|
|
|
+ if (res.code==200) {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '修改成功',
|
|
|
|
|
+ icon: 'none',
|
|
|
|
|
+ duration:800
|
|
|
|
|
+ });
|
|
|
|
|
+ uni.hideLoading()
|
|
|
|
|
+
|
|
|
|
|
+ setTimeout(function() {
|
|
|
|
|
+ uni.switchTab({
|
|
|
|
|
+ url:'/pages/project/index'
|
|
|
|
|
+ })
|
|
|
|
|
+ }, 1000)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ uni.hideLoading();
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: res.message,
|
|
|
|
|
+ icon: 'none',
|
|
|
|
|
+ duration:800
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 上传附件
|
|
|
|
|
+ uploadSuccess(e) {
|
|
|
|
|
+ console.log('上传成功', e)
|
|
|
|
|
+ },
|
|
|
|
|
+ uploadFail(e) {
|
|
|
|
|
+ console.log('上传失败:', e)
|
|
|
|
|
+ },
|
|
|
|
|
+ //删除文件
|
|
|
|
|
+ deleteHandle(index){
|
|
|
|
|
+ console.log(index)
|
|
|
|
|
+ this.fileList2.splice(index.index,1)
|
|
|
|
|
+ // console.log(this.fileList2)
|
|
|
|
|
+ this.fileList22=this.fileList2.join(",")
|
|
|
|
|
+ },
|
|
|
|
|
+ async selectUpload(e) {
|
|
|
|
|
+ console.log('上传:', e)
|
|
|
|
|
+ let data = new FormData();
|
|
|
|
|
+ data.set("file", e.tempFiles[0].file);
|
|
|
|
|
+ let res = await this.$axios({
|
|
|
|
|
+ method: "post",
|
|
|
|
|
+ url: this.config('APIHOST1') + "/api/sysFile/upload",
|
|
|
|
|
+ headers: {
|
|
|
|
|
+ tokenW: sessionStorage.getItem("token"),
|
|
|
|
|
+ "Content-Type": "multipart/form-data"
|
|
|
|
|
+ },
|
|
|
|
|
+ data: data,
|
|
|
|
|
+ });
|
|
|
|
|
+ // return res
|
|
|
|
|
+ console.log(res, "图片上传成功");
|
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
|
+ console.log(this.fileList)
|
|
|
|
|
+ this.fileList2.push(res.data.data);
|
|
|
|
|
+ this.fileList22=this.fileList2.join(",")
|
|
|
|
|
+ // console.log(this.fileList2.join(","))
|
|
|
|
|
+ } else if(res.message=="登录凭证已过去,请重新登录"){
|
|
|
|
|
+ sessionStorage.removeItem("token")
sessionStorage.removeItem("roleId")
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ content: '用户信息失效,请重新登录!',
|
|
|
|
|
+ showCancel: false, // 是否显示取消按钮,默认为 true // 是否显示取消按钮,默认为 true
|
|
|
|
|
+ success: function(res) {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }else {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: res.message,
|
|
|
|
|
+ icon: 'none',
|
|
|
|
|
+ duration:800
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ config: function (name) {
|
|
|
|
|
+ var info = null
|
|
|
|
|
+ if (name) {
|
|
|
|
|
+ var name2 = name.split('.') //字符分割
|
|
|
|
|
+ if (name2.length > 1) {
|
|
|
|
|
+ info = configdata[name2[0]][name2[1]] || null
|
|
|
|
|
+ } else {
|
|
|
|
|
+ info = configdata[name] || null
|
|
|
|
|
+ }
|
|
|
|
|
+ if (info == null) {
|
|
|
|
|
+ let web_config = cache.get('web_config')
|
|
|
|
|
+ if (web_config) {
|
|
|
|
|
+ if (name2.length > 1) {
|
|
|
|
|
+ info = web_config[name2[0]][name2[1]] || null
|
|
|
|
|
+ } else {
|
|
|
|
|
+ info = web_config[name] || null
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return info
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
-<style>
|
|
|
|
|
- .content {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- }
|
|
|
|
|
- .param{
|
|
|
|
|
- margin: 20rpx 0 0 0;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- background-color: rgba(255, 255, 255, 1);
|
|
|
|
|
- font-size: 28rpx;
|
|
|
|
|
- font-weight: 400;
|
|
|
|
|
- line-height: 41rpx;
|
|
|
|
|
- color: rgba(0, 0, 0, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .proMiao{
|
|
|
|
|
- margin: 31rpx 0 0 20rpx;
|
|
|
|
|
- }
|
|
|
|
|
- /* 上传附件 */
|
|
|
|
|
- .upload-img{
|
|
|
|
|
- /* margin: 25rpx 0 0 21rpx;
|
|
|
|
|
- width: 200rpx;
|
|
|
|
|
- height: 80rpx;
|
|
|
|
|
- opacity: 1;
|
|
|
|
|
- border-radius: 13rpx;
|
|
|
|
|
- background: rgba(0, 97, 255, 0.1);
|
|
|
|
|
-
|
|
|
|
|
- border: 1rpx solid rgba(0, 97, 255, 1); */
|
|
|
|
|
- }
|
|
|
|
|
- .proINname{
|
|
|
|
|
- margin: 25rpx 0 0 21rpx;
|
|
|
|
|
- width: 709rpx;
|
|
|
|
|
- height: 90rpx;
|
|
|
|
|
- border-radius: 13rpx;
|
|
|
|
|
- background: rgba(245, 248, 252, 1);
|
|
|
|
|
- border: 1rpx solid rgba(229, 229, 229, 1);
|
|
|
|
|
- font-size: 28rpx;
|
|
|
|
|
- line-height: 90rpx;
|
|
|
|
|
- /* color: rgba(179, 179, 179, 1); */
|
|
|
|
|
- }
|
|
|
|
|
- .proIMi{
|
|
|
|
|
- height: 315rpx;
|
|
|
|
|
- }
|
|
|
|
|
- /* 操作键 */
|
|
|
|
|
- .project{
|
|
|
|
|
- display: flex;
|
|
|
|
|
- margin: 61rpx 0 0 0;
|
|
|
|
|
- justify-content: space-evenly;
|
|
|
|
|
- }
|
|
|
|
|
- .butt{
|
|
|
|
|
- width: 330rpx;
|
|
|
|
|
- height: 90rpx;
|
|
|
|
|
- border-radius: 117rpx;
|
|
|
|
|
- font-size: 32rpx;
|
|
|
|
|
- line-height: 90rpx;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- }
|
|
|
|
|
- .quxiao{
|
|
|
|
|
- border: 1rpx solid rgba(0, 97, 255, 1);
|
|
|
|
|
- color: rgba(0, 97, 255, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .queren{
|
|
|
|
|
- background: rgba(0, 97, 255, 1);
|
|
|
|
|
- color: rgba(255, 255, 255, 1);
|
|
|
|
|
- }
|
|
|
|
|
- /* 任务负责人弹出框 */
|
|
|
|
|
- .popup-content{
|
|
|
|
|
- height: 452px;
|
|
|
|
|
- overflow-x: hidden;
|
|
|
|
|
- .scroll_view_style{
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .popup-title{
|
|
|
|
|
- display: flex;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 104rpx;
|
|
|
|
|
- font-size: 32rpx;
|
|
|
|
|
- line-height: 104rpx;
|
|
|
|
|
- justify-content: space-around;
|
|
|
|
|
- color: rgba(0, 0, 0, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .l-line{
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- border: 1rpx solid rgba(230, 230, 230, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .l-kuang{
|
|
|
|
|
- margin: 40rpx 0 0 20rpx;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- }
|
|
|
|
|
- .l-circle{
|
|
|
|
|
- width: 80rpx;
|
|
|
|
|
- height: 80rpx;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- background-color:rgba(204, 204, 204, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .l-label1{
|
|
|
|
|
- width: 50rpx;
|
|
|
|
|
- height: 50rpx;
|
|
|
|
|
- opacity: 1;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- background-color: rgba(0, 97, 255, 1);
|
|
|
|
|
- }
|
|
|
|
|
- .l-label{
|
|
|
|
|
- /* margin-left: 404rpx; */
|
|
|
|
|
- /* width: 50rpx;
|
|
|
|
|
- height: 50rpx;
|
|
|
|
|
- opacity: 1;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- border: 1rpx solid rgba(166, 166, 166, 1); */
|
|
|
|
|
|
|
+<style>
|
|
|
|
|
+ .content {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .param{
|
|
|
|
|
+ margin: 20rpx 0 0 0;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ background-color: rgba(255, 255, 255, 1);
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 41rpx;
|
|
|
|
|
+ color: rgba(0, 0, 0, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .proMiao{
|
|
|
|
|
+ margin: 31rpx 0 0 20rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* 上传附件 */
|
|
|
|
|
+ .upload-img{
|
|
|
|
|
+ /* margin: 25rpx 0 0 21rpx;
|
|
|
|
|
+ width: 200rpx;
|
|
|
|
|
+ height: 80rpx;
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ border-radius: 13rpx;
|
|
|
|
|
+ background: rgba(0, 97, 255, 0.1);
|
|
|
|
|
+
|
|
|
|
|
+ border: 1rpx solid rgba(0, 97, 255, 1); */
|
|
|
|
|
+ }
|
|
|
|
|
+ .proINname{
|
|
|
|
|
+ margin: 25rpx 0 0 21rpx;
|
|
|
|
|
+ width: 709rpx;
|
|
|
|
|
+ height: 90rpx;
|
|
|
|
|
+ border-radius: 13rpx;
|
|
|
|
|
+ background: rgba(245, 248, 252, 1);
|
|
|
|
|
+ border: 1rpx solid rgba(229, 229, 229, 1);
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ line-height: 90rpx;
|
|
|
|
|
+ /* color: rgba(179, 179, 179, 1); */
|
|
|
|
|
+ }
|
|
|
|
|
+ .proIMi{
|
|
|
|
|
+ height: 315rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* 操作键 */
|
|
|
|
|
+ .project{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ margin: 61rpx 0 0 0;
|
|
|
|
|
+ justify-content: space-evenly;
|
|
|
|
|
+ }
|
|
|
|
|
+ .butt{
|
|
|
|
|
+ width: 330rpx;
|
|
|
|
|
+ height: 90rpx;
|
|
|
|
|
+ border-radius: 117rpx;
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ line-height: 90rpx;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .quxiao{
|
|
|
|
|
+ border: 1rpx solid rgba(0, 97, 255, 1);
|
|
|
|
|
+ color: rgba(0, 97, 255, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .queren{
|
|
|
|
|
+ background: rgba(0, 97, 255, 1);
|
|
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ /* 任务负责人弹出框 */
|
|
|
|
|
+ .popup-content{
|
|
|
|
|
+ height: 452px;
|
|
|
|
|
+ overflow-x: hidden;
|
|
|
|
|
+ .scroll_view_style{
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .popup-title{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 104rpx;
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ line-height: 104rpx;
|
|
|
|
|
+ justify-content: space-around;
|
|
|
|
|
+ color: rgba(0, 0, 0, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .l-line{
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ border: 1rpx solid rgba(230, 230, 230, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .l-kuang{
|
|
|
|
|
+ margin: 40rpx 0 0 20rpx;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ }
|
|
|
|
|
+ .l-circle{
|
|
|
|
|
+ width: 80rpx;
|
|
|
|
|
+ height: 80rpx;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background-color:rgba(204, 204, 204, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .l-label1{
|
|
|
|
|
+ width: 50rpx;
|
|
|
|
|
+ height: 50rpx;
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background-color: rgba(0, 97, 255, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ .l-label{
|
|
|
|
|
+ /* margin-left: 404rpx; */
|
|
|
|
|
+ /* width: 50rpx;
|
|
|
|
|
+ height: 50rpx;
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ border: 1rpx solid rgba(166, 166, 166, 1); */
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|