Browse Source

no message

USER-20230908AJ\Administrator 1 năm trước cách đây
mục cha
commit
3e606b8e8d

+ 1 - 0
components/en-utils/en-button/en-button.vue

@@ -71,6 +71,7 @@
 		},
 		methods: {
 			onSubmit() {
+        console.log('----------------------')
 				this.$emit('onSubmit')
 			},
 			onLeftSubmit() {

+ 4 - 1
page_task/task_details/task_details.vue

@@ -76,7 +76,7 @@
 
     </view>
 <!--		<EnButton :text="'冲销'" v-if="current === 1"></EnButton>-->
-		<EnButton is_both :leftText="'交接'" :rightText="'操作'"  @onSubmit="setTaskOperate(1)" @onLeftSubmit="openExecute"></EnButton>
+<!--		<EnButton is_both :leftText="'交接'" :rightText="'操作'"  @onSubmit="setTaskOperate(1)" @onLeftSubmit="openExecute"></EnButton>-->
     <uni-popup ref="executePopup" type="bottom">
       <EnSelect title="请选择任务接收人"  :local-data="executeData" ref="system" v-model="executeId" @setAffirm="setNewExecute"></EnSelect>
     </uni-popup>
@@ -178,6 +178,9 @@
 			if (data.taskId !== undefined) {
 				this.businessId = data.taskId
 				this.getTaskDetail()
+        uni.$on('newTaskList',()=>{
+          this.getTaskDetail()
+        })
 			} else {
 				tools.leftClick()
 			}

+ 273 - 20
page_task/task_operate/task_operate.vue

@@ -1,47 +1,66 @@
 <template>
 	<view class="total-page page-box">
-		<Nav :title="is_handle?'任务操作':'任务冲销'" :genre="1" :opacity="scrollTop" is_fixed :bgHeight="bgHeight"></Nav>
+		<Nav :title="title" :genre="1" :opacity="scrollTop" is_fixed :bgHeight="bgHeight"></Nav>
 		<view class="operate_body page-env-160" :style="{top:`${$tools.topHeight()}px`}">
 			<view class="sys-background-fff m-lr30 m-t30 m-b20 p-lr30 r-20">
 				<view class="" v-if="is_handle">
 					<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
 						<view class="wh-text"><text></text>下一阶段处理</view>
-						<view class="row-c flex">
-							<input class="wh-input sys-size-28 text-color-12 m-l20 flex"
-								placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请选择"
-								v-model="inputValue"></input>
+						<view class="row-c flex"  @click="openPopupObj(1)">
+<!--							<input class="wh-input sys-size-28 text-color-12 m-l20 flex"-->
+<!--								placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请选择"-->
+<!--								v-model="inputValue"></input>-->
+              {{stageData.stageName?stageData.stageName:'请选择任务阶段'}}
 						</view>
 						<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
 					</view>
-					<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
+					<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28"  v-if="selectType<2">
 						<view class="wh-text"><text></text>下一执行人员</view>
-						<view class="row-c flex">
-							<input class="wh-input sys-size-28 text-color-12 m-l20 flex"
-								placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请选择"
-								v-model="inputValue"></input>
+						<view class="row-c flex" @click="openPopupObj(2)">
+<!--							<input class="wh-input sys-size-28 text-color-12 m-l20 flex"-->
+<!--								placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请选择"-->
+<!--								v-model="inputValue"></input>-->
+              {{stageData.userName?stageData.userName:'请选择执行人员'}}
 						</view>
 						<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
 					</view>
-					<WhInput :name="'回款姓名'"></WhInput>
-					<WhInput :name="'回款银行'" :is_border="false" is_select disabled>
-					</WhInput>
-				</view>
-				<view class="" v-else>
-					<WhInput :name="'冲销类型'" :is_border="false" is_select disabled></WhInput>
+          <WhInput :name="'回款金额'"  v-if="stageData.operate_ids.indexOf('2')>-1" v-model="businessData.returned_total"  type="digit" placeholder="请输入回款金额" ></WhInput>
+          <WhInput :name="'出款金额'"  v-if="stageData.operate_ids.indexOf('1')>-1" v-model="businessData.out_total"  type="digit" placeholder="请输入出款金额" ></WhInput>
+          <WhInput :name="'银行出款'"  v-if="stageData.operate_ids.indexOf('4')>-1" v-model="businessData.bank_total"  type="digit" placeholder="请输入银行出款" ></WhInput>
+          <view  v-if="stageData.operate_ids.indexOf('3')>-1">
+            <WhInput :name="'回款姓名'"   v-model="businessData.returned_name"  type="text" placeholder="请输入回款人姓名" ></WhInput>
+<!--            此处应该是select-->
+            <WhInput :name="'银行出款'"  v-model="businessData.returned_bank_id"  :localData="bankData" placeholder="请选择还款银行" ></WhInput>
+          </view>
+
 				</view>
+<!--				<view class="" v-else>-->
+<!--					<WhInput :name="'冲销类型'" :is_border="false" is_select disabled></WhInput>-->
+<!--				</view>-->
 			</view>
 			<view class="sys-background-fff m-lr30 r-20">
-				<SendChat></SendChat>
+				<SendChat  v-model="msgData"></SendChat>
 			</view>
 		</view>
-		<EnButton></EnButton>
+    <view v-show="showExecute">
+      <uni-data-picker class="" :popup-title="popupTitle" :localdata="popupData" ref="popupObj" @change="setNewExecute"
+                       :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
+      </uni-data-picker>
+    </view>
+		<EnButton text="提交" @onSubmit="submit"></EnButton>
 	</view>
 </template>
 
 <script>
 	import WhInput from "@/page_task/module/wh-input.vue"
 	import SendChat from "@/page_task/task_details/module/send_chat.vue"
-
+  import tools from "@/service/tools";
+  import {
+    auditTask, getReturnedBankList,
+    getTaskStage,
+    setExecuteTask, setStageOperate
+  } from "@/api/task";
+  import {getStageUser} from "@/api/task";
 	export default {
 		components: {
 			WhInput,
@@ -51,13 +70,247 @@
 			return {
 				bgHeight: 110,
 				scrollTop: 0,
-				is_handle: true
+				is_handle: true,
+        title:'任务反馈',
+        businessId:'',
+        type:'',
+        stageData: {
+          operate_ids:[]
+        },
+        businessData: {
+          'id': '',
+          'manage_id': '',
+          'stage_id': '',
+          'audit_type': '',
+          'msg': '',
+          'msg_img': [],
+          'file_list': [],
+          'returned_total':'',
+          'out_total':'',
+          'bank_total':'',
+          'returned_name':'',
+          'returned_bank_id':'',
+        },
+        msgData:{
+          'msg': '',
+          'msg_img': [],
+          'file_list': [],
+        },
+        users: [],
+        stageList: [],
+        isAudit: false,
+        showExecute: false,
+        popupData: [],
+        popupType: 1,
+        auditType: 0,
+        popupTitle: '',
+        previewList: [],
+        current: 0,
+        selectType: 1,
+        //新增阶段操作数据
+        operateType:1,
+        stageId:0,
+        operateArr:[],
+        operateData:{
+          'returned_total':'',
+          'out_total':'',
+          'returned_bank':'',
+          'returned_bank_id':'',
+        },
+        bankData:[]
 			}
 		},
+    watch:{
+      'msgData':{
+        handler() {
+          this.businessData.msg=this.msgData.msg
+          this.businessData.msg_img=this.msgData.msg_img
+          this.businessData.file_list=this.msgData.file_list
+        },
+        deep: true
+      }
+    },
+    onLoad(ret) {
+      if(ret.businessId===undefined){
+        tools.leftClick()
+      }else {
+        this.businessId=ret.businessId
+        this.type=ret.type
+        if(this.type==='1'){
+          this.type='任务反馈'
+        }else if(this.type==='2'){
+          this.type='任务审核'
+        }else {
+          this.type='任务冲销'
+        }
+        this.getTaskStage();
+      }
+    },
 		onPageScroll(res) {
 			this.scrollTop = res.scrollTop / 120
 		},
 		methods: {
+      openPopupObj(type) {
+        this.popupType = type;
+        if (type === 1) {
+          if (this.selectType > 2) {
+            tools.error('此阶段不能修')
+            return false;
+          }
+          this.popupTitle = '请选择执行阶段'
+          this.popupData = this.stageList
+        } else {
+          if (this.selectType > 1) {
+            tools.error('此阶段不能修改')
+            return false;
+          }
+          this.popupTitle = '请选择执行人'
+          this.popupData = this.users
+        }
+        this.showExecute = true;
+        this.$refs.popupObj.show();
+      },
+      setPopupClosed() {
+        //关闭选择器
+        this.showExecute = false;
+      },
+      submitOperate(){
+        this.operateData.businessId=this.businessData.id
+        this.operateData.stageId=this.stageId
+        setStageOperate(this.operateData).then((res)=>{
+          if(res.code===1){
+            this.operateData={
+              'returned_total':'',
+              'out_total':'',
+            }
+            this.operateType=1
+            tools.success(res.msg)
+            this.$emit('endTaskSet')
+          }else {
+            tools.error(res.msg)
+          }
+        })
+      },
+      setNewExecute(e) {
+        //设置新执行人
+        let newData = e.detail.value[0]
+        this.showExecute = false;
+        if (this.popupType === 1) {
+          this.businessData.stage_id = newData.value
+          this.stageData.stageName = newData.text
+          this.getStageUser(this.businessData.stage_id)
+          this.stageList.forEach((stage) => {
+            if (stage.value === newData.value) {
+              if (stage.type !== 2  ) {
+                this.selectType = 2
+              }else {
+                this.selectType = 1
+              }
+            }
+          })
+        } else {
+          this.businessData.manage_id = newData.value
+          this.stageData.userName = newData.text
+        }
+      },
+      getStageUser(stage_id){
+        getStageUser({'stage_id':stage_id}).then((res)=>{
+          if(res.code===1){
+            this.users=res.data
+            this.businessData.manage_id =  this.users[0].value
+            this.stageData.userName = this.users[0].text
+          }
+        })
+      },
+      submit() {
+        console.log('---------------------------------')
+        if (this.type==='2') {
+          this.auditTask()
+        } else {
+          this.setExecuteTask()
+        }
+      },
+      getTaskStage() {
+        getTaskStage({
+          'id': this.businessId
+        }).then((res) => {
+          if (res.code === 1) {
+            this.stageData = res.data.stageData;
+            console.log(this.stageData.operate_ids)
+            if(this.stageData.operate_ids.indexOf('3')>-1){
+              //获取回款银行信息
+              getReturnedBankList().then((bankRes)=>{
+                if(bankRes.code===1){
+                  this.bankData=bankRes.data
+                }
+              })
+            }
+            this.businessData.id = res.data.business.id;
+            this.businessData.manage_id = res.data.business.manage_id;
+            this.businessData.stage_id = res.data.business.stage_id;
+            this.stageId = res.data.business.stage_id;
+            this.users = res.data.users;
+            this.stageList = res.data.stageList;
+            let isNext=false
+            this.stageList.forEach((item)=>{
+              if(res.data.business.stage_id===item.value){
+                isNext=true
+              }else if(isNext){
+                this.businessData.stage_id=item.value
+                this.stageData.stageName=item.text
+                this.getStageUser(this.businessData.stage_id)
+                if (item.type > 2 ) {
+                  this.selectType = 2
+                }else {
+                  this.selectType = 1
+                }
+                isNext=false
+              }
+            })
+
+            if (this.stageData.operateNum > 1) {
+              this.selectType = 3;
+            }
+          } else {
+            tools.error('阶段信息异常')
+          }
+        })
+      },
+      auditTask() {
+
+        uni.showModal({
+          title: '提示',
+          content: this.businessData.audit_type === 1 ? '是否通过当前任务?' : '是否驳回当前任务?',
+          success: (res) => {
+            if (res.confirm) {
+              auditTask(this.businessData).then((auditRes) => {
+                if (auditRes.code === 1) {
+                  tools.success(auditRes.msg)
+                  this.$emit('endTaskSet')
+                  uni.$emit('newTaskList')
+                  console.log('newReceiving:---------------------')
+                } else {
+                  tools.error(auditRes.msg)
+                }
+              })
+            }
+          }
+        });
+      },
+      setExecuteTask() {
+        setExecuteTask(this.businessData).then((auditRes) => {
+          if (auditRes.code === 1) {
+            tools.success(auditRes.msg)
+            // this.$emit('endTaskSet')
+            uni.$emit('newTaskList')
+            setTimeout(()=>{
+              tools.leftClick()
+            },1000)
+          } else {
+            tools.error(auditRes.msg)
+          }
+        })
+      },
 			// 下拉刷新
 			onRefresh() {
 				uni.showLoading({