|
@@ -10,16 +10,25 @@
|
|
|
@click="showpf = true"
|
|
|
>派 发</el-button
|
|
|
>
|
|
|
- <el-button type="primary" v-if="taskinfo.status == 2" @click="showbh=true"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="taskinfo.status == 2"
|
|
|
+ @click="showbh = true"
|
|
|
>驳 回</el-button
|
|
|
>
|
|
|
- <el-button type="primary" v-if="taskinfo.status == 2"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="taskinfo.status == 2"
|
|
|
+ @click="showcz = true"
|
|
|
>处 置</el-button
|
|
|
>
|
|
|
- <el-button type="primary" v-if="taskinfo.status == 3"
|
|
|
+ <el-button type="primary" v-if="taskinfo.status == 3 || taskinfo.status == 5" @click="showsh = true"
|
|
|
>审 核</el-button
|
|
|
>
|
|
|
- <el-button type="primary" v-if="taskinfo.status == 5"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="taskinfo.status == 3"
|
|
|
+ @click="showgz = true"
|
|
|
>跟 踪</el-button
|
|
|
>
|
|
|
<el-button
|
|
@@ -182,47 +191,57 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12"
|
|
|
>原因备注:{{
|
|
|
- JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 4
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- )
|
|
|
- .resonRemark
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 4)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).resonRemark
|
|
|
}}</el-col
|
|
|
>
|
|
|
|
|
|
- <el-col :span="12">驳回时间:{{ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 4)[0]
|
|
|
- .createTime }}</el-col>
|
|
|
+ <el-col :span="12"
|
|
|
+ >驳回时间:{{
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 4)[0]
|
|
|
+ .createTime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
<el-col :span="12">照片:</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <div style="position:relative">
|
|
|
- 说明报告:
|
|
|
- <div style="position:absolute;top:0;left:60px;width:100%">
|
|
|
- <div style="margin-bottom:10px;color:#4f9eee;display:inline-block;margin-left:10px" v-for="i in (JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 4
|
|
|
- )[0].logDes ?? '{}'
|
|
|
- ).files?.split(',') ??[])"><a target="_blank" :href="`${STATICURL+i}`" >
|
|
|
-
|
|
|
- {{i.split('/')[i.split('/').length-1]}}
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
+ <div style="position: relative">
|
|
|
+ 说明报告:
|
|
|
+ <div
|
|
|
+ style="position: absolute; top: 0; left: 60px; width: 100%"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ margin-bottom: 10px;
|
|
|
+ color: #4f9eee;
|
|
|
+ display: inline-block;
|
|
|
+ margin-left: 10px;
|
|
|
+ "
|
|
|
+ v-for="i in JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 4
|
|
|
+ )[0].logDes ?? '{}'
|
|
|
+ ).files?.split(',') ?? []"
|
|
|
+ >
|
|
|
+ <a target="_blank" :href="`${STATICURL + i}`">
|
|
|
+ {{ i.split("/")[i.split("/").length - 1] }}
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
- </el-col>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
<ImagePreview
|
|
|
v-model:src="
|
|
|
- JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 4
|
|
|
- )[0].logDes ?? '{}'
|
|
|
- ).images"
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 4
|
|
|
+ )[0].logDes ?? '{}'
|
|
|
+ ).images
|
|
|
+ "
|
|
|
:height="'120px'"
|
|
|
:width="'120px'"
|
|
|
></ImagePreview>
|
|
@@ -231,40 +250,47 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="card" v-if="taskinfo.status > 5">
|
|
|
+ <div class="card" v-if="taskinfo.status >= 5">
|
|
|
<div class="title">跟踪信息</div>
|
|
|
<div class="body">
|
|
|
<el-row>
|
|
|
<el-col :span="6"
|
|
|
>是否及时完成:{{
|
|
|
- task_type.filter((i) => i.value === taskinfo.taskType)[0]
|
|
|
- ?.label ?? "-"
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 5
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).isfinsh
|
|
|
}}</el-col
|
|
|
>
|
|
|
<el-col :span="6"
|
|
|
>回访情况:{{
|
|
|
- (taskinfo.taskDeptRange ?? "")
|
|
|
- .split(",")
|
|
|
- .map((i) => {
|
|
|
- return (
|
|
|
- alldept.find((p) => {
|
|
|
- return p.deptId + "" === i + "";
|
|
|
- })?.deptName ?? "-"
|
|
|
- );
|
|
|
- })
|
|
|
- .join(",")
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 5
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).hfdes
|
|
|
}}</el-col
|
|
|
>
|
|
|
- <el-col :span="6">处置完成日期:{{ taskinfo.taskTime }}</el-col>
|
|
|
- <el-col :span="6">记录人:{{ taskinfo.taskFacilitieCode }}</el-col>
|
|
|
+ <el-col :span="6">处置完成日期:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 5
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).czcompletetime }}</el-col>
|
|
|
+ <el-col :span="6">记录人:{{ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 5
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).jlr }}</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="card" v-if="taskinfo.status > 4">
|
|
|
+ <div class="card" v-if="taskinfo.status > 2 && taskinfo.status != 4">
|
|
|
<div class="title">处置信息</div>
|
|
|
<div class="body">
|
|
|
- <div v-for="(item, index1) in processdata">
|
|
|
+ <!-- <div v-for="(item, index1) in processdata">
|
|
|
<div
|
|
|
class="titleheader"
|
|
|
:style="`${index1 == 0 ? 'margin-top:0px' : ''}`"
|
|
@@ -276,6 +302,72 @@
|
|
|
<el-col :span="6" v-for="p in item.content">{{ p }}</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
+ </div> -->
|
|
|
+ <div class="titleheader" :style="`${'margin-top:0px'}`">
|
|
|
+ {{ "权属确认" }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6"
|
|
|
+ >{{
|
|
|
+ "现场勘查" +
|
|
|
+ ":" +
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 3
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).qsdes
|
|
|
+ }}
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="titleheader">
|
|
|
+ {{ "工作量" }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-row>
|
|
|
+ <el-col
|
|
|
+ :span="6"
|
|
|
+ v-for="(item, index1) in JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 3)[0]
|
|
|
+ .logDes ?? '{}'
|
|
|
+ ).gzldata"
|
|
|
+ >{{ item.label + ":" + item.value }}
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="titleheader" :style="`${'margin-top:0px'}`">
|
|
|
+ {{ "车辆设备" }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-row>
|
|
|
+ <el-col
|
|
|
+ :span="6"
|
|
|
+ v-for="(item, index1) in JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 3)[0]
|
|
|
+ .logDes ?? '{}'
|
|
|
+ ).clsbdata"
|
|
|
+ >{{ item.label + ":" + item.value }}
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="titleheader" :style="`${'margin-top:0px'}`">
|
|
|
+ {{ "耗材" }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-row>
|
|
|
+ <el-col
|
|
|
+ :span="6"
|
|
|
+ v-for="(item, index1) in JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 3)[0]
|
|
|
+ .logDes ?? '{}'
|
|
|
+ ).hcdata"
|
|
|
+ >{{ item.label + ":" + item.value }}
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
@@ -283,7 +375,13 @@
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
<ImagePreview
|
|
|
- v-model:src="taskinfo.taskPics"
|
|
|
+ v-model:src="
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 3
|
|
|
+ )[0].logDes ?? '{}'
|
|
|
+ ).images
|
|
|
+ "
|
|
|
:height="'120px'"
|
|
|
:width="'120px'"
|
|
|
></ImagePreview>
|
|
@@ -299,14 +397,25 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12"
|
|
|
>核查人员:{{
|
|
|
- task_type.filter((i) => i.value === taskinfo.taskType)[0]
|
|
|
- ?.label ?? "-"
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 6
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).hcry
|
|
|
}}</el-col
|
|
|
>
|
|
|
|
|
|
- <el-col :span="12">核查时间:{{ taskinfo.taskTime }}</el-col>
|
|
|
+ <el-col :span="12">核查时间:{{ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 6
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).hctime }}</el-col>
|
|
|
<el-col :span="24"
|
|
|
- >核查备注:{{ taskinfo.taskFacilitieCode }}</el-col
|
|
|
+ >核查备注:{{ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === 6
|
|
|
+ )[0].logDes ?? "{}"
|
|
|
+ ).hcdes }}</el-col
|
|
|
>
|
|
|
</el-row>
|
|
|
</div>
|
|
@@ -360,11 +469,11 @@
|
|
|
placeholder="请输入驳回原因"
|
|
|
/></el-form-item>
|
|
|
<el-form-item label="现场照片">
|
|
|
- <ImageUpload v-model="bhobj.images"></ImageUpload>
|
|
|
+ <ImageUpload v-model="bhobj.images"></ImageUpload>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="说明报告">
|
|
|
- <FileUpload v-model="bhobj.files" :fileSize="100"></FileUpload>
|
|
|
+ <FileUpload v-model="bhobj.files" :fileSize="100"></FileUpload>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -375,6 +484,240 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog v-model="showgz" title="任务跟踪" draggable>
|
|
|
+ <div>
|
|
|
+ <el-form :model="gzobj" label-width="120px">
|
|
|
+ <el-form-item label="是否及时完成">
|
|
|
+ <el-select v-model="gzobj.isfinsh" placeholder="请选择">
|
|
|
+ <el-option label="是" value="是"></el-option>
|
|
|
+ <el-option label="否" value="否"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="回访情况"
|
|
|
+ ><el-input
|
|
|
+ v-model="gzobj.hfdes"
|
|
|
+ :rows="2"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入回访情况"
|
|
|
+ /></el-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <el-form-item label="处置完成日期">
|
|
|
+ <el-date-picker v-model="gzobj.czcompletetime" type="date" placeholder="请选择" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="记录人">
|
|
|
+ <el-input v-model="gzobj.jlr" placeholder="请输入记录人"></el-input>
|
|
|
+
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="showgz = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="TaskGZ">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog v-model="showsh" title="任务审核" draggable>
|
|
|
+ <div>
|
|
|
+ <el-form :model="shobj" label-width="120px">
|
|
|
+ <el-form-item label="审核人员">
|
|
|
+ <el-input v-model="shobj.hcry" placeholder="请输入核查人员"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="核查备注"
|
|
|
+ ><el-input
|
|
|
+ v-model="shobj.hcdes"
|
|
|
+ :rows="2"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入核查备注"
|
|
|
+ /></el-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <el-form-item label="核查时间">
|
|
|
+ <el-date-picker v-model="shobj.hctime" type="datetime" placeholder="请选择" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="showsh = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="TaskSH">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog v-model="showcz" title="任务处置" draggable>
|
|
|
+ <div>
|
|
|
+ <el-form :model="czobj" label-width="150px">
|
|
|
+ <el-form-item label="权属确认(现场勘查)">
|
|
|
+ <el-input
|
|
|
+ v-model="czobj.qsdes"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入勘查信息"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ style="position: absolute; top: 0; right: 0; z-index: 10"
|
|
|
+ @click="addnewitem"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ <el-tabs v-model="cztblaname" class="demo-tabs">
|
|
|
+ <el-tab-pane label="工作量" name="gzl">
|
|
|
+ <el-table :data="czobj.gzldata">
|
|
|
+ <el-table-column label="名称">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.label" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in task_work"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="内容" prop="value">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.value"
|
|
|
+ placeholder="请输入"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定删除吗?"
|
|
|
+ @confirm="
|
|
|
+ () => {
|
|
|
+ czobj.gzldata?.splice(
|
|
|
+ czobj.gzldata.findIndex(
|
|
|
+ (i) => i.index == scope.row.index
|
|
|
+ ),
|
|
|
+ 1
|
|
|
+ );
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button type="text" size="small"> 删除 </el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="车辆设备" name="clsb">
|
|
|
+ <el-table :data="czobj.clsbdata">
|
|
|
+ <el-table-column label="名称" prop="label">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.label" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in task_car"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="内容" prop="value">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.value"
|
|
|
+ placeholder="请输入"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定删除吗?"
|
|
|
+ @confirm="
|
|
|
+ () => {
|
|
|
+ czobj.clsbdata?.splice(
|
|
|
+ czobj.clsbdata.findIndex(
|
|
|
+ (i) => i.index == scope.row.index
|
|
|
+ ),
|
|
|
+ 1
|
|
|
+ );
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button type="text" size="small"> 删除 </el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="耗材" name="hc">
|
|
|
+ <el-table :data="czobj.hcdata">
|
|
|
+ <el-table-column label="名称" prop="label">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.label" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in task_consumables"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="内容" prop="value">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.value"
|
|
|
+ placeholder="请输入"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定删除吗?"
|
|
|
+ @confirm="
|
|
|
+ () => {
|
|
|
+ czobj.hcdata?.splice(
|
|
|
+ czobj.hcdata.findIndex(
|
|
|
+ (i) => i.index == scope.row.index
|
|
|
+ ),
|
|
|
+ 1
|
|
|
+ );
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button type="text" size="small"> 删除 </el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table></el-tab-pane
|
|
|
+ >
|
|
|
+ </el-tabs>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="现场照片">
|
|
|
+ <ImageUpload v-model="czobj.images"></ImageUpload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="showcz = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="TaskComplete">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -394,7 +737,10 @@ import {
|
|
|
addTask,
|
|
|
updateTask,
|
|
|
distributedTask,
|
|
|
- closeTask
|
|
|
+ closeTask,
|
|
|
+ czTask,
|
|
|
+ gzTask,
|
|
|
+ hcTask
|
|
|
} from "@/api/system/task";
|
|
|
import {
|
|
|
changeUserStatus,
|
|
@@ -407,24 +753,98 @@ import {
|
|
|
} from "@/api/system/user";
|
|
|
import { treeselect as deptTreeselect } from "@/api/system/dept";
|
|
|
import { ElMessage } from "element-plus";
|
|
|
-import ImageUpload from "@/components/ImageUpload"
|
|
|
-import FileUpload from "@/components/FileUpload"
|
|
|
+import ImageUpload from "@/components/ImageUpload";
|
|
|
+import FileUpload from "@/components/FileUpload";
|
|
|
+import moment from "moment";
|
|
|
|
|
|
-const STATICURL= import.meta.env.VITE_APP_BASE_API;
|
|
|
+const STATICURL = import.meta.env.VITE_APP_BASE_API;
|
|
|
|
|
|
-const { task_status, task_type, task_event_type, task_event_category } =
|
|
|
- useDict("task_status", "task_type", "task_event_type", "task_event_category");
|
|
|
+const {
|
|
|
+ task_status,
|
|
|
+ task_type,
|
|
|
+ task_event_type,
|
|
|
+ task_event_category,
|
|
|
+ task_work,
|
|
|
+ task_car,
|
|
|
+ task_consumables,
|
|
|
+} = useDict(
|
|
|
+ "task_status",
|
|
|
+ "task_type",
|
|
|
+ "task_event_type",
|
|
|
+ "task_event_category",
|
|
|
+ "task_work",
|
|
|
+ "task_car",
|
|
|
+ "task_consumables"
|
|
|
+);
|
|
|
|
|
|
const route = useRoute();
|
|
|
const showpf = ref(false);
|
|
|
const showbh = ref(false);
|
|
|
+const showcz = ref(false);
|
|
|
+const showgz = ref(false);
|
|
|
+const showsh = ref(false);
|
|
|
const pdobj = ref({ fzbz: [], fzr: "" });
|
|
|
-const bhobj = ref({ resonRemark: [], files: "" ,images:[]});
|
|
|
+const bhobj = ref({ resonRemark: [], files: "", images: [] });
|
|
|
+const czobj = ref({
|
|
|
+ qsdes: "",
|
|
|
+ images: [],
|
|
|
+ gzldata: [],
|
|
|
+ clsbdata: [],
|
|
|
+ hcdata: [],
|
|
|
+});
|
|
|
+const gzobj = ref({ isfinsh: '是', hfdes: "", czcompletetime: "", jlr: "" });
|
|
|
+const shobj = ref({ hcry: '', hcdes: "", hctime: "" });
|
|
|
+const cztblaname = ref("gzl");
|
|
|
|
|
|
if (!route.params.id || route.params.id == "undefined") {
|
|
|
router.back();
|
|
|
}
|
|
|
|
|
|
+const TaskComplete = () => {
|
|
|
+ czTask({
|
|
|
+ taskId: route.params.id,
|
|
|
+ logDes: JSON.stringify(czobj.value),
|
|
|
+ }).then((res) => {
|
|
|
+ showcz.value = false;
|
|
|
+ ElMessage.success("成功!");
|
|
|
+ getTask(Number(route.params.id)).then((res) => {
|
|
|
+ taskinfo.value = res.data;
|
|
|
+ });
|
|
|
+ });
|
|
|
+};
|
|
|
+const TaskGZ = () => {
|
|
|
+ var gz = cloneDeep(gzobj.value);
|
|
|
+ if (gz.czcompletetime) {
|
|
|
+ gz.czcompletetime = moment(gz.czcompletetime).format("YYYY-MM-DD")
|
|
|
+ }
|
|
|
+ gzTask({
|
|
|
+ taskId: route.params.id,
|
|
|
+ logDes: JSON.stringify(gz),
|
|
|
+ }).then((res) => {
|
|
|
+ showgz.value = false;
|
|
|
+ ElMessage.success("成功!");
|
|
|
+ getTask(Number(route.params.id)).then((res) => {
|
|
|
+ taskinfo.value = res.data;
|
|
|
+ });
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
+const TaskSH = () => {
|
|
|
+ var gz = cloneDeep(shobj.value);
|
|
|
+ if (gz.hctime ) {
|
|
|
+ gz.hctime = moment(gz.hctime).format("YYYY-MM-DD HH:mm:ss")
|
|
|
+ }
|
|
|
+ hcTask({
|
|
|
+ taskId: route.params.id,
|
|
|
+ logDes: JSON.stringify(gz),
|
|
|
+ }).then((res) => {
|
|
|
+ showsh.value = false;
|
|
|
+ ElMessage.success("成功!");
|
|
|
+ getTask(Number(route.params.id)).then((res) => {
|
|
|
+ taskinfo.value = res.data;
|
|
|
+ });
|
|
|
+ });
|
|
|
+};
|
|
|
const TaskClose = () => {
|
|
|
closeTask({
|
|
|
taskId: route.params.id,
|
|
@@ -433,10 +853,33 @@ const TaskClose = () => {
|
|
|
showbh.value = false;
|
|
|
ElMessage.success("成功!");
|
|
|
getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ taskinfo.value = res.data;
|
|
|
+ });
|
|
|
});
|
|
|
};
|
|
|
+const addnewitem = () => {
|
|
|
+ if (cztblaname.value === "gzl") {
|
|
|
+ czobj.value.gzldata.push({
|
|
|
+ index: czobj.value.gzldata.length,
|
|
|
+ label: "",
|
|
|
+ value: "",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (cztblaname.value === "clsb") {
|
|
|
+ czobj.value.clsbdata.push({
|
|
|
+ index: czobj.value.clsbdata.length,
|
|
|
+ label: "",
|
|
|
+ value: "",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (cztblaname.value === "hc") {
|
|
|
+ czobj.value.hcdata.push({
|
|
|
+ index: czobj.value.hcdata.length,
|
|
|
+ label: "",
|
|
|
+ value: "",
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
const Taskdistributed = () => {
|
|
|
distributedTask({
|
|
|
taskId: route.params.id,
|
|
@@ -445,8 +888,8 @@ const Taskdistributed = () => {
|
|
|
showpf.value = false;
|
|
|
ElMessage.success("派发成功!");
|
|
|
getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ taskinfo.value = res.data;
|
|
|
+ });
|
|
|
});
|
|
|
};
|
|
|
// console.error(route.params.id)
|
|
@@ -558,8 +1001,7 @@ const processdata = ref([
|
|
|
|
|
|
const taskinfo = ref({
|
|
|
taskName: "",
|
|
|
- taskContent:
|
|
|
- "",
|
|
|
+ taskContent: "",
|
|
|
taskAddr: "-",
|
|
|
taskLocation: "-",
|
|
|
taskCode: "-",
|
|
@@ -574,8 +1016,7 @@ const taskinfo = ref({
|
|
|
status: 1,
|
|
|
taskCreater: "-",
|
|
|
taskReporter: "-",
|
|
|
- taskPics:
|
|
|
- "",
|
|
|
+ taskPics: "",
|
|
|
remark: "sss",
|
|
|
taskVideos: "-",
|
|
|
taskComplainConnect: "-",
|
|
@@ -592,6 +1033,9 @@ onMounted(() => {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
+.demo-tabs {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
.taskdetail {
|
|
|
background: #fff;
|
|
|
padding: 30px 22px;
|
|
@@ -599,6 +1043,7 @@ onMounted(() => {
|
|
|
overflow-y: auto;
|
|
|
padding-top: 20px;
|
|
|
position: relative;
|
|
|
+
|
|
|
.el-select {
|
|
|
width: 100%;
|
|
|
}
|