| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | <template>	<view class="container">		<page-title>问题跟踪录入</page-title>		<view class="cards-list">			<view class="card only-card">				<!-- 项目名称 -->				<view class="card-item first-card-item">					<view class="card-item-name">项目名称</view>					<view class="card-item-description">{{pageForm.subName || "--"}}</view>				</view>				<!-- 问题描述 -->				<view class="card-item">					<view class="card-item-name">问题描述</view>				</view>				<view class="card-item">					<u--textarea class="card-item-textarea" v-model="pageForm.problemContent" disabled></u--textarea>				</view>				<!-- 处理日期 -->				<view class="card-item">					<view class="card-item-name">处理日期</view>					<view class="card-item-description" @click="timeChooseOpen()">						<view v-if="pageForm.rpt_date">{{pageForm.rpt_date}}</view>						<view v-else class="remind-text">请选择日期</view>						<u-icon name="arrow-right" color="#343437" size="16" customStyle="margin:auto 0 auto 10rpx"></u-icon>					</view>				</view>				<!-- 处理人 -->				<view class="card-item">					<view class="card-item-name">处理人</view>					<input v-model="pageForm.name_hand" class="card-item-input" placeholder="请填写处理人姓名"						placeholder-style="color: #D8D8D8" maxlength="20" />				</view>				<!-- 处理情况描述 -->				<view class="card-item">					<view class="card-item-name">处理情况描述</view>				</view>				<view class="card-item">					<u--textarea class="card-item-textarea" v-model="pageForm.title"></u--textarea>				</view>			</view>			<view class="confirm-btn" @click="confirmParams()">保存</view>		</view>		<!-- 处理日期选择 -->		<u-datetime-picker :show="timeShow" @confirm="timeChooseClose" @cancel="timeChooseClose" @close="timeChooseClose"			v-model="rpt_date" mode="date" closeOnClickOverlay></u-datetime-picker>	</view></template><script setup>	import {		ref	} from "vue"	import {		onLoad,	} from "@dcloudio/uni-app"	import {		timeFormat	} from "@/utils/timeFormatter.js"	import {		getQuestionTraceById,		saveQuestionTrace	} from "@/api/work/questionInputAndTrace.js"	let pageForm = ref({		sub_id: null,		id: null,		subName: null,		problemContent: null,		rpt_date: null,		name_hand: null,		title: null	})	function getDetail(paramsData) {		getQuestionTraceById(paramsData).then(res => {			pageForm.value.sub_id = res.data.subId;			pageForm.value.id = res.data.id;			pageForm.value.subName = res.data.subName;			pageForm.value.problemContent = res.data.problemContent;		})	}	// ================== 时间选择	let rpt_date = ref(null);	let timeShow = ref(false);	function timeChooseOpen() {		timeShow.value = true;	}	function timeChooseClose(e) {		if (e) {			let time = timeFormat(e.value);			pageForm.value.rpt_date = time;		}		timeShow.value = false;	}	// 提交选择	function confirmParams() {		let params = {			name_hand: pageForm.value.name_hand,			rpt_date: pageForm.value.rpt_date ? pageForm.value.rpt_date.replaceAll("/", "-") : null,			sub_id: pageForm.value.sub_id,			sub_q_id: pageForm.value.id,			title: pageForm.value.title,		}		saveQuestionTrace(params).then(res => {			if (res.code === 200) {				uni.showToast({					title: "保存成功。",					icon: "success",					duration: 2000,				})			}		}).catch(err => {			uni.showToast({				title: "保存错误。",				icon: "error",				duration: 2000,			})		})	}	onLoad(options => {		let now = new Date()		rpt_date.value = timeFormat(now)		getDetail(options)	})</script><style lang="scss"></style>
 |